Spastic dysarthria with brocas aphasia pt speech therapy plan for 15 days
spastic dysarthria speech language therapy
Broca aphasia speech language therapy intervention
spastic dysarthria Broca aphasia speech therapy 15 day treatment plan SLP
| Disorder | Core Deficit | Speech Features |
|---|---|---|
| Spastic Dysarthria | Bilateral UMN/corticobulbar tract damage | Harsh "strain-strangle" voice, reduced rate, low pitch, consonant errors, hypertonic oral musculature |
| Broca's Aphasia | Left frontal (Broca's area + anterior insula) lesion | Non-fluent, effortful speech; agrammatism; telegraphic output; relatively preserved comprehension |
| Activity | Goal | Duration |
|---|---|---|
| Diaphragmatic breathing training | Consistent breath support for speech | 10 min |
| Sustained phonation /a/ (target 5-8 sec) | Phonatory control | 10 min |
| Vowel prolongation with pitch variation | Reduce monotone | 10 min |
| Auditory comprehension tasks (yes/no, single step) | Broca's - comprehension baseline | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Lip rounding/retraction (10x sets) | Labial ROM | 10 min |
| Tongue elevation, lateralization, protrusion (no resistance initially) | Lingual ROM | 10 min |
| Soft voice onset (Easy onset phonation) | Reduce laryngeal hyperadduction | 10 min |
| Supported word retrieval - confrontation naming with semantic cues | Broca's - lexical access | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Diadochokinesis: /puh/, /tuh/, /kuh/ separately | Assess & train articulatory speed | 10 min |
| Consonant-vowel syllable drills: bilabials (b, p, m) | Articulatory precision | 15 min |
| Slow, controlled reading aloud (single words) | Rate control | 10 min |
| Melodic Intonation Therapy (MIT) - introduction | Broca's - engage right hemisphere prosodic networks | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Breath group phrases (2-3 words per breath) | Link breath to speech output | 15 min |
| Voice loudness drills (LSVT LOUD principles) | Adequate vocal intensity | 15 min |
| Repetition tasks: high-frequency words | Broca's - phonological retrieval | 15 min |
| MIT Session 2 | Broca's fluency facilitation | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Minimal pairs drills (e.g., "bat/pat", "set/said") | Consonant differentiation | 15 min |
| Exaggerated articulation technique | Clear speech | 15 min |
| Picture-supported sentence completion | Broca's - agrammatic syntax | 15 min |
| Phonemic cueing practice | Word retrieval support | 10 min |
| Activity | Goal | Duration |
|---|---|---|
| Paced speech with metronome (60-80 bpm initially) | Reduce rate, reduce strain | 15 min |
| Contrastive stress drills (emphasizing different words) | Prosody - Broca's & dysarthria | 15 min |
| MIT Session 3 - familiar phrases | Broca's phrase production | 15 min |
| Semantic feature analysis (SFA) - naming therapy | Broca's word retrieval | 10 min |
| Activity | Goal | Duration |
|---|---|---|
| Easy onset + resonant voice therapy | Reduce strain-strangle quality | 15 min |
| Chant-talk technique | Rhythm-based speech facilitation | 10 min |
| Script training - patient-specific phrases ("I want...", "I need...") | Functional Broca's output | 15 min |
| Conversation practice with trained partner (family) | Generalization | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Two-word then three-word phrase production | Expand MLU | 15 min |
| Carrier phrases: "I want ___", "I see ___" | Broca's agrammatism bypass | 15 min |
| Clear speech in functional phrases (greetings, requests) | Intelligibility in context | 15 min |
| AAC introduction: gesture, picture board, or app | Multimodal communication | 10 min |
| Activity | Goal | Duration |
|---|---|---|
| Re-assess speech intelligibility and voice quality | Measure progress | 20 min |
| Re-assess language: naming, repetition, spontaneous | Revise goals if needed | 20 min |
| Recap best strategies so far with patient/family | Caregiver training | 15 min |
| Brief practice: MIT + rate control combined | Integration | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Structured dialogue with rate + loudness targets | Functional communication | 20 min |
| Role-play: ordering food, answering the phone | Real-world generalization | 15 min |
| MIT - transition to fade tapping (reduce scaffolding) | Internalize fluency strategies | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| Oral reading: sentences with controlled length | Articulation in context | 15 min |
| Supported reading comprehension + verbal response | Broca's integrative language | 15 min |
| Voice quality monitoring with biofeedback (if available) | Self-monitoring | 10 min |
| SFA - new target words from patient's daily life | Semantic network building | 15 min |
| Activity | Goal | Duration |
|---|---|---|
| AAC device/picture board - independent navigation | Functional independence | 20 min |
| Self-monitoring checklist: rate, loudness, tension | Self-cue strategies | 15 min |
| Caregiver training session: communication partner strategies | Supportive environment | 20 min |
| Activity | Goal | Duration |
|---|---|---|
| Final intensive articulation + phrase drills | Consolidation | 20 min |
| Customized home exercise program (written + video) | Post-discharge practice | 20 min |
| LSVT LOUD principles review for home (4x/week practice) | Sustained phonatory improvement | 10 min |
| Activity | Goal | Duration |
|---|---|---|
| Full reassessment: intelligibility, voice, language | Document outcomes | 30 min |
| Comparison with Day 1 baseline | Progress report | 15 min |
| Discharge goals, referrals (neurology, OT), and follow-up plan | Continuity of care | 15 min |
| Technique | Targets | Evidence Level |
|---|---|---|
| LSVT LOUD principles | Phonation, loudness, dysarthria | High - RCT-based |
| Melodic Intonation Therapy (MIT) | Broca's non-fluent aphasia | High - SR 2025 (PMID 40543062) |
| Easy onset phonation | Reduce laryngeal strain (spastic) | Moderate |
| Rate control / metronomic pacing | Intelligibility in dysarthria | Moderate |
| Semantic Feature Analysis (SFA) | Word retrieval in aphasia | Moderate-High |
| Script training | Functional phrase production | Moderate |
| AAC (multimodal) | Functional communication backup | Standard of care |
| Respiratory training | Breath support for speech | Standard |
| Contrastive stress drills | Prosody (both disorders) | Moderate |
| Minimal pairs | Articulatory precision | Moderate |
| Caregiver training | Generalization and maintenance | High (functional outcomes) |
according to this pt details generate the sessions for 15 days for spastic dysarthria and brocas aphasia
"post-stroke aphasia" AND "speech language therapy" AND intensive
aphasia speech therapy stroke recovery intensity
| Parameter | Details |
|---|---|
| Name | (Not disclosed) |
| Age / Sex | 61 years / Male |
| Date of onset | 17 May 2026 (waking onset) |
| Hospital | Medicover Hospitals, Maharashtra |
| Treating Neurologists | Dr. Pawan Ojha & Dr. Suranjana Basak |
| Neurointerventionist | Dr. Shashank Nagendra (DSA + intra-arterial thrombolysis) |
| NIHSS at admission | 5 |
| Admitting complaints | Acute slurring of speech, mouth deviation, right-sided weakness |
| Domain | Tool | Baseline Target |
|---|---|---|
| Speech intelligibility | % words understood by unfamiliar listener | Measure at word/sentence/conversation level |
| Voice quality | GRBAS scale (Grade, Rough, Breathy, Asthenic, Strained) | Strained-strangled expected |
| Oral motor function | Clinical oromotor assessment | Lip/tongue strength, ROM, diadochokinesis (puh-tuh-kuh) |
| Respiratory support | Maximum phonation time (MPT) | Expected <8 sec |
| Language (expressive) | WAB-R or BDAE short form | AQ score, fluency, naming |
| Language (comprehension) | Yes/No reliability, Token Test | Expected mostly intact |
| Functional communication | ASHA FACS | Pre-therapy functional baseline |
| Fatigue/alertness | Self-report + observation | ICU recovery patient - fatigue likely |
| Activity | Rationale | Reps/Duration |
|---|---|---|
| Sitting posture alignment (head neutral, trunk upright) | Optimizes airway and vocal tract posture for speech | 5 min |
| Progressive relaxation: jaw, neck, shoulders, soft jaw opening/closing | Reduce hypertonic oral musculature from spasticity | 10 min |
| Diaphragmatic breathing: hand on abdomen, observe belly rise | Foundation for all phonatory work | 10 reps x 3 sets |
| Activity | Rationale | Reps/Duration |
|---|---|---|
| Yes/No reliability check (personal history questions) | Confirm comprehension baseline, establish reliable communication | 20 questions |
| Gesture elicitation (wave, point, thumbs up) | Establish gestural channel before verbal | 10 min |
| Caregiver/family introduction + role explanation | Family as communication partner is critical | 10 min |
| Activity | Rationale | Reps/Duration |
|---|---|---|
| Diaphragmatic breathing - 3-second inhale, 5-second controlled exhale | Build exhalation control for sustained phonation | 10 reps x 3 |
| Sustained /a/ vowel - target 5 seconds, progress to 8 sec | Establish phonatory airstream; MPT baseline | 10 trials |
| Easy onset phonation (breathy initiation of /a/, /o/) | Reduce laryngeal hyperadduction causing strain-strangle quality | 5 min |
| Lip rounding and retraction (smile-pucker): 10x each | Labial ROM for /p/, /b/, /m/, /w/ production | 2 sets |
| Activity | Rationale | Reps/Duration |
|---|---|---|
| Auditory bombardment: SLP names 10 common objects slowly and clearly while patient points | Activate auditory-phonological network; comprehension reinforcement | 10 items x 2 |
| Whole-word repetition with maximum cueing (SLP speaks simultaneously): single syllable words - "bed", "cup", "home" | Minimal motor demand; stimulate phonological encoding | 10 words |
| Introduce picture communication board (body parts, basic needs, emotions) | Functional communication backup given right-hand weakness | 5 min exploration |
| Activity | Technique | Target |
|---|---|---|
| Jaw opening/closing: wide open-hold 3 sec-close, 10x | Jaw ROM against spasticity | Symmetrical jaw excursion |
| Tongue tip elevation: /l/ position, hold 3 sec, 10x | Tip elevation for lingual consonants (/t/, /d/, /n/, /l/) | 2 sets of 10 |
| Tongue lateralization: move tip to right corner, then left, 10x each | Reduce spastic tongue restriction | 2 sets |
| Bilabial CV syllables: /pa/, /ba/, /ma/ - slow, deliberate production | Labial articulation - easiest consonants first | 10 reps each |
| Sustained /i/ and /u/: hold each 5 sec | Vowel shaping + tongue positioning | 5 reps each |
| Activity | Technique | Target |
|---|---|---|
| Confrontation naming - 10 high-frequency nouns with picture | SLP provides full phonemic cue (/k/ for "cup") if no response after 5 sec | 10 items |
| Automatic speech sequences: count 1-5, days of week | Engages intact right hemisphere procedural speech | 3 sequences |
| MIT Introduction (Session 1): "good morning", "thank you" - sung on 2-note pattern with left hand tapping | Melodic Intonation Therapy - engages right hemisphere prosodic system in non-fluent Broca's aphasia | 5 min |
| Activity | Target Sounds | Method |
|---|---|---|
| Diadochokinesis: /puh-puh-puh/ alone, then /puh-tuh-kuh/ alternating | Rate = accuracy baseline; labial-lingual-velar sequence | 3 trials each, time 10 sec |
| Consonant drills - stops: /p/ and /b/ in word-initial position: "pan", "bin", "pack", "back" | Voicing contrast, articulatory pressure | 15 words, 2 sets |
| Alveolar stops /t/, /d/: "top", "dog", "tie", "day" | Tongue-tip precision | 10 words, 2 sets |
| Slow reading aloud: single nouns from picture book, one word at a time | Rate control in connected articulatory context | 20 words |
| Activity | Method | Target |
|---|---|---|
| MIT Session 2: "I want water", "I am tired" - sung phrases, left hand tapping rhythm | Progress to 3-word intoned phrases | 5 phrases x 3 trials |
| Repetition hierarchy: immediate, delayed (5 sec gap), then delayed (10 sec) repeat of same word | Tests phonological retention; progressive loading | 10 words each level |
| Functional phrase drilling: "I need help" - SLP models, patient imitates with phonemic cueing | High-utility output with minimal syntactic demand | 5 phrases |
| Activity | Method | Target |
|---|---|---|
| Breath group phrases: inhale, then say "one word" on controlled exhale; progress to 2 words | Link respiratory support to articulatory output | 10 trials each |
| LSVT LOUD principle drill: "Say /a/ as LOUD and as LONG as you can" - SLP uses sound level meter or phone app target 70+ dB | Adequate vocal intensity for functional communication | 5 trials MPT + 5 trials loud phrase |
| Pitch variation: /a/ going up in pitch (high), then down (low), hold each 3 sec | Reduce monotone; address spastic low pitch | 5 up-down cycles |
| Bilabials + alveolars in 2-syllable words: "papa", "mama", "baby", "table" | Carry-over from Day 3-4 consonant work | 10 words |
| Activity | Method | Target |
|---|---|---|
| MIT Session 3 - fade tapping: same phrases from Day 4, reduce tapping to every other syllable | Internalize rhythmic scaffolding | 5 phrases |
| Semantic Feature Analysis (SFA) intro: show picture of "cup" - SLP asks "what colour?", "what is it made of?", "what do you do with it?" - patient answers with gesture/word/MIT | Activate semantic network around target words | 3 items |
| Review Day 1-5 progress with family; demonstrate MIT for home practice | Caregiver engagement = critical for generalization | 10 min |
| Activity | Method | Target |
|---|---|---|
| Warm-up: sustained /a/ x5 (LSVT loud), diadochokinesis /puh-tuh-kuh/ | Establish phonatory baseline for session | 5 min |
| Fricative production: /f/, /v/, /s/, /z/ in word-initial position: "fan", "van", "sun", "zoo" | Fricatives are typically most distorted in spastic dysarthria | 10 words each, 2 sets |
| Minimal pairs drills (voicing contrast): "fan/van", "sue/zoo", "coat/goat", "pie/bye" | Sharpen articulatory precision and voicing distinctions | 15 pairs x 2 |
| Exaggerated articulation: over-precise articulation of target words, slightly slower rate | Clear speech strategy - highly effective for intelligibility in dysarthria | 20 words |
| Activity | Method | Target |
|---|---|---|
| SFA full protocol: 5 target nouns (common household objects), map each on semantic wheel | Build lexical access through semantic network activation | 5 items |
| MIT Session 4: new functional phrases - "I want to eat", "I feel better" | Progress to 4-word intoned utterances | 5 phrases x 3 trials |
| Phonemic cueing hierarchy: (1) no cue, (2) first sound cue, (3) first syllable cue, (4) whole word model | Systematic cueing reduces cue dependency over sessions | 10 naming targets |
| Activity | Method | Target |
|---|---|---|
| Metronomic pacing: metronome at 60 bpm (1 word/beat), then 80 bpm | Rate control = #1 strategy for intelligibility in spastic dysarthria | 20 words, then 10 short phrases |
| Contrastive stress drills: "He WANTS tea" vs "HE wants tea" - emphasize different words | Address monopitch/monoloudness; prosodic variation | 10 sets |
| Syllable-by-syllable production of multisyllabic words: "hos-pi-tal", "com-mu-ni-cate", "re-ha-bil-i-ta-tion" | Improve syllable segmentation and articulatory precision | 10 words |
| Chant-talk technique: rhythmically intoned speech at even syllable stress | Bridge between MIT (for aphasia) and dysarthria rate control | 10 phrases |
| Activity | Method | Target |
|---|---|---|
| Script training - personal scripts: identify 5 personally relevant scenarios (e.g., telling family his name, expressing pain, asking for water) | Highly motivating; uses real communicative contexts | 5 scripts, 3 trials each |
| Sentence completion: "I drink ___", "I live in ___", "My name is ___" | Syntactic frame with minimal word-retrieval demand | 10 items |
| MIT Session 5: target daily-life phrases relevant to ICU/hospital: "I need the nurse", "I have pain here" | High-priority functional communication | 3 phrases x 5 trials |
| Activity | Method | Target |
|---|---|---|
| Resonant voice therapy: "hmm" with forward facial resonance, then open to /mah/, /mi/, /mo/ | Shift phonatory focus from laryngeal hyperfunction to forward resonance | 10 trials each |
| Easy onset + short phrases: "I... am... here." with easy onset on each stressed word | Reduce laryngeal strain in connected speech | 10 phrases |
| 2-word phrases: adjective + noun, "cold water", "big cup", "my name", "right arm" at controlled rate | Bridge from single word to phrase level | 20 phrases |
| LSVT LOUD phrase drill: "I want water NOW" with sustained loudness across phrase | Maintain adequate intensity in connected speech | 10 phrases |
| Activity | Method | Target |
|---|---|---|
| Carrier phrase expansion: "I want + [noun]", "I see + [noun]", "I feel + [adjective]" | Provide syntactic frame; patient supplies one key word | 10 trials each frame |
| Word-to-picture matching with verbal attempt: show 3 pictures, say word, patient points then attempts to repeat | Integrates comprehension + production | 15 items |
| Conversational turn-taking practice with SLP: simple 2-turn exchanges using combined verbal + gesture + picture board | Generalization into functional communication context | 10 min |
| Activity | Method | Target |
|---|---|---|
| 3-word phrase production: subject + verb + object - "I want food", "Hand me that", "I feel pain" | Increase phrase length while maintaining intelligibility | 15 phrases |
| Intelligibility check with naive listener (family member unfamiliar with session content): SLP records phrases, family member transcribes | Ecologically valid intelligibility measure | 10 phrases |
| Self-monitoring training: SLP plays back audio, patient rates own clarity 1-5 | Build self-monitoring for home practice | 5 recordings |
| Clear speech vs. casual speech contrast: same phrase said both ways; patient identifies which is clearer | Metacognitive awareness of clear speech strategies | 5 pairs |
| Activity | Method | Target |
|---|---|---|
| Action naming: pictures of verbs (eating, walking, pointing, sleeping) | Verbs are more impaired than nouns in Broca's aphasia; targeted drill | 10 verbs x 3 trials |
| MIT Session 6: expand to spontaneous MIT - SLP gives topic, patient attempts intoned response | Reduce scaffolding, increase spontaneity | 5 min |
| AAC practice: patient navigates picture board + communication app (if available) using left hand | Independence in AAC; critical given right hand weakness | 10 min |
| Role-play: "Tell me what you need right now" - patient uses combined verbal + gesture + board | Functional communication under low-pressure conditions | 5 min |
| Measure | Tool | Compare to Day 1 |
|---|---|---|
| Speech intelligibility | % words correct (word + sentence level) | Track improvement |
| Maximum phonation time (MPT) | /a/ sustained seconds | Expected improvement to 10-12 sec |
| Voice quality | GRBAS impression | Expect reduction in Strained score |
| Naming accuracy | 20-item confrontation naming | Track % correct with/without cue |
| Phrase length | Mean utterance length in spontaneous speech | Expect 1-2 word increase |
| Functional communication | ASHA FACS / yes-no reliability | Track |
| Activity | Method |
|---|---|
| Run patient's strongest 3-4 MIT phrases fluently | Confidence building |
| Best-performing articulation drill from Phase 1/2 | Reinforce motor patterns |
| Family debrief: what has improved, what goals remain for Phase 3 | Shared goal setting |
| Activity | Context | Method |
|---|---|---|
| Structured conversation drill: SLP asks open questions ("How do you feel today?", "What did you have for breakfast?"), patient answers in 2-4 words | Real conversational context with rate + loudness targets | 15 min |
| Hospital-specific phrases: "I need the nurse", "I have pain here" (point to body part), "Can you call my family?" | Highest-priority functional utterances | 5 phrases x 5 trials |
| Rate + loudness self-cue card: patient reviews personal checklist before speaking: (1) take a breath, (2) open mouth wide, (3) speak slowly, (4) use loud voice | Self-monitoring strategy for generalization | 5 min |
| Activity | Method | Target |
|---|---|---|
| MIT - spontaneous fading: SLP introduces topic, patient responds without pre-set phrase | Test spontaneous intoned production | 5 min |
| Telephone simulation: SLP on other side of room / turns away, patient says personal information (name, address, DOB) | Train communication without visual cues | 10 min |
| News picture description: show simple picture of daily event, patient describes in 2-3 words | Spontaneous connected speech | 5 min |
| Activity | Method | Target |
|---|---|---|
| Oral reading - controlled sentences: SLP-prepared sentences, 5-8 words, normal vocabulary, slow paced reading aloud | Articulatory context in literate speech | 10 sentences x 2 |
| Paragraph reading (short paragraph, health topic): apply rate control + breath groups | Sustained connected speech in reading context | 1 paragraph |
| Voicing contrast in sentences: "The DOG barked" vs. "The DOCK is wet" - emphasize target voicing contrast | Carry-over from minimal pairs to sentence level | 10 sentences |
| Activity | Method | Target |
|---|---|---|
| Written word-to-picture matching: even though right hand is weak, assess if left-hand writing is functional - have patient attempt tracing or copying key words | Multimodal communication; left-hand writing as backup | 10 items |
| SFA - verb retrieval: revisit action pictures, apply semantic feature prompting to elicit verbs | Verb retrieval for sentence construction | 10 verbs |
| Reading aloud simple sentences (integrates with dysarthria component): same sentences, patient reads with phonemic + semantic support | Cross-domain: articulation + language in reading context | 5 sentences |
| Activity | Who | Content |
|---|---|---|
| Picture communication board review: patient independently navigates and uses board to express 10 different needs | Patient | Independence check |
| Communication partner training (family/caregivers): | Family | (a) Don't complete sentences for patient; (b) Give 10-second wait time; (c) Use yes/no questions when patient is fatigued; (d) Acknowledge gesture + word attempts equally; (e) Repeat back what you understood |
| Supported conversation practice: family member conducts structured conversation with SLP coaching in room | Patient + Family | 10 min structured exchange |
| Activity | Method |
|---|---|
| LSVT LOUD home protocol demonstration: 4 tasks (sustained /a/ loud, high pitch, low pitch, loud phrases) | Patient + family learn home program |
| Dysarthria home exercise sheet review: 10-min daily program | Printed take-home sheet |
| MIT - patient teaches family member one phrase | Reinforces learning by teaching |
| Activity | Focus | Method |
|---|---|---|
| Full LSVT LOUD task sequence | Dysarthria voice | 10 min loud /a/ + loud phrases |
| Diadochokinesis + minimal pairs rapid drill | Articulatory precision consolidation | 5 min |
| MIT full sequence: 8 phrases patient has best mastered | Aphasia fluency consolidation | 10 min |
| Time | Activity | Duration |
|---|---|---|
| Morning | LSVT LOUD 4-task sequence (sustained vowels + loud phrases) | 10 min |
| Morning | MIT with family - 5 pre-learned phrases | 5 min |
| Afternoon | Oral reading aloud (2 paragraphs at slow rate) | 10 min |
| Afternoon | Picture naming with family: 20 flashcards | 5 min |
| Evening | Conversational practice: family asks 5 questions, patient responds verbally + gesture | 10 min |
| Domain | Tool | Goal |
|---|---|---|
| Speech intelligibility | % words correct unfamiliar listener | Target: improvement from baseline |
| MPT | /a/ sustained | Target: >10 sec |
| Voice quality GRBAS | Clinician impression | Reduced Strained (S) score |
| Confrontation naming | 20-item set | Track % with/without cue |
| Spontaneous speech | MLU + fluency rating | Track phrase length increase |
| Functional communication | ASHA FACS | Compare to Day 1 |
| Item | Detail |
|---|---|
| Formal discharge report | Summarize initial vs. final scores; include therapy approaches used |
| Referrals | Neurology follow-up (NPH monitoring - Evan's index 0.41; cerebellar infarct); Occupational therapy (right hand 4/5); Neuropsychology if cognitive-communication deficits emerge |
| Outpatient SLP recommendation | 3x/week for 8-12 weeks; tele-SLP if travel difficult |
| LSVT LOUD certification | Consider referral to LSVT-certified SLP for formal intensive protocol |
| Technology recommendations | Aphasia communication app (e.g., Proloquo2Go, Lingraphica, TalkPath); voice amplifier for functional situations |
| NPH awareness | Educate family: watch for worsening gait, urinary incontinence, cognition = flag for neurology re Evan's index |
| Prognosis counselling | Per Adams & Victor (p. 515): "intensive therapy by a speech pathologist does hasten improvement... increased efficacy of word retrieval shown with active treatment." Right-handed patient with Broca's = guarded but real improvement expected with consistent therapy. Bilateral cerebellar involvement may add mild prosodic difficulty. |
| Day | Phase | Dysarthria Focus | Aphasia Focus |
|---|---|---|---|
| 1 | Foundation | Relaxation, posture, diaphragmatic breathing | Yes/No baseline, gesture, family intro |
| 2 | Foundation | Sustained phonation, easy onset, lip ROM | Auditory bombardment, whole-word repetition, picture board |
| 3 | Foundation | Jaw/tongue ROM, bilabial CVs | Confrontation naming, automatic speech, MIT intro |
| 4 | Foundation | Diadochokinesis, stops /p,b,t,d/ | MIT Session 2, repetition hierarchy, functional phrases |
| 5 | Foundation | Breath-phrase integration, LSVT loud, pitch variation | MIT Session 3 fade, SFA intro, family training |
| 6 | Building | Fricatives, minimal pairs, exaggerated articulation | SFA full protocol, MIT Session 4, phonemic cueing |
| 7 | Building | Metronomic pacing, contrastive stress, chant-talk | Script training, sentence completion, MIT Session 5 |
| 8 | Building | Resonant voice, easy onset phrases, LSVT phrases | Carrier phrase expansion, word-picture matching, conversation turns |
| 9 | Building | 3-word phrases, intelligibility check, self-monitoring | Action naming, spontaneous MIT, AAC practice |
| 10 | Building | Mid-program reassessment + consolidation | Reassessment + family debrief |
| 11 | Generalization | Structured conversation, hospital phrases, self-cue card | Spontaneous MIT, telephone simulation, picture description |
| 12 | Generalization | Oral reading - sentences + paragraph | Left-hand writing, verb SFA, cross-domain reading |
| 13 | Generalization | AAC independence + caregiver training | Communication partner training, supported conversation |
| 14 | Generalization | Intensive LSVT + diadochokinesis + minimal pairs | MIT full sequence consolidation |
| 15 | Discharge | Final assessment | Final assessment + discharge plan |
Create a printable patient home exercise program sheet with illustrations
ls -la /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace && ls -la /home/daytona/workspace/
mkdir -p /home/daytona/workspace/speech-hep && echo "Directory ready"
~/speech-hep/speech_hep.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Speech Therapy Home Exercise Program</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Nunito', Arial, sans-serif;
background: #f0f4f8;
color: #1a202c;
font-size: 13px;
}
.page {
width: 210mm;
min-height: 297mm;
background: white;
margin: 0 auto 20px auto;
padding: 12mm 14mm;
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
page-break-after: always;
}
/* ── HEADER ────────────────────────────────── */
.header {
background: linear-gradient(135deg, #1a56db 0%, #0e3fa8 100%);
border-radius: 12px;
padding: 14px 20px;
color: white;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 14px;
}
.header-left h1 {
font-size: 20px;
font-weight: 900;
letter-spacing: -0.3px;
}
.header-left p {
font-size: 11px;
opacity: 0.85;
margin-top: 2px;
}
.header-logo {
width: 54px; height: 54px;
background: rgba(255,255,255,0.18);
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
}
/* ── PATIENT CARD ───────────────────────────── */
.patient-card {
background: #eef2ff;
border: 1.5px solid #c7d2fe;
border-radius: 10px;
padding: 10px 16px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 6px 20px;
margin-bottom: 14px;
}
.patient-card .field label {
font-size: 9px;
text-transform: uppercase;
color: #6366f1;
font-weight: 800;
letter-spacing: 0.8px;
}
.patient-card .field span {
display: block;
font-size: 12px;
font-weight: 700;
color: #1e1b4b;
}
/* ── SECTION HEADER ─────────────────────────── */
.section-title {
display: flex;
align-items: center;
gap: 8px;
margin: 14px 0 8px 0;
}
.section-title .icon-circle {
width: 30px; height: 30px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
font-size: 14px;
}
.section-title h2 {
font-size: 14px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.section-title .tag {
margin-left: auto;
font-size: 9px;
padding: 2px 8px;
border-radius: 20px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* ── EXERCISE CARD ──────────────────────────── */
.ex-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-bottom: 10px;
}
.ex-grid-3 {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
margin-bottom: 10px;
}
.ex-card {
border-radius: 10px;
padding: 10px;
border: 1.5px solid;
display: flex;
flex-direction: column;
gap: 6px;
}
.ex-card .illus {
display: flex;
justify-content: center;
align-items: center;
height: 80px;
}
.ex-card h3 {
font-size: 11.5px;
font-weight: 800;
text-align: center;
}
.ex-card .how {
font-size: 10.5px;
line-height: 1.5;
color: #374151;
}
.ex-card .dose {
margin-top: auto;
border-radius: 6px;
padding: 4px 8px;
font-size: 10px;
font-weight: 700;
text-align: center;
}
/* Colour themes */
.blue { border-color: #93c5fd; background: #eff6ff; }
.blue .dose { background: #1d4ed8; color: white; }
.blue h3 { color: #1e40af; }
.green { border-color: #86efac; background: #f0fdf4; }
.green .dose { background: #15803d; color: white; }
.green h3 { color: #166534; }
.purple { border-color: #c4b5fd; background: #f5f3ff; }
.purple .dose { background: #6d28d9; color: white; }
.purple h3 { color: #4c1d95; }
.orange { border-color: #fed7aa; background: #fff7ed; }
.orange .dose { background: #c2410c; color: white; }
.orange h3 { color: #9a3412; }
.pink { border-color: #fbcfe8; background: #fdf2f8; }
.pink .dose { background: #9d174d; color: white; }
.pink h3 { color: #831843; }
.teal { border-color: #99f6e4; background: #f0fdfa; }
.teal .dose { background: #0f766e; color: white; }
.teal h3 { color: #134e4a; }
.red { border-color: #fca5a5; background: #fef2f2; }
.red .dose { background: #b91c1c; color: white; }
.red h3 { color: #991b1b; }
.yellow { border-color: #fde68a; background: #fffbeb; }
.yellow .dose { background: #b45309; color: white; }
.yellow h3 { color: #92400e; }
/* ── SCHEDULE TABLE ─────────────────────────── */
.schedule-table {
width: 100%;
border-collapse: collapse;
border-radius: 10px;
overflow: hidden;
margin-bottom: 12px;
font-size: 11px;
}
.schedule-table thead tr {
background: #1a56db;
color: white;
}
.schedule-table thead th {
padding: 7px 10px;
text-align: left;
font-weight: 700;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.schedule-table tbody tr:nth-child(even) { background: #f8fafc; }
.schedule-table tbody tr:nth-child(odd) { background: #ffffff; }
.schedule-table tbody td {
padding: 7px 10px;
border-bottom: 1px solid #e2e8f0;
vertical-align: top;
line-height: 1.5;
}
.schedule-table tbody td:first-child {
font-weight: 700;
color: #1a56db;
white-space: nowrap;
}
.schedule-table tbody td .ex-name {
font-weight: 700;
}
.schedule-table tbody td .ex-desc {
color: #6b7280;
font-size: 10px;
}
/* ── TIPS BOX ───────────────────────────────── */
.tips-box {
border-radius: 10px;
padding: 10px 14px;
margin-bottom: 10px;
border-left: 4px solid;
}
.tips-box.warning { background: #fffbeb; border-color: #f59e0b; }
.tips-box.info { background: #eff6ff; border-color: #3b82f6; }
.tips-box.success { background: #f0fdf4; border-color: #22c55e; }
.tips-box h4 {
font-size: 11px;
font-weight: 800;
margin-bottom: 4px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.tips-box ul {
padding-left: 14px;
font-size: 10.5px;
line-height: 1.7;
}
.tips-box.warning h4 { color: #b45309; }
.tips-box.info h4 { color: #1d4ed8; }
.tips-box.success h4 { color: #15803d; }
/* ── PROGRESS TRACKER ───────────────────────── */
.tracker-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 6px;
margin-bottom: 12px;
}
.tracker-day {
border: 1.5px solid #cbd5e1;
border-radius: 8px;
padding: 6px;
text-align: center;
background: #f8fafc;
}
.tracker-day .day-num {
font-size: 16px;
font-weight: 900;
color: #1a56db;
}
.tracker-day .day-label {
font-size: 8px;
color: #64748b;
font-weight: 600;
text-transform: uppercase;
}
.tracker-day .check-boxes {
display: flex;
justify-content: center;
gap: 3px;
margin-top: 4px;
}
.tracker-day .cb {
width: 12px; height: 12px;
border: 1.5px solid #94a3b8;
border-radius: 3px;
background: white;
}
/* ── FOOTER ─────────────────────────────────── */
.footer {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid #e2e8f0;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 9px;
color: #94a3b8;
}
/* ── DIVIDER ────────────────────────────────── */
.divider {
height: 2px;
border-radius: 1px;
margin: 10px 0;
}
.page-label {
font-size: 9px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1px;
color: #94a3b8;
margin-bottom: 6px;
}
/* Print */
@media print {
body { background: white; }
.page { box-shadow: none; margin: 0; page-break-after: always; }
}
</style>
</head>
<body>
<!-- ═══════════════════════════════════════════════════
PAGE 1 – DYSARTHRIA EXERCISES
═══════════════════════════════════════════════════ -->
<div class="page">
<!-- HEADER -->
<div class="header">
<div class="header-left">
<h1>🗣️ Speech Therapy Home Exercise Program</h1>
<p>Spastic Dysarthria & Broca's Aphasia | Medicover Hospitals, Maharashtra | Prepared by Speech-Language Pathologist</p>
</div>
<div class="header-logo">
<svg width="36" height="36" viewBox="0 0 36 36" fill="none">
<circle cx="18" cy="18" r="18" fill="rgba(255,255,255,0.25)"/>
<ellipse cx="18" cy="14" rx="7" ry="8" fill="white" opacity="0.9"/>
<rect x="15" y="22" width="6" height="7" rx="3" fill="white" opacity="0.9"/>
<path d="M12 29 Q18 34 24 29" stroke="white" stroke-width="2" fill="none" opacity="0.9"/>
</svg>
</div>
</div>
<!-- PATIENT CARD -->
<div class="patient-card">
<div class="field"><label>Patient</label><span>61-Year-Old Male</span></div>
<div class="field"><label>Diagnosis</label><span>Spastic Dysarthria + Broca's Aphasia</span></div>
<div class="field"><label>Onset</label><span>17 May 2026 (Post-Stroke)</span></div>
<div class="field"><label>Hospital</label><span>Medicover Hospitals, Maharashtra</span></div>
<div class="field"><label>Neurologist</label><span>Dr. Pawan Ojha & Dr. Suranjana Basak</span></div>
<div class="field"><label>Date Issued</label><span>29 May 2026</span></div>
</div>
<div class="page-label">Page 1 of 3 · Dysarthria Motor Speech Exercises</div>
<!-- SECTION: BREATHING -->
<div class="section-title">
<div class="icon-circle" style="background:#dbeafe;">💨</div>
<h2 style="color:#1e40af;">Section 1 – Breathing & Voice Foundation</h2>
<span class="tag" style="background:#dbeafe;color:#1e40af;">Do EVERY Day – Morning</span>
</div>
<div class="ex-grid">
<!-- Ex 1 -->
<div class="ex-card blue">
<div class="illus">
<svg width="90" height="76" viewBox="0 0 90 76">
<!-- Person sitting upright -->
<ellipse cx="45" cy="12" rx="10" ry="10" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- torso -->
<rect x="37" y="22" width="16" height="22" rx="4" fill="#60a5fa"/>
<!-- arms -->
<line x1="37" y1="26" x2="24" y2="38" stroke="#60a5fa" stroke-width="4" stroke-linecap="round"/>
<line x1="53" y1="26" x2="66" y2="38" stroke="#60a5fa" stroke-width="4" stroke-linecap="round"/>
<!-- legs -->
<line x1="40" y1="44" x2="36" y2="62" stroke="#60a5fa" stroke-width="4" stroke-linecap="round"/>
<line x1="50" y1="44" x2="54" y2="62" stroke="#60a5fa" stroke-width="4" stroke-linecap="round"/>
<!-- hand on belly -->
<ellipse cx="24" cy="40" rx="6" ry="4" fill="#fbbf24" stroke="#92400e" stroke-width="1"/>
<!-- breath arrows -->
<path d="M70 35 Q78 28 78 20 Q78 12 70 8" stroke="#10b981" stroke-width="2" fill="none" stroke-dasharray="3,2"/>
<polygon points="68,6 73,10 70,5" fill="#10b981"/>
<text x="71" y="44" font-size="7" fill="#059669" font-weight="bold">IN</text>
<path d="M70 50 Q78 57 78 65 Q78 72 70 68" stroke="#3b82f6" stroke-width="2" fill="none" stroke-dasharray="3,2"/>
<polygon points="68,70 73,66 70,71" fill="#3b82f6"/>
<text x="68" y="60" font-size="7" fill="#1d4ed8" font-weight="bold">OUT</text>
<!-- belly expansion -->
<ellipse cx="45" cy="36" rx="8" ry="5" fill="none" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="2,2"/>
</svg>
</div>
<h3>Diaphragmatic Breathing</h3>
<div class="how">
1. Sit upright, place hand on belly.<br/>
2. Breathe IN slowly through nose for 3 sec — feel belly rise.<br/>
3. Breathe OUT slowly through mouth for 5 sec — belly falls.
</div>
<div class="dose">10 breaths × 3 sets | Morning & Evening</div>
</div>
<!-- Ex 2 -->
<div class="ex-card green">
<div class="illus">
<svg width="90" height="76" viewBox="0 0 90 76">
<!-- head -->
<ellipse cx="45" cy="16" rx="13" ry="13" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- open mouth big -->
<ellipse cx="45" cy="23" rx="7" ry="5" fill="#1f2937"/>
<ellipse cx="45" cy="23" rx="6" ry="3" fill="#ef4444"/>
<!-- sound waves -->
<path d="M60 18 Q68 16 68 23 Q68 30 60 28" stroke="#16a34a" stroke-width="2" fill="none"/>
<path d="M60 15 Q74 12 74 23 Q74 34 60 31" stroke="#16a34a" stroke-width="1.5" fill="none"/>
<path d="M60 12 Q80 8 80 23 Q80 38 60 34" stroke="#16a34a" stroke-width="1" fill="none" opacity="0.6"/>
<!-- timer arc -->
<path d="M24 54 A14 14 0 0 1 52 54" stroke="#86efac" stroke-width="3" fill="none"/>
<text x="28" y="70" font-size="10" fill="#15803d" font-weight="bold">5 – 8 sec</text>
<!-- /a/ label -->
<text x="18" y="25" font-size="14" fill="#15803d" font-weight="900" font-style="italic">/a/</text>
</svg>
</div>
<h3>Sustained Vowel /aaa/</h3>
<div class="how">
1. Take a deep belly breath.<br/>
2. Open mouth and say "aaa" as long and as LOUD as you can.<br/>
3. Target: hold for 5–8 seconds.
</div>
<div class="dose">10 trials | Morning</div>
</div>
</div>
<!-- SECTION: ORAL MOTOR -->
<div class="section-title">
<div class="icon-circle" style="background:#fce7f3;">👄</div>
<h2 style="color:#9d174d;">Section 2 – Oral Motor Exercises</h2>
<span class="tag" style="background:#fce7f3;color:#9d174d;">Do EVERY Day – 10 min</span>
</div>
<div class="ex-grid-3">
<!-- Lip Round -->
<div class="ex-card pink">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<ellipse cx="40" cy="30" rx="18" ry="18" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- pucker lips -->
<ellipse cx="40" cy="40" rx="5" ry="4" fill="#ef4444" stroke="#991b1b" stroke-width="1"/>
<text x="16" y="65" font-size="10" fill="#9d174d" font-weight="900">PUCKER</text>
<!-- arrows in -->
<path d="M22 40 L30 40" stroke="#9d174d" stroke-width="2" marker-end="url(#arr)"/>
<path d="M58 40 L50 40" stroke="#9d174d" stroke-width="2" marker-end="url(#arr)"/>
<defs><marker id="arr" markerWidth="6" markerHeight="6" refX="3" refY="3" orient="auto"><path d="M0,0 L0,6 L6,3 z" fill="#9d174d"/></marker></defs>
</svg>
</div>
<h3>Lip Pucker</h3>
<div class="how">Round lips as if kissing. Hold 3 sec, release. Repeat.</div>
<div class="dose">10 reps × 2 sets</div>
</div>
<!-- Lip Spread -->
<div class="ex-card orange">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<ellipse cx="40" cy="30" rx="18" ry="18" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- smile wide -->
<path d="M24 38 Q40 50 56 38" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round"/>
<text x="20" y="65" font-size="10" fill="#c2410c" font-weight="900">SPREAD</text>
<!-- arrows out -->
<path d="M30 40 L22 40" stroke="#c2410c" stroke-width="2" marker-end="url(#arr2)"/>
<path d="M50 40 L58 40" stroke="#c2410c" stroke-width="2" marker-end="url(#arr2)"/>
<defs><marker id="arr2" markerWidth="6" markerHeight="6" refX="3" refY="3" orient="auto"><path d="M0,0 L0,6 L6,3 z" fill="#c2410c"/></marker></defs>
</svg>
</div>
<h3>Lip Spread (Smile)</h3>
<div class="how">Spread lips wide into big smile. Hold 3 sec, release. Alternate with pucker.</div>
<div class="dose">10 reps × 2 sets</div>
</div>
<!-- Jaw open -->
<div class="ex-card purple">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<ellipse cx="40" cy="26" rx="16" ry="16" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- upper jaw -->
<path d="M28 34 Q40 36 52 34" stroke="#7c3aed" stroke-width="2" fill="none"/>
<!-- lower jaw open -->
<path d="M28 44 Q40 46 52 44" stroke="#7c3aed" stroke-width="2" fill="none"/>
<!-- gap with arrow -->
<line x1="40" y1="36" x2="40" y2="43" stroke="#7c3aed" stroke-width="1.5" stroke-dasharray="2,1"/>
<polygon points="38,43 42,43 40,46" fill="#7c3aed"/>
<text x="18" y="65" font-size="10" fill="#6d28d9" font-weight="900">WIDE OPEN</text>
</svg>
</div>
<h3>Jaw Opening</h3>
<div class="how">Open jaw WIDE, hold 3 sec. Close slowly. Do NOT force — gentle movement only.</div>
<div class="dose">10 reps × 2 sets</div>
</div>
<!-- Tongue Up -->
<div class="ex-card teal">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<ellipse cx="40" cy="26" rx="16" ry="16" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- open mouth -->
<path d="M30 34 Q40 38 50 34 Q50 42 40 44 Q30 42 30 34Z" fill="#ef4444"/>
<!-- teeth top -->
<rect x="30" y="34" width="20" height="4" rx="1" fill="white"/>
<!-- tongue up -->
<ellipse cx="40" cy="35" rx="7" ry="4" fill="#f87171"/>
<!-- arrow up -->
<line x1="40" y1="34" x2="40" y2="26" stroke="#0f766e" stroke-width="2"/>
<polygon points="38,27 42,27 40,24" fill="#0f766e"/>
<text x="20" y="67" font-size="10" fill="#0f766e" font-weight="900">TIP UP</text>
</svg>
</div>
<h3>Tongue Tip Up</h3>
<div class="how">Lift tongue tip to roof of mouth (behind top teeth). Hold 3 sec. Bring down.</div>
<div class="dose">10 reps × 2 sets</div>
</div>
<!-- Tongue Side -->
<div class="ex-card blue">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<ellipse cx="40" cy="26" rx="16" ry="16" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- mouth -->
<path d="M30 34 Q40 38 50 34 Q50 42 40 44 Q30 42 30 34Z" fill="#ef4444"/>
<rect x="30" y="34" width="20" height="4" rx="1" fill="white"/>
<!-- tongue pointing right -->
<ellipse cx="46" cy="39" rx="8" ry="3.5" fill="#f87171" transform="rotate(-15,46,39)"/>
<!-- left-right arrows -->
<path d="M15 39 L25 39" stroke="#1d4ed8" stroke-width="2" marker-end="url(#arr3)"/>
<path d="M65 39 L55 39" stroke="#1d4ed8" stroke-width="2" marker-end="url(#arr4)"/>
<defs>
<marker id="arr3" markerWidth="6" markerHeight="6" refX="3" refY="3" orient="auto"><path d="M0,0 L0,6 L6,3 z" fill="#1d4ed8"/></marker>
<marker id="arr4" markerWidth="6" markerHeight="6" refX="3" refY="3" orient="180"><path d="M0,0 L0,6 L6,3 z" fill="#1d4ed8"/></marker>
</defs>
<text x="12" y="67" font-size="10" fill="#1e40af" font-weight="900">SIDE TO SIDE</text>
</svg>
</div>
<h3>Tongue Lateralisation</h3>
<div class="how">Move tongue tip to RIGHT corner, hold 2 sec. Move to LEFT corner, hold 2 sec.</div>
<div class="dose">10 reps each side × 2</div>
</div>
<!-- Diadochokinesis -->
<div class="ex-card yellow">
<div class="illus">
<svg width="80" height="76" viewBox="0 0 80 76">
<!-- head -->
<ellipse cx="40" cy="22" rx="14" ry="14" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- mouth open -->
<ellipse cx="40" cy="30" rx="7" ry="5" fill="#1f2937"/>
<ellipse cx="40" cy="30" rx="6" ry="3.5" fill="#ef4444"/>
<!-- syllables bubbles -->
<circle cx="14" cy="50" r="10" fill="#fde68a" stroke="#b45309" stroke-width="1.5"/>
<text x="10" y="54" font-size="9" fill="#92400e" font-weight="900">PUH</text>
<circle cx="40" cy="55" r="10" fill="#fde68a" stroke="#b45309" stroke-width="1.5"/>
<text x="36" y="59" font-size="9" fill="#92400e" font-weight="900">TUH</text>
<circle cx="66" cy="50" r="10" fill="#fde68a" stroke="#b45309" stroke-width="1.5"/>
<text x="62" y="54" font-size="9" fill="#92400e" font-weight="900">KUH</text>
<!-- connecting dots -->
<circle cx="27" cy="52" r="2" fill="#b45309"/>
<circle cx="53" cy="52" r="2" fill="#b45309"/>
</svg>
</div>
<h3>Rapid Syllable Drill</h3>
<div class="how">Say quickly: "puh-puh-puh" then "tuh-tuh-tuh" then "kuh-kuh-kuh". Then combine: "puh-tuh-kuh".</div>
<div class="dose">3 trials each × 10 sec sets</div>
</div>
</div>
<!-- LSVT LOUD BOX -->
<div class="tips-box info">
<h4>⚡ LSVT LOUD Voice Drill (After Oral Motor) — 5 minutes</h4>
<ul>
<li>Say <strong>/a/</strong> as <strong>LOUD and LONG</strong> as possible (aim for 8–10 seconds) — 5 trials</li>
<li>Say <strong>/a/</strong> starting LOW pitch and sliding UP — 5 trials</li>
<li>Say <strong>/a/</strong> starting HIGH pitch and sliding DOWN — 5 trials</li>
<li>Say <strong>"I want water"</strong> loudly and clearly — 5 trials</li>
<li><em>Goal: use the same LOUD voice in all speech throughout the day</em></li>
</ul>
</div>
<div class="footer">
<span>Medicover Hospitals, Maharashtra · Dr. Pawan Ojha & Dr. Suranjana Basak (Neurology)</span>
<span>Page 1 of 3 · Speech Therapy HEP</span>
</div>
</div>
<!-- ═══════════════════════════════════════════════════
PAGE 2 – ARTICULATION + RATE CONTROL
═══════════════════════════════════════════════════ -->
<div class="page">
<div class="header" style="background: linear-gradient(135deg, #059669 0%, #065f46 100%);">
<div class="header-left">
<h1>🗣️ Speech Therapy HEP – Articulation & Rate Control</h1>
<p>Spastic Dysarthria – Clear Speech Strategies | 61-Year-Old Male | Post-Stroke</p>
</div>
<div class="header-logo" style="background:rgba(255,255,255,0.18);">
<svg width="36" height="36" viewBox="0 0 36 36" fill="none">
<circle cx="18" cy="18" r="18" fill="rgba(255,255,255,0.25)"/>
<text x="7" y="24" font-size="18" fill="white">🎙</text>
</svg>
</div>
</div>
<div class="patient-card" style="background:#ecfdf5; border-color:#6ee7b7;">
<div class="field"><label>Focus Area</label><span>Articulation Precision</span></div>
<div class="field"><label>Key Strategy</label><span>Slow Rate + Clear Speech</span></div>
<div class="field"><label>Session</label><span>Afternoon (15–20 min)</span></div>
</div>
<div class="page-label">Page 2 of 3 · Articulation, Rate Control & Consonant Drills</div>
<!-- SECTION: CONSONANTS -->
<div class="section-title">
<div class="icon-circle" style="background:#d1fae5;">🔤</div>
<h2 style="color:#065f46;">Section 3 – Consonant Drills</h2>
<span class="tag" style="background:#d1fae5;color:#065f46;">Afternoon – 10 min</span>
</div>
<div class="ex-grid">
<!-- Bilabials -->
<div class="ex-card green">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- 3 faces with different lip positions -->
<!-- Face 1: /p/ -->
<ellipse cx="20" cy="22" rx="13" ry="13" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<path d="M14 28 Q20 26 26 28" stroke="#92400e" stroke-width="2" fill="none"/>
<text x="14" y="44" font-size="11" fill="#065f46" font-weight="900">/p/</text>
<!-- Face 2: /b/ -->
<ellipse cx="55" cy="22" rx="13" ry="13" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<path d="M49 28 Q55 30 61 28" stroke="#92400e" stroke-width="2" fill="none"/>
<text x="49" y="44" font-size="11" fill="#065f46" font-weight="900">/b/</text>
<!-- Face 3: /m/ -->
<ellipse cx="90" cy="22" rx="13" ry="13" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<path d="M84 28 Q90 28 96 28" stroke="#92400e" stroke-width="2" fill="none"/>
<text x="84" y="44" font-size="11" fill="#065f46" font-weight="900">/m/</text>
<!-- word examples -->
<text x="5" y="62" font-size="8" fill="#374151">pan · ban · man</text>
<text x="5" y="72" font-size="8" fill="#374151">pay · bay · may</text>
</svg>
</div>
<h3>Bilabial Sounds /p/ /b/ /m/</h3>
<div class="how">
Practice word lists slowly, one word at a time:<br/>
"pan – pack – put – pop"<br/>
"ban – back – but – bob"<br/>
"man – mat – map – mom"
</div>
<div class="dose">10 words each sound × 2 sets</div>
</div>
<!-- Alveolars -->
<div class="ex-card teal">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- cross-section of mouth showing tongue-alveolar contact -->
<!-- profile head -->
<ellipse cx="30" cy="20" rx="16" ry="18" fill="#fbbf24" stroke="#92400e" stroke-width="1.5"/>
<!-- jaw outline -->
<path d="M18 28 Q20 40 30 42 Q40 40 42 28" stroke="#92400e" stroke-width="1.5" fill="#fef3c7"/>
<!-- tongue tip -->
<path d="M22 34 Q28 28 36 30" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round"/>
<!-- alveolar ridge contact point -->
<circle cx="35" cy="28" r="4" fill="#10b981" opacity="0.7"/>
<text x="32" y="27" font-size="6" fill="white" font-weight="bold">↑</text>
<!-- label -->
<text x="50" y="18" font-size="10" fill="#0f766e" font-weight="900">/t/ /d/ /n/ /l/</text>
<text x="50" y="32" font-size="8" fill="#374151">tongue tip touches</text>
<text x="50" y="43" font-size="8" fill="#374151">ridge behind teeth</text>
<text x="18" y="65" font-size="8" fill="#374151">top · dog · no · let</text>
<text x="18" y="75" font-size="8" fill="#374151">tie · day · nap · lip</text>
</svg>
</div>
<h3>Alveolar Sounds /t/ /d/ /n/ /l/</h3>
<div class="how">
Touch tongue tip to ridge behind top teeth. Say clearly:<br/>
"top – tip – ten – time"<br/>
"dog – dip – den – day"<br/>
"no – nap – now – next"
</div>
<div class="dose">10 words each sound × 2 sets</div>
</div>
</div>
<!-- SECTION: RATE CONTROL -->
<div class="section-title">
<div class="icon-circle" style="background:#fef9c3;">⏱️</div>
<h2 style="color:#713f12;">Section 4 – Rate Control & Clear Speech</h2>
<span class="tag" style="background:#fef9c3;color:#713f12;">MOST IMPORTANT strategy for clarity</span>
</div>
<div class="ex-grid">
<!-- Metronomic pacing -->
<div class="ex-card yellow">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- metronome -->
<polygon points="40,70 70,70 65,10 45,10" fill="#fde68a" stroke="#b45309" stroke-width="2"/>
<rect x="36" y="68" width="38" height="6" rx="2" fill="#92400e"/>
<!-- pendulum -->
<line x1="55" y1="30" x2="68" y2="60" stroke="#b45309" stroke-width="2.5"/>
<circle cx="68" cy="62" r="4" fill="#b45309"/>
<!-- tick marks -->
<line x1="55" y1="20" x2="55" y2="14" stroke="#92400e" stroke-width="1.5"/>
<!-- beat label -->
<text x="43" y="45" font-size="9" fill="#92400e" font-weight="900">60</text>
<text x="40" y="55" font-size="7" fill="#92400e">BPM</text>
<!-- words at beat -->
<text x="76" y="30" font-size="8" fill="#374151" font-weight="bold">ONE</text>
<text x="76" y="42" font-size="8" fill="#374151" font-weight="bold">WORD</text>
<text x="76" y="54" font-size="8" fill="#374151" font-weight="bold">PER</text>
<text x="76" y="66" font-size="8" fill="#374151" font-weight="bold">BEAT</text>
</svg>
</div>
<h3>Paced Speech (Metronome)</h3>
<div class="how">
Use a free metronome app (60 bpm).<br/>
Say ONE word per beat: "I · want · wa · ter"<br/>
Progress to 2 words per beat after 1 week.<br/>
<em>Tip: clap or tap left hand with each word.</em>
</div>
<div class="dose">10 phrases × 2 sets | Afternoon</div>
</div>
<!-- Clear speech -->
<div class="ex-card blue">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- two speech bubbles: casual vs clear -->
<!-- Casual - left, smaller, blurry -->
<ellipse cx="28" cy="25" rx="22" ry="14" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1.5"/>
<polygon points="20,36 28,36 24,44" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1"/>
<text x="14" y="27" font-size="8" fill="#64748b">hmm</text>
<text x="14" y="37" font-size="8" fill="#94a3b8" font-style="italic">fast/soft</text>
<!-- Clear - right, larger, bold -->
<ellipse cx="80" cy="22" rx="25" ry="16" fill="#dbeafe" stroke="#2563eb" stroke-width="2"/>
<polygon points="72,34 82,34 77,44" fill="#dbeafe" stroke="#2563eb" stroke-width="1.5"/>
<text x="64" y="20" font-size="9" fill="#1d4ed8" font-weight="900">CLEAR</text>
<text x="66" y="32" font-size="9" fill="#1d4ed8" font-weight="900">SPEECH</text>
<!-- arrow from casual to clear -->
<path d="M52 25 L54 25" stroke="#374151" stroke-width="1.5" marker-end="url(#arr5)"/>
<defs><marker id="arr5" markerWidth="6" markerHeight="6" refX="3" refY="3" orient="auto"><path d="M0,0 L0,6 L6,3 z" fill="#374151"/></marker></defs>
<!-- checklist -->
<text x="10" y="62" font-size="8" fill="#059669" font-weight="bold">✓ Slow down</text>
<text x="10" y="72" font-size="8" fill="#059669" font-weight="bold">✓ Open mouth wide</text>
<text x="65" y="62" font-size="8" fill="#059669" font-weight="bold">✓ Speak LOUD</text>
<text x="65" y="72" font-size="8" fill="#059669" font-weight="bold">✓ Finish each word</text>
</svg>
</div>
<h3>Clear Speech Strategy</h3>
<div class="how">
Before each sentence — remind yourself:<br/>
1. Take a breath first.<br/>
2. Open mouth WIDE.<br/>
3. Speak at HALF your usual speed.<br/>
4. Use a LOUD voice (as if talking across the room).
</div>
<div class="dose">Use in ALL conversation | Every interaction</div>
</div>
</div>
<!-- SECTION: CONTRASTIVE STRESS -->
<div class="section-title">
<div class="icon-circle" style="background:#ede9fe;">🎵</div>
<h2 style="color:#4c1d95;">Section 5 – Prosody & Stress Drills</h2>
<span class="tag" style="background:#ede9fe;color:#4c1d95;">5 min Daily</span>
</div>
<div class="ex-grid">
<div class="ex-card purple">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- pitch contour line -->
<polyline points="10,50 25,30 45,50 65,20 85,50 100,50" stroke="#7c3aed" stroke-width="2.5" fill="none"/>
<!-- dots at each syllable -->
<circle cx="10" cy="50" r="3" fill="#7c3aed"/>
<circle cx="25" cy="30" r="5" fill="#7c3aed"/>
<circle cx="45" cy="50" r="3" fill="#7c3aed"/>
<circle cx="65" cy="20" r="7" fill="#7c3aed"/>
<circle cx="85" cy="50" r="3" fill="#7c3aed"/>
<!-- word labels -->
<text x="5" y="65" font-size="8" fill="#374151">He</text>
<text x="20" y="65" font-size="8" fill="#374151">WANTS</text>
<text x="40" y="65" font-size="8" fill="#374151">to</text>
<text x="57" y="65" font-size="10" fill="#7c3aed" font-weight="900">EAT</text>
<text x="80" y="65" font-size="8" fill="#374151">now</text>
<!-- emphasis marker -->
<text x="56" y="14" font-size="8" fill="#7c3aed" font-weight="bold">↑ STRESS</text>
</svg>
</div>
<h3>Contrastive Stress Practice</h3>
<div class="how">
Say the sentence, emphasising the BOLD word:<br/>
<strong>"I</strong> want water." (not someone else)<br/>
"I <strong>want</strong> water." (really need it)<br/>
"I want <strong>water</strong>." (not juice)
</div>
<div class="dose">5 sentences × 3 stress patterns</div>
</div>
<div class="ex-card green">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- 3 breath groups as boxes -->
<rect x="5" y="20" width="28" height="30" rx="5" fill="#d1fae5" stroke="#059669" stroke-width="1.5"/>
<text x="9" y="33" font-size="8" fill="#065f46" font-weight="bold">I want</text>
<text x="9" y="44" font-size="8" fill="#065f46" font-weight="bold">water</text>
<!-- breath arrow -->
<path d="M35 35 Q39 28 44 35" stroke="#059669" stroke-width="1.5" fill="none"/>
<polygon points="43,36 46,33 46,38" fill="#059669"/>
<text x="33" y="25" font-size="7" fill="#059669">BREATH</text>
<rect x="48" y="20" width="28" height="30" rx="5" fill="#d1fae5" stroke="#059669" stroke-width="1.5"/>
<text x="50" y="33" font-size="8" fill="#065f46" font-weight="bold">Please</text>
<text x="50" y="44" font-size="8" fill="#065f46" font-weight="bold">call</text>
<path d="M78 35 Q82 28 87 35" stroke="#059669" stroke-width="1.5" fill="none"/>
<polygon points="86,36 89,33 89,38" fill="#059669"/>
<text x="76" y="25" font-size="7" fill="#059669">BREATH</text>
<rect x="91" y="20" width="16" height="30" rx="5" fill="#d1fae5" stroke="#059669" stroke-width="1.5"/>
<text x="93" y="33" font-size="8" fill="#065f46" font-weight="bold">the</text>
<text x="92" y="44" font-size="8" fill="#065f46" font-weight="bold">nurse</text>
<text x="15" y="68" font-size="8" fill="#374151">Take a breath between each group</text>
</svg>
</div>
<h3>Breath Group Phrases</h3>
<div class="how">
Divide longer sentences into 2–3 word groups. Take a breath between each group.<br/>
"I want… [breath] …to go… [breath] …home."
</div>
<div class="dose">10 phrases | Practice in all speech</div>
</div>
</div>
<div class="tips-box success">
<h4>✅ Daily Articulation Practice List (Pick 5 words from each group each day)</h4>
<ul>
<li><strong>Bilabials:</strong> pan, pot, boy, bat, mat, map, mom, meet, bear, bite</li>
<li><strong>Alveolars:</strong> top, ten, day, dog, name, note, lip, lake, table, dinner</li>
<li><strong>Fricatives:</strong> fan, van, sun, zoo, fish, very, seen, zero, face, voice</li>
<li><strong>Velar:</strong> cup, get, come, go, cake, good, king, gate, keep, garden</li>
<li><strong>Functional phrases:</strong> "I need help" · "I am fine" · "call my family" · "I want water" · "I feel pain here"</li>
</ul>
</div>
<div class="footer">
<span>Medicover Hospitals, Maharashtra · Speech Therapy Department</span>
<span>Page 2 of 3 · Speech Therapy HEP</span>
</div>
</div>
<!-- ═══════════════════════════════════════════════════
PAGE 3 – APHASIA EXERCISES + SCHEDULE + TRACKER
═══════════════════════════════════════════════════ -->
<div class="page">
<div class="header" style="background: linear-gradient(135deg, #7c3aed 0%, #4c1d95 100%);">
<div class="header-left">
<h1>🧠 Speech Therapy HEP – Language (Aphasia) Exercises</h1>
<p>Broca's Aphasia – Word Retrieval, Phrase Production & Melodic Intonation | Post-Stroke</p>
</div>
<div class="header-logo" style="background:rgba(255,255,255,0.18);">
<svg width="36" height="36" viewBox="0 0 36 36" fill="none">
<circle cx="18" cy="18" r="18" fill="rgba(255,255,255,0.25)"/>
<text x="7" y="24" font-size="18" fill="white">🧩</text>
</svg>
</div>
</div>
<div class="patient-card" style="background:#f5f3ff; border-color:#c4b5fd;">
<div class="field"><label>Condition</label><span>Broca's Aphasia</span></div>
<div class="field"><label>Strength</label><span>Comprehension Intact</span></div>
<div class="field"><label>Session</label><span>Afternoon / Evening – 15 min</span></div>
</div>
<div class="page-label">Page 3 of 3 · Aphasia Language Exercises, Daily Schedule & Progress Tracker</div>
<!-- SECTION: MIT -->
<div class="section-title">
<div class="icon-circle" style="background:#ede9fe;">🎶</div>
<h2 style="color:#4c1d95;">Section 6 – Melodic Intonation Therapy (MIT)</h2>
<span class="tag" style="background:#ede9fe;color:#4c1d95;">Evidence-Based for Broca's Aphasia</span>
</div>
<div class="ex-grid">
<div class="ex-card purple">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- musical notes -->
<text x="5" y="30" font-size="20" fill="#7c3aed">♩</text>
<text x="25" y="22" font-size="16" fill="#a78bfa">♪</text>
<text x="45" y="30" font-size="20" fill="#7c3aed">♩</text>
<text x="65" y="22" font-size="16" fill="#a78bfa">♪</text>
<text x="85" y="30" font-size="20" fill="#7c3aed">♩</text>
<!-- hand tapping -->
<path d="M20 55 Q30 45 40 55 Q50 65 60 55 Q70 45 80 55" stroke="#6d28d9" stroke-width="2" fill="none"/>
<!-- left hand icon -->
<text x="40" y="75" font-size="8" fill="#4c1d95">← LEFT HAND TAPPING →</text>
<!-- phrase arc -->
<text x="5" y="44" font-size="9" fill="#6d28d9" font-weight="bold">good — mor — ning</text>
</svg>
</div>
<h3>MIT – "Good Morning"</h3>
<div class="how">
1. Tap left hand on table for each syllable.<br/>
2. SING the phrase on two notes (high-low): "GOOD mor-NING"<br/>
3. Repeat 5 times. Then say it (don't sing) with tapping.
</div>
<div class="dose">5 trials × 3 daily phrases</div>
</div>
<div class="ex-card pink">
<div class="illus">
<svg width="110" height="76" viewBox="0 0 110 76">
<!-- 5 MIT phrases as speech bubbles -->
<rect x="5" y="5" width="100" height="14" rx="5" fill="#fce7f3" stroke="#db2777" stroke-width="1"/>
<text x="10" y="16" font-size="9" fill="#831843" font-weight="bold">♫ "I want water"</text>
<rect x="5" y="22" width="100" height="14" rx="5" fill="#fce7f3" stroke="#db2777" stroke-width="1"/>
<text x="10" y="33" font-size="9" fill="#831843" font-weight="bold">♫ "I need the nurse"</text>
<rect x="5" y="39" width="100" height="14" rx="5" fill="#fce7f3" stroke="#db2777" stroke-width="1"/>
<text x="10" y="50" font-size="9" fill="#831843" font-weight="bold">♫ "I feel better"</text>
<rect x="5" y="56" width="100" height="14" rx="5" fill="#fce7f3" stroke="#db2777" stroke-width="1"/>
<text x="10" y="67" font-size="9" fill="#831843" font-weight="bold">♫ "Thank you very much"</text>
</svg>
</div>
<h3>MIT Practice Phrases</h3>
<div class="how">
Practise these 5 phrases daily using singing + left-hand tapping:<br/>
• "I want water" • "I need the nurse"<br/>
• "I feel better" • "Thank you very much"<br/>
• "Good morning" (family can sing together)
</div>
<div class="dose">Each phrase × 5 trials | Evening</div>
</div>
</div>
<!-- SECTION: WORD RETRIEVAL -->
<div class="section-title">
<div class="icon-circle" style="background:#fef3c7;">🔍</div>
<h2 style="color:#92400e;">Section 7 – Word Retrieval (Naming Practice)</h2>
<span class="tag" style="background:#fef3c7;color:#92400e;">10 min Daily – Family helps</span>
</div>
<div class="ex-grid-3">
<div class="ex-card orange">
<div class="illus">
<svg width="78" height="66" viewBox="0 0 78 66">
<!-- picture card -->
<rect x="10" y="5" width="58" height="40" rx="5" fill="#fed7aa" stroke="#ea580c" stroke-width="1.5"/>
<!-- cup drawing -->
<path d="M25 30 L25 15 L53 15 L53 30 Q39 38 25 30Z" fill="white" stroke="#92400e" stroke-width="1.5"/>
<path d="M53 20 Q62 20 62 25 Q62 30 53 28" stroke="#92400e" stroke-width="1.5" fill="none"/>
<!-- label -->
<text x="24" y="54" font-size="9" fill="#92400e" font-weight="bold">PICTURE →</text>
<text x="20" y="64" font-size="8" fill="#374151">Name the object</text>
</svg>
</div>
<h3>Picture Naming</h3>
<div class="how">
Family shows flashcard/phone picture. Patient names it.<br/>
If stuck: family gives first SOUND only (e.g. "c..." for cup). Wait 10 seconds before giving more help.
</div>
<div class="dose">20 pictures daily</div>
</div>
<div class="ex-card yellow">
<div class="illus">
<svg width="78" height="66" viewBox="0 0 78 66">
<!-- automatic sequences -->
<text x="5" y="20" font-size="11" fill="#b45309" font-weight="900">1, 2, 3, 4, 5</text>
<line x1="5" y1="24" x2="73" y2="24" stroke="#fde68a" stroke-width="1.5"/>
<text x="5" y="38" font-size="9" fill="#92400e">Mon · Tue · Wed</text>
<text x="5" y="50" font-size="9" fill="#92400e">Thu · Fri · Sat · Sun</text>
<text x="5" y="62" font-size="9" fill="#92400e">Jan · Feb · Mar · Apr</text>
</svg>
</div>
<h3>Automatic Sequences</h3>
<div class="how">
Count 1–10 aloud slowly.<br/>
Say days of the week.<br/>
Say months of the year.<br/>
<em>These are often easiest to retrieve first.</em>
</div>
<div class="dose">Each sequence × 2 daily</div>
</div>
<div class="ex-card blue">
<div class="illus">
<svg width="78" height="66" viewBox="0 0 78 66">
<!-- sentence completion -->
<rect x="5" y="8" width="68" height="18" rx="4" fill="#dbeafe" stroke="#3b82f6" stroke-width="1"/>
<text x="10" y="21" font-size="9" fill="#1e40af">"I drink ___"</text>
<rect x="5" y="30" width="68" height="18" rx="4" fill="#dbeafe" stroke="#3b82f6" stroke-width="1"/>
<text x="10" y="43" font-size="9" fill="#1e40af">"My name is ___"</text>
<rect x="5" y="52" width="68" height="14" rx="4" fill="#dbeafe" stroke="#3b82f6" stroke-width="1"/>
<text x="10" y="63" font-size="9" fill="#1e40af">"I live in ___"</text>
</svg>
</div>
<h3>Sentence Completion</h3>
<div class="how">
Family reads sentence starter, patient fills in the blank word.<br/>
"I drink ___" / "The sun is ___" / "My name is ___"
</div>
<div class="dose">10 items daily</div>
</div>
</div>
<!-- DAILY SCHEDULE TABLE -->
<div class="section-title">
<div class="icon-circle" style="background:#f0fdf4;">📅</div>
<h2 style="color:#166534;">Daily Home Exercise Schedule</h2>
</div>
<table class="schedule-table">
<thead>
<tr>
<th>Time</th>
<th>Exercise</th>
<th>Duration</th>
<th>Who Helps?</th>
</tr>
</thead>
<tbody>
<tr>
<td>MORNING</td>
<td>
<div class="ex-name">Diaphragmatic Breathing + Sustained /a/</div>
<div class="ex-desc">10 breaths + 10 trials of loud /a/</div>
</td>
<td>10 min</td>
<td>Independent</td>
</tr>
<tr>
<td>MORNING</td>
<td>
<div class="ex-name">LSVT LOUD Voice Drill (4 tasks)</div>
<div class="ex-desc">Loud /a/, pitch slide up, pitch slide down, loud phrase</div>
</td>
<td>5 min</td>
<td>Independent</td>
</tr>
<tr>
<td>MORNING</td>
<td>
<div class="ex-name">MIT Practice – 5 daily phrases with family</div>
<div class="ex-desc">Sing + left-hand tap: "I want water", "Good morning" etc.</div>
</td>
<td>5 min</td>
<td>Family/Caregiver</td>
</tr>
<tr>
<td>AFTERNOON</td>
<td>
<div class="ex-name">Oral Motor Exercises (Lip, Tongue, Jaw)</div>
<div class="ex-desc">Sections 2 – all 6 exercises in sequence</div>
</td>
<td>10 min</td>
<td>Independent</td>
</tr>
<tr>
<td>AFTERNOON</td>
<td>
<div class="ex-name">Consonant Drill + Clear Speech</div>
<div class="ex-desc">5 words each from bilabial, alveolar, fricative lists</div>
</td>
<td>10 min</td>
<td>Family reads list</td>
</tr>
<tr>
<td>AFTERNOON</td>
<td>
<div class="ex-name">Sentence Completion + Picture Naming</div>
<div class="ex-desc">10 picture names + 10 sentence completions</div>
</td>
<td>10 min</td>
<td>Family/Caregiver</td>
</tr>
<tr>
<td>EVENING</td>
<td>
<div class="ex-name">Paced Speech – Metronome Phrases</div>
<div class="ex-desc">10 functional phrases at 60 bpm</div>
</td>
<td>5 min</td>
<td>Independent (use phone app)</td>
</tr>
<tr>
<td>EVENING</td>
<td>
<div class="ex-name">Oral Reading Aloud</div>
<div class="ex-desc">Read 1 short paragraph slowly and clearly</div>
</td>
<td>5 min</td>
<td>Family listens</td>
</tr>
<tr>
<td>EVENING</td>
<td>
<div class="ex-name">Conversational Practice</div>
<div class="ex-desc">Family asks 5 questions; patient answers in 1–3 words using voice + gesture + picture board</div>
</td>
<td>10 min</td>
<td>Family/Caregiver</td>
</tr>
</tbody>
</table>
<!-- 15-DAY TRACKER -->
<div class="section-title">
<div class="icon-circle" style="background:#fef3c7;">✅</div>
<h2 style="color:#92400e;">15-Day Progress Tracker</h2>
</div>
<div class="tracker-grid">
<div class="tracker-day"><div class="day-num">1</div><div class="day-label">Day 1</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">2</div><div class="day-label">Day 2</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">3</div><div class="day-label">Day 3</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">4</div><div class="day-label">Day 4</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">5</div><div class="day-label">Day 5</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">6</div><div class="day-label">Day 6</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">7</div><div class="day-label">Day 7</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">8</div><div class="day-label">Day 8</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">9</div><div class="day-label">Day 9</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">10</div><div class="day-label">Day 10</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">11</div><div class="day-label">Day 11</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">12</div><div class="day-label">Day 12</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">13</div><div class="day-label">Day 13</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">14</div><div class="day-label">Day 14</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
<div class="tracker-day"><div class="day-num">15</div><div class="day-label">Day 15</div><div class="check-boxes"><div class="cb"></div><div class="cb"></div><div class="cb"></div></div></div>
</div>
<p style="font-size:9px;color:#64748b;margin-bottom:10px;">Each day has 3 checkboxes: ☐ Morning done ☐ Afternoon done ☐ Evening done. Tick each box after completing that session.</p>
<!-- CAREGIVER TIPS -->
<div class="ex-grid" style="margin-bottom:8px;">
<div class="tips-box warning" style="margin:0;">
<h4>⚠️ Family / Caregiver Rules</h4>
<ul>
<li>Give patient <strong>10 seconds</strong> to respond — do NOT finish sentences for him</li>
<li>Accept gestures, pointing, or picture board as valid communication</li>
<li>Ask YES/NO questions when he is tired</li>
<li>Speak slowly and clearly yourself</li>
<li>Practice MIT phrases <strong>together</strong> — make it fun</li>
</ul>
</div>
<div class="tips-box warning" style="margin:0; border-color:#ef4444; background:#fef2f2;">
<h4 style="color:#b91c1c;">🚨 Call Doctor / SLP If You Notice:</h4>
<ul>
<li>Sudden new loss of speech or worsening</li>
<li>New difficulty swallowing food or liquids</li>
<li>Increased confusion or memory problems</li>
<li>Worsening unsteadiness when walking</li>
<li>New facial drooping or arm weakness</li>
</ul>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Dr. Pawan Ojha & Dr. Suranjana Basak, Neurology · SLP Department · 040-68334455</span>
<span>Page 3 of 3 · Speech Therapy HEP · Issued 29 May 2026</span>
</div>
</div>
</body>
</html>
cd /home/daytona/workspace/speech-hep && python3 -c "import weasyprint; print('weasyprint ok')" 2>&1 | head -3
which wkhtmltopdf 2>/dev/null && echo "wkhtmltopdf found" || echo "not found"; which chromium 2>/dev/null || which chromium-browser 2>/dev/null || which google-chrome 2>/dev/null || which puppeteer 2>/dev/null || echo "no chrome"; python3 -c "from playwright.sync_api import sync_playwright; print('playwright ok')" 2>&1 | head -2
cd /home/daytona/workspace/speech-hep && /usr/bin/chromium --headless --disable-gpu --no-sandbox --print-to-pdf=speech_hep.pdf --print-to-pdf-no-header "file:///home/daytona/workspace/speech-hep/speech_hep.html" 2>&1 | tail -5
ls -lh /home/daytona/workspace/speech-hep/
speech hep
PDF Document · PDF
speech hep
HTML File · HTML
Make a video demonstration script for each exercise
~/speech-hep/video_script.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Video Demonstration Script – Speech Therapy HEP</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Courier+Prime:wght@400;700&display=swap');
* { margin:0; padding:0; box-sizing:border-box; }
body {
font-family: 'Nunito', Arial, sans-serif;
background: #f1f5f9;
color: #1e293b;
font-size: 12.5px;
}
/* ── PAGE ── */
.page {
width: 210mm;
min-height: 297mm;
background: white;
margin: 0 auto 20px auto;
padding: 12mm 14mm;
box-shadow: 0 4px 20px rgba(0,0,0,0.12);
page-break-after: always;
}
/* ── COVER PAGE ── */
.cover {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 270mm;
text-align: center;
background: linear-gradient(160deg, #1e3a8a 0%, #7c3aed 50%, #0f766e 100%);
border-radius: 16px;
padding: 30px;
color: white;
}
.cover .badge {
background: rgba(255,255,255,0.18);
border: 1.5px solid rgba(255,255,255,0.4);
border-radius: 30px;
padding: 6px 20px;
font-size: 11px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
margin-bottom: 20px;
}
.cover h1 {
font-size: 32px;
font-weight: 900;
line-height: 1.2;
margin-bottom: 12px;
}
.cover h2 {
font-size: 16px;
font-weight: 600;
opacity: 0.85;
margin-bottom: 30px;
}
.cover .meta-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
width: 100%;
max-width: 400px;
margin-bottom: 30px;
}
.cover .meta-item {
background: rgba(255,255,255,0.14);
border-radius: 10px;
padding: 10px 14px;
text-align: left;
}
.cover .meta-item label {
font-size: 9px;
text-transform: uppercase;
letter-spacing: 1px;
opacity: 0.7;
display: block;
margin-bottom: 3px;
}
.cover .meta-item span {
font-size: 12px;
font-weight: 700;
}
.cover .video-count {
background: rgba(255,255,255,0.22);
border-radius: 12px;
padding: 14px 28px;
font-size: 22px;
font-weight: 900;
margin-bottom: 12px;
}
.cover .instructions {
font-size: 11px;
opacity: 0.8;
max-width: 360px;
line-height: 1.7;
}
/* ── SECTION DIVIDER ── */
.section-divider {
border-radius: 10px;
padding: 8px 16px;
margin: 14px 0 10px 0;
display: flex;
align-items: center;
gap: 10px;
}
.section-divider h2 {
font-size: 14px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.section-divider .video-num {
font-size: 11px;
font-weight: 700;
opacity: 0.8;
margin-left: auto;
white-space: nowrap;
}
/* ── SCRIPT BLOCK ── */
.script-block {
border: 1.5px solid;
border-radius: 12px;
overflow: hidden;
margin-bottom: 12px;
page-break-inside: avoid;
}
.script-header {
padding: 8px 14px;
display: flex;
align-items: center;
gap: 10px;
}
.script-header .vid-tag {
font-size: 10px;
font-weight: 900;
padding: 2px 10px;
border-radius: 20px;
text-transform: uppercase;
letter-spacing: 0.5px;
background: rgba(0,0,0,0.12);
}
.script-header h3 {
font-size: 13px;
font-weight: 900;
}
.script-header .duration {
margin-left: auto;
font-size: 10px;
font-weight: 700;
opacity: 0.8;
}
.script-body {
background: white;
padding: 10px 14px;
}
/* ── SCENE TABLE ── */
.scene-table {
width: 100%;
border-collapse: collapse;
font-size: 11px;
margin-bottom: 8px;
}
.scene-table thead tr {
background: #f1f5f9;
}
.scene-table thead th {
padding: 5px 8px;
text-align: left;
font-size: 9px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #64748b;
border-bottom: 2px solid #e2e8f0;
}
.scene-table tbody td {
padding: 6px 8px;
border-bottom: 1px solid #f1f5f9;
vertical-align: top;
line-height: 1.55;
}
.scene-table tbody tr:hover { background: #fafafa; }
.scene-table .time-col {
width: 70px;
font-weight: 700;
color: #6366f1;
white-space: nowrap;
font-family: 'Courier Prime', monospace;
font-size: 10px;
}
.scene-table .cam-col {
width: 90px;
color: #0f766e;
font-weight: 600;
font-size: 10px;
}
.scene-table .action-col {
color: #374151;
}
.scene-table .action-col .action-label {
font-weight: 700;
color: #1e293b;
}
.scene-table .action-col .therapist-says {
font-style: italic;
color: #1d4ed8;
font-size: 10.5px;
}
.scene-table .action-col .caption {
font-size: 9.5px;
color: #94a3b8;
}
.scene-table .action-col .onscreen {
font-size: 9.5px;
color: #7c3aed;
font-weight: 600;
}
/* ── COLOUR THEMES ── */
/* Blue */
.sb-blue { border-color: #93c5fd; }
.sb-blue .script-header { background: #1d4ed8; color: white; }
/* Green */
.sb-green { border-color: #86efac; }
.sb-green .script-header { background: #15803d; color: white; }
/* Purple */
.sb-purple { border-color: #c4b5fd; }
.sb-purple .script-header { background: #6d28d9; color: white; }
/* Orange */
.sb-orange { border-color: #fed7aa; }
.sb-orange .script-header { background: #c2410c; color: white; }
/* Teal */
.sb-teal { border-color: #99f6e4; }
.sb-teal .script-header { background: #0f766e; color: white; }
/* Pink */
.sb-pink { border-color: #fbcfe8; }
.sb-pink .script-header { background: #9d174d; color: white; }
/* Yellow */
.sb-yellow { border-color: #fde68a; }
.sb-yellow .script-header { background: #b45309; color: white; }
/* Red */
.sb-red { border-color: #fca5a5; }
.sb-red .script-header { background: #991b1b; color: white; }
/* Indigo */
.sb-indigo { border-color: #a5b4fc; }
.sb-indigo .script-header { background: #3730a3; color: white; }
/* ── PRODUCTION NOTES ── */
.prod-note {
border-radius: 8px;
padding: 7px 12px;
font-size: 10px;
margin-top: 6px;
line-height: 1.6;
}
.prod-note.setup { background: #eff6ff; border-left: 3px solid #3b82f6; }
.prod-note.tip { background: #f0fdf4; border-left: 3px solid #22c55e; }
.prod-note.warn { background: #fffbeb; border-left: 3px solid #f59e0b; }
.prod-note h5 {
font-size: 9.5px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 3px;
}
.prod-note.setup h5 { color: #1d4ed8; }
.prod-note.tip h5 { color: #15803d; }
.prod-note.warn h5 { color: #b45309; }
/* ── OVERVIEW TABLE ── */
.overview-table {
width: 100%;
border-collapse: collapse;
font-size: 11px;
margin-bottom: 12px;
border-radius: 10px;
overflow: hidden;
}
.overview-table thead tr { background: #1e293b; color: white; }
.overview-table thead th {
padding: 7px 10px;
text-align: left;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.overview-table tbody tr:nth-child(even) { background: #f8fafc; }
.overview-table tbody td {
padding: 6px 10px;
border-bottom: 1px solid #e2e8f0;
}
.overview-table .num { font-weight: 900; color: #6366f1; }
.overview-table .title-col { font-weight: 700; }
.overview-table .dur-col { color: #0f766e; font-weight: 700; font-family: monospace; }
/* ── FOOTER ── */
.footer {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid #e2e8f0;
display: flex;
justify-content: space-between;
font-size: 9px;
color: #94a3b8;
}
.page-label {
font-size: 9px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1px;
color: #94a3b8;
margin-bottom: 8px;
}
@media print {
body { background: white; }
.page { box-shadow: none; margin: 0; page-break-after: always; }
}
</style>
</head>
<body>
<!-- ═══════════════════════════ COVER PAGE ═══════════════════════════ -->
<div class="page" style="padding:8mm;">
<div class="cover">
<div class="badge">🎬 Speech Therapy Video Script Series</div>
<h1>Video Demonstration<br/>Script Guide</h1>
<h2>Home Exercise Program for<br/>Spastic Dysarthria & Broca's Aphasia</h2>
<div class="meta-grid">
<div class="meta-item"><label>Patient</label><span>61-Year-Old Male</span></div>
<div class="meta-item"><label>Hospital</label><span>Medicover, Maharashtra</span></div>
<div class="meta-item"><label>Neurologists</label><span>Dr. Ojha & Dr. Basak</span></div>
<div class="meta-item"><label>Date Issued</label><span>29 May 2026</span></div>
</div>
<div class="video-count">12 Exercise Videos · ~45 min total</div>
<p class="instructions">
This document provides a complete shot-by-shot, word-for-word video script for each exercise in the Home Exercise Program.<br/><br/>
Each script includes: Camera angles · On-screen text · Therapist narration · Timing cues · Patient demo instructions · Common mistakes to highlight.
</p>
</div>
</div>
<!-- ═══════════════════════════ PAGE 2 – OVERVIEW + PRODUCTION GUIDE ═══════════════════════════ -->
<div class="page">
<div class="page-label">Production Overview & Video Index</div>
<div class="section-divider" style="background:#1e293b;color:white;">
<span style="font-size:16px;">🎬</span>
<h2 style="color:white;">Complete Video Index</h2>
<span class="video-num" style="color:rgba(255,255,255,0.7);">12 Videos Total</span>
</div>
<table class="overview-table">
<thead>
<tr>
<th>#</th>
<th>Video Title</th>
<th>Category</th>
<th>Duration</th>
<th>Who Demonstrates</th>
<th>Priority</th>
</tr>
</thead>
<tbody>
<tr><td class="num">V1</td><td class="title-col">Diaphragmatic Breathing</td><td>Breathing</td><td class="dur-col">2:30</td><td>Therapist + Patient</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V2</td><td class="title-col">Sustained Vowel /aaa/ + LSVT LOUD</td><td>Voice/Phonation</td><td class="dur-col">3:00</td><td>Therapist + Patient</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V3</td><td class="title-col">Lip Pucker & Spread</td><td>Oral Motor</td><td class="dur-col">2:00</td><td>Therapist close-up</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V4</td><td class="title-col">Jaw Opening Exercise</td><td>Oral Motor</td><td class="dur-col">1:30</td><td>Therapist profile view</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V5</td><td class="title-col">Tongue Tip Up & Lateralisation</td><td>Oral Motor</td><td class="dur-col">2:30</td><td>Therapist close-up</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V6</td><td class="title-col">Rapid Syllable Drill (puh-tuh-kuh)</td><td>Articulation</td><td class="dur-col">2:30</td><td>Therapist close-up</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V7</td><td class="title-col">Consonant Word Drills (Bilabial & Alveolar)</td><td>Articulation</td><td class="dur-col">3:30</td><td>Therapist + word cards</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V8</td><td class="title-col">Metronomic Paced Speech</td><td>Rate Control</td><td class="dur-col">3:00</td><td>Therapist + metronome app</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V9</td><td class="title-col">Clear Speech Strategy</td><td>Rate Control</td><td class="dur-col">3:00</td><td>Therapist (contrast demo)</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V10</td><td class="title-col">Melodic Intonation Therapy (MIT)</td><td>Aphasia – Language</td><td class="dur-col">5:00</td><td>Therapist + Patient together</td><td>⭐⭐⭐ Essential</td></tr>
<tr><td class="num">V11</td><td class="title-col">Picture Naming & Word Retrieval</td><td>Aphasia – Language</td><td class="dur-col">4:00</td><td>Therapist + Family</td><td>⭐⭐ High</td></tr>
<tr><td class="num">V12</td><td class="title-col">Conversational Practice + Family Rules</td><td>Functional Communication</td><td class="dur-col">5:00</td><td>Therapist + Family roleplay</td><td>⭐⭐ High</td></tr>
</tbody>
</table>
<!-- PRODUCTION SETUP -->
<div class="section-divider" style="background:#0f172a;color:white;margin-top:10px;">
<span style="font-size:16px;">🎥</span>
<h2 style="color:white;">General Production Setup</h2>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;">
<div class="prod-note setup">
<h5>📷 Camera & Equipment</h5>
<ul style="padding-left:14px;line-height:1.8;">
<li><strong>Camera 1 (Main):</strong> Tripod, eye-level, ~1.2m from subject — captures head and torso</li>
<li><strong>Camera 2 (Close-up):</strong> Handheld or ring stand — tight shot on mouth/lips for oral motor videos</li>
<li><strong>Microphone:</strong> Lapel/lavalier mic on therapist — critical for clear speech audio</li>
<li><strong>Resolution:</strong> 1080p minimum; record in landscape (16:9)</li>
</ul>
</div>
<div class="prod-note setup">
<h5>💡 Lighting & Setting</h5>
<ul style="padding-left:14px;line-height:1.8;">
<li><strong>Location:</strong> Quiet therapy room or home — neutral wall background</li>
<li><strong>Lighting:</strong> Softbox or ring light facing therapist; avoid backlight from windows</li>
<li><strong>Attire:</strong> Therapist in white/light uniform; patient in comfortable clothing</li>
<li><strong>Props:</strong> Chair (no wheels), small table, printed word cards, phone with metronome app</li>
</ul>
</div>
<div class="prod-note tip">
<h5>🎬 Editing Notes</h5>
<ul style="padding-left:14px;line-height:1.8;">
<li>Add text overlay for every instruction (font: bold, white on dark bar at bottom)</li>
<li>Use slow-motion (0.5x) replay for oral motor close-up shots</li>
<li>Show rep counter (e.g. "Rep 3 of 10") as corner badge</li>
<li>Include a "✓ Correct" / "✗ Common Mistake" split-screen for 2–3 exercises</li>
<li>Language: narrate in English; add subtitles in Marathi/Hindi for patient's family</li>
</ul>
</div>
<div class="prod-note warn">
<h5>⚠️ Script Key Codes</h5>
<ul style="padding-left:14px;line-height:1.8;">
<li><strong>[CAM1]</strong> = Main wide/medium shot</li>
<li><strong>[CAM2]</strong> = Close-up on mouth/face</li>
<li><strong>[TEXT]</strong> = On-screen text overlay</li>
<li><strong>[SAYS]</strong> = Therapist's spoken narration (verbatim)</li>
<li><strong>[DEMO]</strong> = Physical action to perform on camera</li>
<li><strong>[PAUSE]</strong> = Hold on screen / beat of silence</li>
</ul>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 2 of 8 · Production Overview</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 3 – V1 + V2 ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 3 of 8 · Video Scripts V1 – V2</div>
<!-- V1: DIAPHRAGMATIC BREATHING -->
<div class="script-block sb-blue">
<div class="script-header">
<div class="vid-tag">V1</div>
<h3>💨 Diaphragmatic Breathing Exercise</h3>
<span class="duration">⏱ 2 min 30 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Patient seated upright in chair. Therapist stands beside. Camera 1 = full body side view. Camera 2 = close-up on abdomen/hand. Natural lighting from front.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1] Wide</td>
<td class="action-col">
<div class="onscreen">[TEXT] "EXERCISE 1: DIAPHRAGMATIC BREATHING" | "For Breath Support in Speech"</div>
</td>
</tr>
<tr>
<td class="time-col">00:08 – 00:22</td>
<td class="cam-col">[CAM1] Medium</td>
<td class="action-col">
<div class="therapist-says">"Hello. This is your first exercise — Diaphragmatic Breathing. This is the foundation of all your speech exercises. We are training your belly to control your breath so you have enough air to speak clearly."</div>
</td>
</tr>
<tr>
<td class="time-col">00:22 – 00:35</td>
<td class="cam-col">[CAM1] Medium</td>
<td class="action-col">
<div class="action-label">[DEMO] Therapist sits in correct posture.</div>
<div class="therapist-says">"First — sit up straight. Feet flat on the floor. Head up. Shoulders relaxed — not hunched up. Good posture opens your airway."</div>
<div class="onscreen">[TEXT] "Sit upright · Feet flat · Shoulders relaxed"</div>
</td>
</tr>
<tr>
<td class="time-col">00:35 – 00:50</td>
<td class="cam-col">[CAM2] Abdomen close-up</td>
<td class="action-col">
<div class="action-label">[DEMO] Therapist places one hand on abdomen, one on chest.</div>
<div class="therapist-says">"Place one hand here — on your belly. And one hand on your chest. When we breathe correctly, ONLY the belly hand should move. The chest stays still."</div>
<div class="onscreen">[TEXT] "Hand on belly → should RISE" | "Hand on chest → stays STILL"</div>
</td>
</tr>
<tr>
<td class="time-col">00:50 – 01:20</td>
<td class="cam-col">[CAM2] Abdomen + [CAM1] Face</td>
<td class="action-col">
<div class="action-label">[DEMO] Full 3-breath demonstration, slow and exaggerated.</div>
<div class="therapist-says">"Now watch me. Breathe IN slowly through the nose — 1… 2… 3 — feel the belly rise." [pause] "Now breathe OUT slowly through the mouth — 1… 2… 3… 4… 5 — belly falls. The OUT breath is longer than the IN breath. That long out-breath is what carries your voice."</div>
<div class="onscreen">[TEXT] "IN: 3 seconds (nose)" → "OUT: 5 seconds (mouth)"</div>
</td>
</tr>
<tr>
<td class="time-col">01:20 – 01:50</td>
<td class="cam-col">[CAM1] Wide — both therapist and patient</td>
<td class="action-col">
<div class="action-label">[DEMO] Patient attempts 3 breaths. Therapist counts aloud and nods/guides.</div>
<div class="therapist-says">"Now you try. Hand on belly. Breathe IN — 1, 2, 3. Good. OUT — 1, 2, 3, 4, 5. Belly goes in. Excellent. Let's do 3 more together."</div>
<div class="onscreen">[TEXT counter] "Rep 1 of 10" → "Rep 2 of 10" → "Rep 3 of 10"</div>
</td>
</tr>
<tr>
<td class="time-col">01:50 – 02:10</td>
<td class="cam-col">[CAM1] Split screen: CORRECT vs MISTAKE</td>
<td class="action-col">
<div class="action-label">[DEMO] Left panel: correct belly breathing. Right panel: common mistake (shoulder rise).</div>
<div class="therapist-says">"One common mistake is lifting the shoulders. Watch — this is WRONG [raises shoulders on inhale]. This is CORRECT [belly expands, shoulders still]. Only the belly moves."</div>
<div class="onscreen">[TEXT] "❌ Shoulder rise = shallow breath" | "✅ Belly rise = deep breath"</div>
</td>
</tr>
<tr>
<td class="time-col">02:10 – 02:30</td>
<td class="cam-col">[CAM1] Medium — therapist faces camera</td>
<td class="action-col">
<div class="therapist-says">"Do 10 breaths in the morning and 10 in the evening. Each time — 3 counts IN, 5 counts OUT. Do 3 sets. You can do this in bed, in a chair, anywhere. This is your first exercise every single day."</div>
<div class="onscreen">[TEXT] "DOSE: 10 breaths × 3 sets | Morning & Evening"</div>
</td>
</tr>
</tbody>
</table>
<div class="prod-note tip"><h5>✅ Editor Note</h5>Add slow-motion (0.5x) replay of belly rise/fall at 01:05. Overlay animated expand/contract circle on abdomen area.</div>
</div>
</div>
<!-- V2: SUSTAINED VOWEL + LSVT -->
<div class="script-block sb-green">
<div class="script-header">
<div class="vid-tag">V2</div>
<h3>🔊 Sustained Vowel /aaa/ + LSVT LOUD Voice Drill</h3>
<span class="duration">⏱ 3 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Therapist seated facing camera. Sound level meter app visible on phone beside them. Camera 1 = medium head-torso shot. Camera 2 = close-up of open mouth during /a/ production.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 2: VOICE — Sustained /aaa/ + LSVT LOUD" | "For Voice Strength & Loudness"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:25</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"This exercise trains your voice to be strong and loud. Because of your stroke, the muscles that control your voice have become stiff and strained. We use a method called LSVT LOUD — it teaches your brain to produce a BIG, strong voice again."</div>
</td>
</tr>
<tr>
<td class="time-col">00:25 – 01:00</td>
<td class="cam-col">[CAM1] then [CAM2] mouth close-up</td>
<td class="action-col">
<div class="action-label">[DEMO] Full breath then demonstrate 8-second /a/.</div>
<div class="therapist-says">"Task 1: Take a deep belly breath. Then open your mouth and say aaa — as LOUD as you can, for as LONG as you can. Watch me."</div>
<div class="action-label">[DEMO] Inhale visibly → open mouth wide → sustained /aaaaaaa/ for 8 sec with good loudness.</div>
<div class="onscreen">[TEXT] Timer counts up: 1…2…3…4…5…6…7…8 sec | "TARGET: 8 seconds minimum"</div>
<div class="therapist-says">"8 seconds. Your target is 8 seconds. If you can only do 5 at first, that is fine — build up every day."</div>
</td>
</tr>
<tr>
<td class="time-col">01:00 – 01:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="action-label">[DEMO] Pitch slide UP.</div>
<div class="therapist-says">"Task 2: Now we vary the pitch. Say aaa starting LOW — then slide all the way UP high. Like a siren going up. Watch."</div>
<div class="action-label">[DEMO] /a/ from very low to very high pitch, sliding smoothly.</div>
<div class="onscreen">[TEXT] Animated rising pitch arrow (↑) with "LOW → HIGH"</div>
<div class="therapist-says">"Task 3: Now the opposite. Start HIGH — slide DOWN low."</div>
<div class="action-label">[DEMO] /a/ from high to low.</div>
<div class="onscreen">[TEXT] Descending arrow "HIGH → LOW"</div>
</td>
</tr>
<tr>
<td class="time-col">01:30 – 02:10</td>
<td class="cam-col">[CAM1] phone screen visible showing dB meter</td>
<td class="action-col">
<div class="action-label">[DEMO] Task 4 — loud functional phrase.</div>
<div class="therapist-says">"Task 4: Now use the same LOUD voice in a phrase. Say this with me — 'I WANT WATER'. Take a breath first. Then say it LOUD, like you are talking to someone across the room."</div>
<div class="action-label">[DEMO] "I WANT WATER" loudly, clearly, slow pace. Phone dB meter shows spike.</div>
<div class="onscreen">[TEXT] "I WANT WATER" in large bold font. dB meter graphic showing 70+ dB range.</div>
</td>
</tr>
<tr>
<td class="time-col">02:10 – 02:40</td>
<td class="cam-col">[CAM1] medium</td>
<td class="action-col">
<div class="therapist-says">"The most important rule of LSVT LOUD is this — use this SAME loud voice in every single conversation. Not just in exercises. When you talk to your family, when you ask for water, when you say good morning — always speak at this volume. Your brain needs constant practice to relearn loudness."</div>
<div class="onscreen">[TEXT] "Use LOUD voice in ALL conversations — not just during exercises"</div>
</td>
</tr>
<tr>
<td class="time-col">02:40 – 03:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Do all 4 tasks every morning. 5 trials of each. This is your voice warm-up before any other speech exercises."</div>
<div class="onscreen">[TEXT] "DOSE: Task 1–4 × 5 trials each | Every Morning"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 3 of 8 · V1 – V2</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 4 – V3 + V4 + V5 ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 4 of 8 · Video Scripts V3 – V5 (Oral Motor)</div>
<!-- V3: LIP PUCKER & SPREAD -->
<div class="script-block sb-pink">
<div class="script-header">
<div class="vid-tag">V3</div>
<h3>👄 Lip Pucker & Lip Spread Exercise</h3>
<span class="duration">⏱ 2 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Camera 2 dominates this video — tight frame on therapist's mouth from front, chin to nose. Good front lighting essential. Consider filming in front of a plain white or grey card.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 3: LIP PUCKER & SPREAD" | "For lip movement and /p/ /b/ /m/ /w/ sounds"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:20</td>
<td class="cam-col">[CAM1] medium</td>
<td class="action-col">
<div class="therapist-says">"Your lips need to move precisely to make sounds like p, b, m, and w. After a stroke, lip muscles can become stiff. This exercise stretches and strengthens them."</div>
</td>
</tr>
<tr>
<td class="time-col">00:20 – 01:05</td>
<td class="cam-col">[CAM2] mouth close-up — FULL SCREEN</td>
<td class="action-col">
<div class="action-label">[DEMO] PUCKER — round lips as tightly as possible into kiss shape, hold 3 sec. Release.</div>
<div class="therapist-says">"PUCKER — round your lips as tightly as you can. Hold… 1… 2… 3… and release. Now SPREAD — stretch your lips into a wide smile. Hold… 1… 2… 3… and relax."</div>
<div class="action-label">[DEMO] Alternate pucker and spread 5 times slowly for camera. Each transition is deliberate.</div>
<div class="onscreen">[TEXT alternates] "PUCKER → Hold 3 sec" / "SPREAD → Hold 3 sec" — appears on each change</div>
<div class="therapist-says">"Feel the difference — pucker brings your lips forward, spread pulls them back. We need both movements for clear speech."</div>
</td>
</tr>
<tr>
<td class="time-col">01:05 – 01:35</td>
<td class="cam-col">[CAM2] close-up + [CAM1] PiP (picture-in-picture)</td>
<td class="action-col">
<div class="action-label">[DEMO] Show correct form vs. common mistake (half-hearted spread).</div>
<div class="therapist-says">"Make sure you are going to the FULL position each time. This [half smile] is not enough. This [full wide smile] — that's it. Work hard against the stiffness."</div>
<div class="onscreen">[TEXT] "❌ Half movement — not enough" | "✅ Full range — good work"</div>
</td>
</tr>
<tr>
<td class="time-col">01:35 – 02:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Do 10 repetitions of each — 10 puckers, 10 spreads — then repeat the set. Take a 30-second rest between sets. Do this every day in your afternoon session."</div>
<div class="onscreen">[TEXT] "DOSE: 10 reps each × 2 sets | Afternoon daily"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- V4: JAW OPENING -->
<div class="script-block sb-purple">
<div class="script-header">
<div class="vid-tag">V4</div>
<h3>🫦 Jaw Opening Exercise</h3>
<span class="duration">⏱ 1 min 30 sec</span>
</div>
<div class="script-body">
<div class="prod-note warn"><h5>⚠️ Safety Note to Narrate</h5>Emphasise: no resistance/force. Gentle ROM only. Patient had right UMN involvement — jaw muscles may be spastic. No pushing beyond comfort.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 4: JAW OPENING" | "For jaw range of motion and vowel sounds"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:25</td>
<td class="cam-col">[CAM1] profile / 3/4 view</td>
<td class="action-col">
<div class="therapist-says">"This exercise increases the range of motion of your jaw. After a stroke, the jaw can feel tight or restricted. Opening it fully allows you to produce clear vowel sounds and helps with eating and swallowing as well. IMPORTANT — never force your jaw. Gentle movement only. If you feel pain — stop."</div>
<div class="onscreen">[TEXT] "⚠️ Gentle movement only. Stop if you feel pain."</div>
</td>
</tr>
<tr>
<td class="time-col">00:25 – 01:05</td>
<td class="cam-col">[CAM2] side profile close-up on jaw</td>
<td class="action-col">
<div class="action-label">[DEMO] 5 slow jaw openings with 3-second hold at maximum comfortable opening.</div>
<div class="therapist-says">"Open your jaw as wide as is comfortable. Not to the point of pain — just to a good stretch. Hold open… 1… 2… 3… now slowly close. Do not snap it shut — control the closing movement. That control is just as important as the opening."</div>
<div class="onscreen">[TEXT] "Open → Hold 3 sec → Close slowly" — rep counter in corner</div>
</td>
</tr>
<tr>
<td class="time-col">01:05 – 01:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Do 10 repetitions, rest, then 10 more. Never use your hands to push the jaw open. Let gravity and your muscles do the work naturally."</div>
<div class="onscreen">[TEXT] "DOSE: 10 reps × 2 sets | Afternoon daily" + "⚠️ No resistance — gentle only"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- V5: TONGUE -->
<div class="script-block sb-teal">
<div class="script-header">
<div class="vid-tag">V5</div>
<h3>👅 Tongue Tip Up & Tongue Lateralisation</h3>
<span class="duration">⏱ 2 min 30 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Camera 2 is essential — tight mouth/tongue close-up. Use bright front lighting. Consider using a tongue depressor as visual pointer for anatomy explanation (do NOT insert — just point externally).</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 5: TONGUE TIP UP & LATERALISATION" | "For /t/ /d/ /n/ /l/ sounds"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:25</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Your tongue is the most important muscle for articulation. Sounds like t, d, n, and l all require the tongue tip to precisely contact the ridge just behind your top teeth — here [points to own closed mouth]. After a stroke, the tongue can be slow, weak, or stiff. These exercises improve range and control."</div>
</td>
</tr>
<tr>
<td class="time-col">00:25 – 01:10</td>
<td class="cam-col">[CAM2] full-screen mouth close-up</td>
<td class="action-col">
<div class="action-label">[DEMO] Tongue tip elevation — mouth open, tongue tip touches alveolar ridge, hold 3 sec, lower.</div>
<div class="therapist-says">"TONGUE TIP UP. Open your mouth. Now move just the TIP of your tongue — not the whole tongue — up to touch the ridge behind your top teeth. Hold it there 1… 2… 3. Now bring it back down slowly. The key word is TIP — only the tip moves, not the whole tongue body."</div>
<div class="onscreen">[TEXT] "Tongue TIP → touches ridge behind top teeth" + highlight circle on anatomy diagram inset</div>
</td>
</tr>
<tr>
<td class="time-col">01:10 – 01:55</td>
<td class="cam-col">[CAM2] full-screen</td>
<td class="action-col">
<div class="action-label">[DEMO] Tongue lateralisation — move tip to right corner, hold 2 sec, then left corner, hold 2 sec. Repeat 5x slowly.</div>
<div class="therapist-says">"Now SIDE TO SIDE. Move your tongue tip to the RIGHT corner of your mouth. Hold 1… 2. Now to the LEFT corner. Hold 1… 2. This movement is needed for all side-to-side sounds and helps you move food when eating too."</div>
<div class="onscreen">[TEXT arrows] "← LEFT" / "RIGHT →" toggling with each movement</div>
</td>
</tr>
<tr>
<td class="time-col">01:55 – 02:20</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Important — do not move your jaw or head when moving the tongue. The jaw stays still. Only the tongue moves. If you find you are tilting your head to help — stop. Keep the head straight and challenge the tongue to work on its own."</div>
<div class="onscreen">[TEXT] "❌ Head/jaw movement = compensation" | "✅ Jaw still — tongue moves alone"</div>
</td>
</tr>
<tr>
<td class="time-col">02:20 – 02:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="onscreen">[TEXT] "DOSE: Tip Up = 10 reps × 2 | Side to Side = 10 each direction × 2 | Afternoon daily"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 4 of 8 · V3 – V5</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 5 – V6 + V7 ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 5 of 8 · Video Scripts V6 – V7 (Articulation)</div>
<!-- V6: RAPID SYLLABLE DRILL -->
<div class="script-block sb-yellow">
<div class="script-header">
<div class="vid-tag">V6</div>
<h3>⚡ Rapid Syllable Drill: puh – tuh – kuh</h3>
<span class="duration">⏱ 2 min 30 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Camera 2 close-up on mouth for all repetitions. Camera 1 medium for explanations. This is also a diadochokinesis test — the SLP should have a stopwatch visible to time 10-second trials on camera.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 6: RAPID SYLLABLE DRILL" | "puh · tuh · kuh — For speed and coordination"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:28</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"This exercise is called Diadochokinesis — a long word that means rapid, alternating mouth movements. We use three syllables that test three different parts of the mouth: puh tests the LIPS, tuh tests the TONGUE TIP, and kuh tests the BACK of the tongue. When you do all three together, your whole mouth is coordinating rapidly — just like in normal fast speech."</div>
<div class="onscreen">[TEXT] "PUH = Lips | TUH = Tongue tip | KUH = Back of tongue"</div>
</td>
</tr>
<tr>
<td class="time-col">00:28 – 01:15</td>
<td class="cam-col">[CAM2] close-up — switch to [CAM1] for each explanation</td>
<td class="action-col">
<div class="action-label">[DEMO] puh × 10 at moderate speed first, then faster.</div>
<div class="therapist-says">"Step 1 — just puh. Say it ten times, evenly: puh-puh-puh-puh-puh-puh-puh-puh-puh-puh. [DEMO slow, then faster]. Notice how only the lips close for each puh. Good."</div>
<div class="action-label">[DEMO] tuh × 10.</div>
<div class="therapist-says">"Step 2 — tuh. Tongue tip touches and releases quickly: tuh-tuh-tuh-tuh-tuh. [DEMO]. Good."</div>
<div class="action-label">[DEMO] kuh × 10.</div>
<div class="therapist-says">"Step 3 — kuh. Back of tongue: kuh-kuh-kuh-kuh-kuh. [DEMO]. This one is often the hardest after a stroke — do not worry if it is slow at first."</div>
<div class="onscreen">[TEXT] Each syllable appears large on screen as spoken, with anatomical diagram inset showing where contact occurs</div>
</td>
</tr>
<tr>
<td class="time-col">01:15 – 01:55</td>
<td class="cam-col">[CAM2] close-up</td>
<td class="action-col">
<div class="action-label">[DEMO] Full puh-tuh-kuh alternating sequence × 5 slow then × 5 faster.</div>
<div class="therapist-says">"Now all together — puh-tuh-kuh, puh-tuh-kuh, puh-tuh-kuh. Start SLOW so each sound is clear. Then build speed. What matters is ACCURACY first — each sound distinct. Then speed. Never sacrifice clarity for speed."</div>
<div class="onscreen">[TEXT] "puh – tuh – kuh" with each syllable lighting up in sequence as spoken. Speed bar at bottom increasing.</div>
</td>
</tr>
<tr>
<td class="time-col">01:55 – 02:20</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Common mistake — rushing and mumbling. Listen to this [slur example]. That is NOT what we want. Listen to this [clear slow example]. Clear, even, each sound distinct. Your family can listen and tell you if they hear each sound separately."</div>
<div class="onscreen">[TEXT] "❌ Rushed/mumbled: puh-tuh-kuh blurred together" | "✅ Clear, even: each syllable distinct"</div>
</td>
</tr>
<tr>
<td class="time-col">02:20 – 02:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="onscreen">[TEXT] "DOSE: Each syllable alone × 3 trials (10 sec each) | Combined puh-tuh-kuh × 3 trials | Afternoon daily"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- V7: CONSONANT DRILLS -->
<div class="script-block sb-green">
<div class="script-header">
<div class="vid-tag">V7</div>
<h3>🔤 Consonant Word Drills (Bilabial, Alveolar & Fricative)</h3>
<span class="duration">⏱ 3 min 30 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Therapist uses printed word cards (large font, A5 size). Camera 1 = therapist face + card held up. Camera 2 = close-up mouth during production. Cards prepared in advance: Group 1 (bilabials), Group 2 (alveolars), Group 3 (fricatives).</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 7: CONSONANT WORD DRILLS" | "Clear, slow, one word at a time"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:22</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"We are now going to practice consonant sounds in real words — because that is what matters for communication. We will do three groups: lip sounds, tongue-tip sounds, and friction sounds. For each word — say it ONCE, slowly, then move to the next. Do not rush."</div>
</td>
</tr>
<tr>
<td class="time-col">00:22 – 01:15</td>
<td class="cam-col">[CAM2] close-up alternating with [CAM1] card view</td>
<td class="action-col">
<div class="action-label">[DEMO] Therapist holds up card, names word slowly, patient can follow.</div>
<div class="therapist-says">"GROUP 1 — Lip sounds: P, B, M. Watch my lips close completely for each one."</div>
<div class="action-label">[DEMO] Say each word once, clearly, exaggerated lip closure: "pan… pot… pick… pack… pay"</div>
<div class="action-label">[DEMO] "ban… bat… bite… back… boy"</div>
<div class="action-label">[DEMO] "man… mat… map… mom… meet"</div>
<div class="onscreen">[TEXT] Word appears on screen as spoken in large bold font. Sound label in corner: "/p/ = LIPS CLOSE"</div>
</td>
</tr>
<tr>
<td class="time-col">01:15 – 02:10</td>
<td class="cam-col">[CAM2] side profile + [CAM1] card view</td>
<td class="action-col">
<div class="therapist-says">"GROUP 2 — Tongue tip sounds: T, D, N, L. Watch the tongue tip come up to touch just behind the top teeth."</div>
<div class="action-label">[DEMO] Say each word: "top… ten… time… tie… table" then "dog… day… dig… dinner… done" then "no… name… now… never" then "lip… let… lake… light… long"</div>
<div class="onscreen">[TEXT] Word on screen + inset diagram showing tongue-alveolar contact point highlighted</div>
<div class="therapist-says">"Feel the tongue tip touching that ridge each time for T, D, N. For L, feel it touch and release slowly."</div>
</td>
</tr>
<tr>
<td class="time-col">02:10 – 03:00</td>
<td class="cam-col">[CAM2] close-up</td>
<td class="action-col">
<div class="therapist-says">"GROUP 3 — Friction sounds: F, V, S, Z. These need your top teeth touching your bottom lip, or the tongue behind the teeth. They are often the hardest to hear after a stroke — so be very precise."</div>
<div class="action-label">[DEMO] "fan… fish… face… found" then "van… voice… very… visit" then "sun… seen… safe… sort" then "zoo… zone… zero… zip"</div>
<div class="onscreen">[TEXT] Word on screen. For F/V: "[TEXT] Top teeth on lower lip". For S/Z: "[TEXT] Tongue behind upper teeth"</div>
</td>
</tr>
<tr>
<td class="time-col">03:00 – 03:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Each day, choose 5 words from each group. Say each word slowly and clearly. Your family can write down which words they can understand without any problem — those are your successes. Any words they cannot understand go on a practice list for tomorrow."</div>
<div class="onscreen">[TEXT] "DOSE: 5 words per group × 2 sets | Afternoon daily" + "Family writes down intelligible words ✓"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 5 of 8 · V6 – V7</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 6 – V8 + V9 ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 6 of 8 · Video Scripts V8 – V9 (Rate Control)</div>
<!-- V8: METRONOMIC PACING -->
<div class="script-block sb-orange">
<div class="script-header">
<div class="vid-tag">V8</div>
<h3>⏱️ Metronomic Paced Speech</h3>
<span class="duration">⏱ 3 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Phone with free metronome app (e.g. "Pro Metronome") visible and audible. Set to 60 bpm for demo. Therapist taps left hand on table in sync. Camera 1 = wide shot showing phone + therapist. Camera 2 = close-up mouth during paced speech.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 8: METRONOMIC PACED SPEECH" | "Rate control = #1 strategy for clarity in spastic dysarthria"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:28</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"In spastic dysarthria, the brain tends to rush speech — compressing sounds together and making speech difficult to understand. Slowing down the rate is the single most effective way to improve intelligibility immediately. We use a metronome to train a new, slower speech rhythm."</div>
<div class="onscreen">[TEXT] "Slowed rate = #1 evidence-based strategy for intelligibility"</div>
</td>
</tr>
<tr>
<td class="time-col">00:28 – 00:45</td>
<td class="cam-col">[CAM1] — phone screen visible</td>
<td class="action-col">
<div class="action-label">[DEMO] Open metronome app, set to 60 bpm. Let it play audibly for 5 seconds.</div>
<div class="therapist-says">"Use a free metronome app on your phone — search 'metronome' in your app store. Set it to 60 beats per minute. That is one beat per second — a comfortable starting pace."</div>
<div class="onscreen">[TEXT] "App: Search 'Metronome' on phone | Set to 60 BPM to start"</div>
</td>
</tr>
<tr>
<td class="time-col">00:45 – 01:30</td>
<td class="cam-col">[CAM2] mouth close-up — metronome audible</td>
<td class="action-col">
<div class="action-label">[DEMO] Say one word per beat, tapping left hand on table. Say: "I… want… wa-ter… please"</div>
<div class="therapist-says">"Rule: ONE WORD per beat. Tap your left hand on the table with each beat. Listen — [metronome plays] — I [tap]… want [tap]… water [tap on 'wa', second beat on 'ter']… please [tap]. Did you hear how clear that was? Each word has space around it."</div>
<div class="onscreen">[TEXT] Each word appears on screen in sync with beat, highlighted as spoken. Hand tap animation visible at bottom.</div>
</td>
</tr>
<tr>
<td class="time-col">01:30 – 02:10</td>
<td class="cam-col">[CAM1] then [CAM2]</td>
<td class="action-col">
<div class="action-label">[DEMO] Practice these 5 phrases with full pacing: "Call the nurse please" | "I feel pain here" | "My name is ___" | "I want to go home" | "Can you help me please"</div>
<div class="therapist-says">"Let us practice 5 important phrases. Each word gets its own beat. Say them with me."</div>
<div class="onscreen">[TEXT] Each phrase listed on screen, words highlight one by one with each metronome beat.</div>
</td>
</tr>
<tr>
<td class="time-col">02:10 – 02:40</td>
<td class="cam-col">[CAM1] split screen</td>
<td class="action-col">
<div class="therapist-says">"BEFORE pacing — listen [demonstrate fast, slurred speech: 'callthe-nurseplease']. Hard to understand. AFTER pacing — 'Call [beat] the [beat] nurse [beat] please [beat]'. Clear. Your family will thank you."</div>
<div class="onscreen">[TEXT] "❌ Fast: 'callthe-nurseplease' — unclear" | "✅ Paced: 'Call · the · nurse · please' — clear"</div>
</td>
</tr>
<tr>
<td class="time-col">02:40 – 03:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"After 1 week, try increasing to 70 or 80 beats per minute. But only move faster when your family says they can understand you clearly at 60 first."</div>
<div class="onscreen">[TEXT] "DOSE: 10 phrases × 2 sets | Evening daily" + "Progress: 60 → 70 → 80 BPM over weeks"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- V9: CLEAR SPEECH -->
<div class="script-block sb-blue">
<div class="script-header">
<div class="vid-tag">V9</div>
<h3>🗣️ Clear Speech Strategy (4-Point Checklist)</h3>
<span class="duration">⏱ 3 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Therapist holds a printed cue card showing the 4-point checklist visible to camera. Before/after demonstration is crucial — script includes a "bad example" and "good example" side-by-side moment. Camera 1 dominant.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 9: CLEAR SPEECH STRATEGY" | "Your 4-step checklist before every conversation"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:22</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"This is not just an exercise — it is a way of speaking you will use for every single conversation from now on. Before you say anything to anyone, run through this 4-point checklist in your head. I will teach it to you now, and your family should also learn it."</div>
</td>
</tr>
<tr>
<td class="time-col">00:22 – 01:35</td>
<td class="cam-col">[CAM1] — therapist holds cue card up, then demonstrates each point</td>
<td class="action-col">
<div class="therapist-says">"Point 1 — TAKE A BREATH first. Before saying anything. This gives you the air support to carry your voice through the full sentence." [DEMO: visible inhale before speaking]</div>
<div class="onscreen">[TEXT] "1. TAKE A BREATH 💨"</div>
<div class="therapist-says">"Point 2 — OPEN YOUR MOUTH WIDE. Many patients with spastic dysarthria speak with a nearly closed mouth. That traps the sound inside. Open up — the sound needs to come out clearly." [DEMO: exaggerated open-mouth speech]</div>
<div class="onscreen">[TEXT] "2. OPEN MOUTH WIDE 👄"</div>
<div class="therapist-says">"Point 3 — SPEAK SLOWLY — at half your usual speed. If you think you are speaking too slowly, you are probably speaking at the RIGHT speed. Slow down more than feels comfortable." [DEMO: deliberately slow phrase]</div>
<div class="onscreen">[TEXT] "3. SPEAK AT HALF SPEED ⏱️"</div>
<div class="therapist-says">"Point 4 — USE A LOUD VOICE. Imagine you are speaking to someone sitting at the far end of the room. Project your voice out." [DEMO: loud phrase with good projection]</div>
<div class="onscreen">[TEXT] "4. SPEAK LOUD 🔊"</div>
</td>
</tr>
<tr>
<td class="time-col">01:35 – 02:25</td>
<td class="cam-col">[CAM1] split or sequential contrast</td>
<td class="action-col">
<div class="action-label">[DEMO] Say "I want to go home" — first WITHOUT checklist (fast, quiet, mouth barely open). Then WITH checklist (breath, open mouth, slow, loud).</div>
<div class="therapist-says">"Watch the difference. WITHOUT the checklist: [demonstrates fast, mumbled, quiet version]. Now WITH the checklist: [breath] I… want… to… go… HOME. [slow, loud, open mouth]. You heard and understood me the second time, yes?"</div>
<div class="onscreen">[TEXT] "❌ Without checklist: fast + quiet = misunderstood" | "✅ With checklist: clear + loud = understood"</div>
</td>
</tr>
<tr>
<td class="time-col">02:25 – 03:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Stick this 4-point checklist card on your wall, on the fridge, at your bedside. Every single time you want to speak — read the card first. Over time it will become automatic. Your family — please also remind him gently: 'take a breath first, open your mouth'."</div>
<div class="onscreen">[TEXT] Full 4-point checklist displayed clearly: "1. Breathe 2. Open mouth 3. Slow down 4. Speak loud" — held on screen for 5 full seconds</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 6 of 8 · V8 – V9</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 7 – V10 + V11 ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 7 of 8 · Video Scripts V10 – V11 (Aphasia / Language)</div>
<!-- V10: MIT -->
<div class="script-block sb-purple">
<div class="script-header">
<div class="vid-tag">V10</div>
<h3>🎶 Melodic Intonation Therapy (MIT)</h3>
<span class="duration">⏱ 5 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Therapist and patient/family member seated together at table. Table visible in frame. Camera 1 = both persons visible from waist up. Camera 2 = close-up on left hand tapping. This video should feel warm and collaborative — not clinical. Soft background music (5 seconds) at opening to set tone, then cut.</div>
<br/>
<div class="prod-note tip"><h5>✅ Clinical Note</h5>MIT works by engaging the right hemisphere's prosodic/musical networks to bypass the damaged left frontal Broca's area. The left-hand tapping activates right hemisphere motor cortex. Narrate this in accessible language.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:10</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 10: MELODIC INTONATION THERAPY (MIT)" | "Evidence-based technique for Broca's Aphasia"</div></td>
</tr>
<tr>
<td class="time-col">00:10 – 00:38</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Melodic Intonation Therapy, or MIT, is one of the most well-studied techniques for people with Broca's aphasia. Here is the idea — when the left side of the brain is damaged by a stroke, the right side can sometimes be used instead. The right side of the brain is very good at music and melody. So we use singing and rhythm to help speech come out. Many patients who cannot say a word when they try to speak normally — can sing that same word much more easily. We use that ability to practice."</div>
<div class="onscreen">[TEXT] Brain diagram inset: Left side marked "Damaged" with red X, Right side marked "✅ Used via MIT"</div>
</td>
</tr>
<tr>
<td class="time-col">00:38 – 01:05</td>
<td class="cam-col">[CAM2] close-up on left hand</td>
<td class="action-col">
<div class="therapist-says">"Before we start — the left hand tapping. Every syllable gets ONE tap of the left hand on the table. This is very important — it activates the right side of the brain. Always use the LEFT hand. Do not tap the right hand."</div>
<div class="action-label">[DEMO] Therapist taps left hand steadily on table — 8 taps at even rhythm.</div>
<div class="onscreen">[TEXT] "LEFT HAND TAPPING — one tap per syllable" + "⚠️ Always LEFT hand only"</div>
</td>
</tr>
<tr>
<td class="time-col">01:05 – 02:00</td>
<td class="cam-col">[CAM1] therapist and family member together</td>
<td class="action-col">
<div class="action-label">[DEMO] Therapist demonstrates "Good morning" — sung on 2-note pattern (low syllable, higher stressed syllable). Family member watches then joins.</div>
<div class="therapist-says">"Let us start with 'Good morning'. Listen to how I sing it first — [sings: GOOD mor-NING on two notes, tapping left hand on each syllable]. Now the family member sings with me — we do it together first. [both sing together]. Now the family member sings, and the patient tries to join in. There is no right or wrong — just try."</div>
<div class="onscreen">[TEXT] "GOOD mor-NING" with musical notes above each syllable. Two-note pitch pattern shown as dots on a simple music staff.</div>
</td>
</tr>
<tr>
<td class="time-col">02:00 – 03:20</td>
<td class="cam-col">[CAM1] both therapist and patient</td>
<td class="action-col">
<div class="therapist-says">"Now let us practice all 5 daily phrases. I will do each one first. Then the family member does it with the patient."</div>
<div class="action-label">[DEMO] Therapist sings each phrase with tapping, pausing for viewer to follow along. Each phrase takes ~12 seconds:</div>
<div class="therapist-says">1. "I WANT wa-TER" [4 taps] · 2. "I NEED the NURSE" [4 taps] · 3. "I FEEL bet-TER" [4 taps] · 4. "THANK you VER-y MUCH" [5 taps] · 5. "GOOD MOR-ning" [3 taps]</div>
<div class="onscreen">[TEXT] Each phrase shown on screen in large font, syllables separated by dashes. Highlighted syllable by syllable as sung.</div>
</td>
</tr>
<tr>
<td class="time-col">03:20 – 04:15</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Over time — after a few weeks of practice — we gradually reduce the singing. We go from FULL singing, to a softer hum, to just the rhythm of the tapping, to finally just saying the words normally. But for now — SING it. Fully. Loudly. No embarrassment. This is medicine."</div>
<div class="onscreen">[TEXT] Progress steps: "Week 1: Sing loudly → Week 2: Softer, hum → Week 3: Rhythm only → Week 4: Normal speech"</div>
</td>
</tr>
<tr>
<td class="time-col">04:15 – 05:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Family — this is YOUR exercise too. Do MIT together every morning. Sit next to him. Make it part of your morning routine — like a song you share. Studies show that patients who practice MIT daily with a family member improve much faster than those who practice alone."</div>
<div class="onscreen">[TEXT] "DOSE: 5 phrases × 5 trials each | Every Morning with family" + "MIT is most effective when practiced daily"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- V11: PICTURE NAMING -->
<div class="script-block sb-orange">
<div class="script-header">
<div class="vid-tag">V11</div>
<h3>🖼️ Picture Naming & Word Retrieval Practice</h3>
<span class="duration">⏱ 4 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>Family member and patient at table. Printed picture flashcards (A5, common objects: cup, phone, bed, shoe, chair, apple, pen, door, book, clock). Camera 1 = wide — both persons + cards visible. Camera 2 = close-up on patient's face during attempts.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:08</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 11: PICTURE NAMING & WORD RETRIEVAL" | "Family practice — language recovery"</div></td>
</tr>
<tr>
<td class="time-col">00:08 – 00:30</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Broca's aphasia affects the ability to find and say words — even words the patient KNOWS. The word is in the brain, but the path to say it is blocked or slow. Word retrieval practice creates new pathways. The key is: DAILY repetition of the SAME words builds stronger and stronger connections until the word comes out more automatically."</div>
</td>
</tr>
<tr>
<td class="time-col">00:30 – 01:10</td>
<td class="cam-col">[CAM1] — family demonstrates the cueing hierarchy</td>
<td class="action-col">
<div class="therapist-says">"Family member — here is the CUEING HIERARCHY you must follow. Step 1: show the picture. Say nothing. Wait 10 seconds — count in your head. If he says the word — excellent, tick the card. Step 2: if no response after 10 seconds, give the FIRST SOUND only. For 'cup' — say 'c...' just the sound, not the whole letter name. Wait 5 more seconds. Step 3: if still no response, give the first SYLLABLE. 'cu...' Wait 3 seconds. Step 4: if still no response, say the WHOLE WORD. He repeats it after you. That is still practice — repetition still builds the pathway."</div>
<div class="onscreen">[TEXT] Cueing hierarchy as numbered steps with icons: "1. Wait 10s ⏱ → 2. First sound /k/ → 3. First syllable 'cu' → 4. Full word model 'cup'"</div>
</td>
</tr>
<tr>
<td class="time-col">01:10 – 02:20</td>
<td class="cam-col">[CAM1] — family + therapist roleplay the cueing hierarchy live</td>
<td class="action-col">
<div class="action-label">[DEMO] Therapist plays patient. Family shows picture card. Runs through all 4 levels for 3 different cards.</div>
<div class="therapist-says">[As family] "What is this?" [Shows cup picture. Waits 10 sec.] "c..." [Waits 5 sec.] "cu..." [Waits 3 sec.] "cup — now you say it."</div>
<div class="onscreen">[TEXT] Countdown timer visible: 10... 9... 8... on screen during wait period.</div>
</td>
</tr>
<tr>
<td class="time-col">02:20 – 03:10</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"THREE RULES for family during this exercise. Rule 1 — NEVER complete the word before the full wait time. Even if it is uncomfortable — wait. That struggle is the brain working to find the word. Do NOT rob him of that work. Rule 2 — accept ANY attempt. A sound, a gesture pointing at the card, a nod — all count. Acknowledge it positively. Rule 3 — NEVER express frustration, sighing, or impatience. If you do not have the patience at that moment, stop the exercise and return later."</div>
<div class="onscreen">[TEXT] "❌ Don't: interrupt, rush, sigh, speak for him" | "✅ Do: wait fully, cue systematically, celebrate attempts"</div>
</td>
</tr>
<tr>
<td class="time-col">03:10 – 04:00</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col">
<div class="therapist-says">"Do 20 picture cards per session. Keep a notebook — write the date and tick which words came without cueing, which needed a sound cue, which needed the full word. Over weeks you will see the ticks moving upward — more words said independently. This notebook is your progress record and you can bring it to your SLP appointments."</div>
<div class="onscreen">[TEXT] "DOSE: 20 picture cards | Afternoon daily" + "Keep a notebook: date + word + cueing level needed"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script</span>
<span>Page 7 of 8 · V10 – V11</span>
</div>
</div>
<!-- ═══════════════════════════ PAGE 8 – V12 + PRODUCTION CHECKLIST ═══════════════════════════ -->
<div class="page">
<div class="page-label">Page 8 of 8 · Video Script V12 + Production Checklist</div>
<!-- V12: CONVERSATIONAL PRACTICE + FAMILY RULES -->
<div class="script-block sb-indigo">
<div class="script-header">
<div class="vid-tag">V12</div>
<h3>💬 Conversational Practice & Family Communication Rules</h3>
<span class="duration">⏱ 5 min 00 sec</span>
</div>
<div class="script-body">
<div class="prod-note setup"><h5>Setup</h5>This is the most important video for family. Film in a natural, home-like setting if possible — not the clinical room. Family member + therapist + patient in frame. Warm, natural lighting. This video models real communication, not exercises. Tone = supportive, calm, practical.</div>
<br/>
<table class="scene-table">
<thead><tr><th>Timecode</th><th>Shot</th><th>Action / Narration</th></tr></thead>
<tbody>
<tr>
<td class="time-col">00:00 – 00:10</td>
<td class="cam-col">[CAM1]</td>
<td class="action-col"><div class="onscreen">[TEXT] "EXERCISE 12: CONVERSATIONAL PRACTICE + FAMILY RULES" | "The most important video for family and caregivers"</div></td>
</tr>
<tr>
<td class="time-col">00:10 – 00:35</td>
<td class="cam-col">[CAM1] therapist addresses camera directly</td>
<td class="action-col">
<div class="therapist-says">"Family members — this video is primarily for you. You are your loved one's most important communication partner. Research shows that patients who have well-trained family members recover communication ability significantly faster. Everything you do and say around him either helps his recovery or gets in the way of it. We want to help you help him."</div>
</td>
</tr>
<tr>
<td class="time-col">00:35 – 02:00</td>
<td class="cam-col">[CAM1] — family + patient roleplay at table. Therapist narrates from side.</td>
<td class="action-col">
<div class="therapist-says">"RULE 1: The 10-second rule. After you ask a question — STOP. Do not fill the silence. Count to 10 in your head. His brain is working hard to find the words. The silence feels uncomfortable to you — but it is valuable processing time for him."</div>
<div class="action-label">[DEMO] Family asks "How are you feeling today?" — therapist holds up timer — 10 seconds visible — patient then responds slowly.</div>
<div class="onscreen">[TEXT] "RULE 1: Wait 10 full seconds after asking" — timer graphic counts down 10-1</div>
<div class="therapist-says">"RULE 2: Ask YES/NO questions when he is tired. 'Are you in pain? — Yes or No?' This reduces the word-finding burden and still lets him communicate."</div>
<div class="action-label">[DEMO] Family demonstrates yes/no question series: Are you hungry? Are you cold? Do you need the nurse?</div>
<div class="onscreen">[TEXT] "RULE 2: When tired → use YES/NO questions"</div>
<div class="therapist-says">"RULE 3: Accept ALL communication. If he points, nods, uses the picture board, makes a sound that is not a word — ACCEPT IT. Acknowledge it. Say 'I understand you want water — thank you for telling me.' Every communication attempt must feel successful."</div>
<div class="onscreen">[TEXT] "RULE 3: Gesture + board + any attempt = VALID communication"</div>
</td>
</tr>
<tr>
<td class="time-col">02:00 – 03:00</td>
<td class="cam-col">[CAM1] — therapist demonstrates wrong approach vs. right approach</td>
<td class="action-col">
<div class="therapist-says">"RULE 4: Do NOT speak for him or finish his sentences. Watch — wrong way: [therapist mimics impatient family] 'Do you want... water? Yes? Water, right? I'll get it.' He never had to speak. Now right way: [asks the question, waits, patient attempts, family waits for the full attempt, confirms what was understood]. See the difference? In the first version, he did zero work. In the second, his brain fired."</div>
<div class="onscreen">[TEXT] "RULE 4: ❌ Never finish his sentences | ✅ Wait for him to complete the attempt"</div>
<div class="therapist-says">"RULE 5: Reduce background noise during practice. Turn off the TV. Move to a quieter room. Noise competes with his ability to hear himself speak — and it is distracting for the effort of word-finding."</div>
<div class="onscreen">[TEXT] "RULE 5: Quiet environment during all speech practice"</div>
</td>
</tr>
<tr>
<td class="time-col">03:00 – 04:00</td>
<td class="cam-col">[CAM1] — Evening conversational practice demonstrated</td>
<td class="action-col">
<div class="therapist-says">"Every evening — structured conversation time. 10 minutes. Family asks 5 questions from the list below. Patient answers using voice AND gesture AND picture board — whatever combination works. Family responds naturally, confirming understanding."</div>
<div class="action-label">[DEMO] 5 questions with natural patient responses (some verbal, some pointing, some combined): "What did you have for dinner?" / "Where do you feel pain right now?" / "What do you want to do tomorrow?" / "Who did you see today?" / "How are you feeling right now?"</div>
<div class="onscreen">[TEXT] Each question listed on screen. Communication board visible in corner of frame throughout.</div>
</td>
</tr>
<tr>
<td class="time-col">04:00 – 05:00</td>
<td class="cam-col">[CAM1] — therapist faces camera, warm closing</td>
<td class="action-col">
<div class="therapist-says">"Finally — a word about emotions. After a stroke that affects speech, patients often feel frustrated, embarrassed, and withdrawn. The most powerful thing you as a family can do is show patience, warmth, and confidence in him. Tell him — 'you are doing well. Your brain is healing. Every day of practice is moving you forward.' His motivation to practice is directly linked to how supported he feels."</div>
<div class="onscreen">[TEXT] "Recovery takes time. Every day of practice = progress. Your support is his medicine." — held on screen 5 seconds</div>
<div class="therapist-says">"Thank you for watching all our exercise videos. Contact your speech-language pathologist at Medicover Hospitals if you have any questions. We will see you at your next session."</div>
<div class="onscreen">[TEXT] "Medicover Hospitals · Speech Therapy · 040-68334455" | "Dr. Pawan Ojha & Dr. Suranjana Basak (Neurology)" | "Issued: 29 May 2026"</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- PRODUCTION CHECKLIST -->
<div style="background:#0f172a;border-radius:12px;padding:12px 16px;color:white;margin-bottom:10px;">
<h3 style="font-size:12px;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px;">🎬 Pre-Shoot Production Checklist</h3>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:10px;line-height:1.8;">
<div>
<strong style="color:#93c5fd;">Equipment</strong><br/>
☐ Camera 1 (main) on tripod, 1.2m, eye level<br/>
☐ Camera 2 (close-up) for mouth/lip shots<br/>
☐ Lapel microphone on therapist<br/>
☐ Ring light or softbox, front-facing<br/>
☐ Phone with metronome app (V8)<br/>
☐ Phone with dB meter app (V2)<br/>
☐ Printed word cards A5, clear font (V7)<br/>
☐ Picture flashcards 20 items (V11)<br/>
☐ Printed 4-point cue card (V9)<br/>
☐ Communication picture board (V12)<br/>
</div>
<div>
<strong style="color:#86efac;">Before Each Take</strong><br/>
☐ Test audio — lapel mic live<br/>
☐ Check frame — head + some torso visible<br/>
☐ Neutral background — no clutter<br/>
☐ Patient/family briefed on their role<br/>
☐ Do a 30-sec test recording for lighting/sound<br/>
<br/>
<strong style="color:#fde68a;">Post-Production Must-Haves</strong><br/>
☐ Text overlay for every key instruction<br/>
☐ Rep counter in corner (oral motor videos)<br/>
☐ Timer countdown overlay where noted<br/>
☐ Slo-mo replay on key technique moments<br/>
☐ Subtitles in Marathi/Hindi for family<br/>
</div>
</div>
</div>
<div class="footer">
<span>Medicover Hospitals · Speech Therapy HEP Video Script · Dr. Pawan Ojha & Dr. Suranjana Basak</span>
<span>Page 8 of 8 · V12 + Production Checklist · Issued 29 May 2026</span>
</div>
</div>
</body>
</html>
cd /home/daytona/workspace/speech-hep && /usr/bin/chromium --headless --disable-gpu --no-sandbox --print-to-pdf=video_script.pdf --print-to-pdf-no-header "file:///home/daytona/workspace/speech-hep/video_script.html" 2>&1 | tail -3
ls -lh /home/daytona/workspace/speech-hep/
video script
PDF Document · PDF
video script
HTML File · HTML
| # | Video | Duration |
|---|---|---|
| V1 | Diaphragmatic Breathing | 2:30 |
| V2 | Sustained /aaa/ + LSVT LOUD Voice Drill | 3:00 |
| V3 | Lip Pucker & Spread | 2:00 |
| V4 | Jaw Opening Exercise | 1:30 |
| V5 | Tongue Tip Up & Lateralisation | 2:30 |
| V6 | Rapid Syllable Drill (puh-tuh-kuh) | 2:30 |
| V7 | Consonant Word Drills (Bilabial, Alveolar, Fricative) | 3:30 |
| V8 | Metronomic Paced Speech | 3:00 |
| V9 | Clear Speech Strategy (4-point checklist) | 3:00 |
| V10 | Melodic Intonation Therapy (MIT) | 5:00 |
| V11 | Picture Naming & Word Retrieval | 4:00 |
| V12 | Conversational Practice + Family Rules | 5:00 |
Generate a Word document family instruction guide (printable handout)
ls /home/daytona/skills/docx/scripts/office/ && node --version && ls /home/daytona/workspace/speech-hep/
cd /home/daytona/workspace/speech-hep && npm list docx 2>/dev/null | head -3 || (npm install docx 2>&1 | tail -3)
cd /home/daytona/workspace/speech-hep && npm install docx 2>&1 | tail -4
find /usr /home/daytona -name "docx" -type d 2>/dev/null | head -5; node -e "require('docx'); console.log('docx ok')" 2>&1 | head -3; ls /usr/local/lib/node_modules/ 2>/dev/null | head -10
~/speech-hep/build_family_guide.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
ShadingType, VerticalAlign, PageNumber, PageBreak, ImageRun,
TabStopType, TabStopPosition, UnderlineType
} = require('docx');
const fs = require('fs');
// ── Colour palette ──────────────────────────────────────────
const BLUE_DARK = "1A56DB";
const BLUE_MED = "3B82F6";
const BLUE_LIGHT = "DBEAFE";
const BLUE_BG = "EFF6FF";
const GREEN_DARK = "15803D";
const GREEN_BG = "F0FDF4";
const GREEN_BORDER = "86EFAC";
const PURPLE_DARK = "6D28D9";
const PURPLE_BG = "F5F3FF";
const PURPLE_BORDER = "C4B5FD";
const RED_DARK = "991B1B";
const RED_BG = "FEF2F2";
const RED_BORDER = "FCA5A5";
const ORANGE_DARK = "C2410C";
const ORANGE_BG = "FFF7ED";
const ORANGE_BORDER = "FED7AA";
const YELLOW_BG = "FFFBEB";
const YELLOW_BORDER = "FDE68A";
const GRAY_LIGHT = "F1F5F9";
const GRAY_BORDER = "E2E8F0";
const GRAY_TEXT = "64748B";
const DARK_TEXT = "1E293B";
const WHITE = "FFFFFF";
// ── Helpers ─────────────────────────────────────────────────
function bold(text, size=22, color=DARK_TEXT) {
return new TextRun({ text, bold: true, size, color });
}
function normal(text, size=20, color=DARK_TEXT) {
return new TextRun({ text, size, color });
}
function italic(text, size=20, color=GRAY_TEXT) {
return new TextRun({ text, italics: true, size, color });
}
function smallcaps(text, size=16, color=GRAY_TEXT) {
return new TextRun({ text, smallCaps: true, size, color, bold: true });
}
function para(runs, opts={}) {
return new Paragraph({
children: Array.isArray(runs) ? runs : [runs],
spacing: { before: opts.before||0, after: opts.after||80 },
alignment: opts.align || AlignmentType.LEFT,
indent: opts.indent ? { left: opts.indent } : undefined,
...opts,
});
}
function spacer(pts=120) {
return new Paragraph({ children: [], spacing: { before: pts, after: 0 } });
}
function divider(color=GRAY_BORDER) {
return new Paragraph({
children: [],
border: { bottom: { color, size: 6, style: BorderStyle.SINGLE, space: 4 } },
spacing: { before: 60, after: 60 },
});
}
function heading1(text, bgColor=BLUE_DARK, textColor=WHITE) {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [new TableRow({ children: [
new TableCell({
children: [new Paragraph({
children: [new TextRun({ text, bold: true, size: 28, color: textColor })],
alignment: AlignmentType.LEFT,
spacing: { before: 0, after: 0 },
})],
shading: { type: ShadingType.SOLID, color: bgColor },
margins: { top: 120, bottom: 120, left: 160, right: 160 },
verticalAlign: VerticalAlign.CENTER,
borders: noBorders(),
})
]})]
});
}
function heading2(text, bgColor, textColor=WHITE) {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [new TableRow({ children: [
new TableCell({
children: [new Paragraph({
children: [new TextRun({ text, bold: true, size: 22, color: textColor, allCaps: true })],
alignment: AlignmentType.LEFT,
spacing: { before: 0, after: 0 },
})],
shading: { type: ShadingType.SOLID, color: bgColor },
margins: { top: 80, bottom: 80, left: 140, right: 140 },
borders: noBorders(),
})
]})]
});
}
function noBorders() {
const b = { style: BorderStyle.NONE, size: 0, color: "auto" };
return { top: b, bottom: b, left: b, right: b, insideHorizontal: b, insideVertical: b };
}
function thinBorders(color=GRAY_BORDER) {
const b = { style: BorderStyle.SINGLE, size: 4, color };
return { top: b, bottom: b, left: b, right: b, insideHorizontal: b, insideVertical: b };
}
function shadedCell(children, bgColor, borderColor, leftPad=140) {
return new TableCell({
children,
shading: { type: ShadingType.SOLID, color: bgColor },
borders: {
top: { style: BorderStyle.SINGLE, size: 8, color: borderColor },
bottom: { style: BorderStyle.SINGLE, size: 4, color: borderColor },
left: { style: BorderStyle.THICK, size: 16, color: borderColor },
right: { style: BorderStyle.NONE, size: 0, color: "auto" },
},
margins: { top: 80, bottom: 80, left: leftPad, right: 120 },
verticalAlign: VerticalAlign.TOP,
});
}
// Checkbox-style bullet
function checkItem(text, color=DARK_TEXT, bgColor=null, indent=360) {
const runs = [
new TextRun({ text: "☐ ", bold: true, size: 20, color: BLUE_MED }),
new TextRun({ text, size: 20, color }),
];
return new Paragraph({
children: runs,
spacing: { before: 40, after: 40 },
indent: { left: indent },
});
}
// Numbered step
function stepItem(num, title, body, numColor=BLUE_DARK) {
return [
new Paragraph({
children: [
new TextRun({ text: `${num}. `, bold: true, size: 22, color: numColor }),
new TextRun({ text: title, bold: true, size: 22, color: DARK_TEXT }),
],
spacing: { before: 80, after: 20 },
indent: { left: 200 },
}),
new Paragraph({
children: [new TextRun({ text: body, size: 20, color: "374151" })],
spacing: { before: 0, after: 60 },
indent: { left: 520 },
}),
];
}
// Highlighted box (single-cell table)
function infoBox(titleRun, bodyRuns, bgColor, borderColor) {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [new TableRow({ children: [
new TableCell({
children: [
new Paragraph({ children: [titleRun], spacing: { before: 0, after: 60 } }),
...bodyRuns.map(r => new Paragraph({
children: [r],
spacing: { before: 20, after: 20 },
indent: { left: 200 },
})),
],
shading: { type: ShadingType.SOLID, color: bgColor },
borders: {
top: { style: BorderStyle.SINGLE, size: 6, color: borderColor },
bottom: { style: BorderStyle.SINGLE, size: 6, color: borderColor },
left: { style: BorderStyle.THICK, size: 24, color: borderColor },
right: { style: BorderStyle.NONE, size: 0, color: "auto" },
},
margins: { top: 100, bottom: 100, left: 160, right: 160 },
})
]})]
});
}
// Two-column table row for key-value pairs
function kvRow(key, value, keyBg=GRAY_LIGHT, valBg=WHITE) {
return new TableRow({
children: [
new TableCell({
children: [para([new TextRun({ text: key, bold: true, size: 18, color: BLUE_DARK })])],
width: { size: 28, type: WidthType.PERCENTAGE },
shading: { type: ShadingType.SOLID, color: keyBg },
margins: { top: 60, bottom: 60, left: 120, right: 80 },
borders: thinBorders(GRAY_BORDER),
verticalAlign: VerticalAlign.CENTER,
}),
new TableCell({
children: [para([new TextRun({ text: value, size: 20, color: DARK_TEXT })])],
width: { size: 72, type: WidthType.PERCENTAGE },
shading: { type: ShadingType.SOLID, color: valBg },
margins: { top: 60, bottom: 60, left: 120, right: 120 },
borders: thinBorders(GRAY_BORDER),
}),
]
});
}
// ── HEADER / FOOTER ─────────────────────────────────────────
function makeHeader() {
return new Header({
children: [
new Paragraph({
children: [
new TextRun({ text: "🗣 Speech Therapy — Family Instruction Guide", bold: true, size: 18, color: BLUE_DARK }),
new TextRun({ text: " | Medicover Hospitals, Maharashtra | 61-Year-Old Male, Post-Stroke, 17 May 2026", size: 16, color: GRAY_TEXT }),
],
border: { bottom: { style: BorderStyle.SINGLE, size: 4, color: GRAY_BORDER, space: 4 } },
spacing: { after: 0 },
}),
],
});
}
function makeFooter() {
return new Footer({
children: [
new Paragraph({
children: [
new TextRun({ text: "Dr. Pawan Ojha & Dr. Suranjana Basak (Neurology) · Medicover Hospitals · 040-68334455 · Issued: 29 May 2026 ", size: 16, color: GRAY_TEXT }),
new TextRun({ text: "Page ", size: 16, color: GRAY_TEXT }),
new TextRun({ children: [PageNumber.CURRENT], size: 16, color: GRAY_TEXT }),
new TextRun({ text: " of ", size: 16, color: GRAY_TEXT }),
new TextRun({ children: [PageNumber.TOTAL_PAGES], size: 16, color: GRAY_TEXT }),
],
alignment: AlignmentType.CENTER,
border: { top: { style: BorderStyle.SINGLE, size: 4, color: GRAY_BORDER, space: 4 } },
spacing: { before: 60 },
}),
],
});
}
// ── SCHEDULE TABLE ───────────────────────────────────────────
function scheduleTable() {
const headerRow = new TableRow({
tableHeader: true,
children: ["Time", "Exercise", "Duration", "Who Helps?"].map((h,i) => new TableCell({
children: [new Paragraph({ children: [new TextRun({ text: h, bold: true, size: 18, color: WHITE })], spacing: {before:40,after:40} })],
shading: { type: ShadingType.SOLID, color: BLUE_DARK },
margins: { top: 60, bottom: 60, left: 100, right: 60 },
borders: thinBorders(BLUE_MED),
width: { size: [18,44,18,20][i], type: WidthType.PERCENTAGE },
}))
});
const rows = [
["MORNING", "Diaphragmatic Breathing + LSVT LOUD Voice Drill\n(belly breathing × 10, then loud /a/ × 5)", "15 min", "Independent"],
["MORNING", "Melodic Intonation Therapy (MIT) — 5 phrases\n(sing with family: 'I want water', 'Good morning'…)", "5 min", "Family sings with patient"],
["AFTERNOON", "Oral Motor Exercises\n(lip pucker/spread, jaw opening, tongue up & side)", "10 min", "Independent"],
["AFTERNOON", "Consonant Drills + Clear Speech\n(5 words each: bilabials, alveolars, fricatives)", "10 min", "Family reads word list"],
["AFTERNOON", "Picture Naming — 20 flashcards\n(cueing hierarchy: wait → sound → syllable → model)", "10 min", "Family holds cards"],
["EVENING", "Sentence Completion + Automatic Sequences\n('I drink ___' / count 1–10 / days of week)", "5 min", "Family prompts"],
["EVENING", "Metronomic Paced Speech\n(metronome app 60 bpm, one word per beat)", "5 min", "Independent"],
["EVENING", "Conversational Practice\n(5 questions, patient answers: voice + gesture + board)", "10 min", "Family conversation partner"],
];
const dataRows = rows.map((r, i) => new TableRow({
children: r.map((cell, ci) => new TableCell({
children: [new Paragraph({
children: [new TextRun({
text: cell,
size: 18,
color: ci===0 ? BLUE_DARK : DARK_TEXT,
bold: ci===0,
})],
spacing: { before: 30, after: 30 },
})],
shading: { type: ShadingType.SOLID, color: i%2===0 ? WHITE : GRAY_LIGHT },
margins: { top: 60, bottom: 60, left: 100, right: 60 },
borders: thinBorders(GRAY_BORDER),
width: { size: [18,44,18,20][ci], type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.TOP,
}))
}));
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: thinBorders(GRAY_BORDER),
rows: [headerRow, ...dataRows],
});
}
// ── CUEING HIERARCHY TABLE ────────────────────────────────────
function cueingTable() {
const colors = [BLUE_LIGHT, "E0F2FE", "ECFDF5", "FEF3C7"];
const borders_c = [BLUE_MED, "0EA5E9", "22C55E", "F59E0B"];
const steps = [
["Step 1", "No cue — wait 10 seconds", "Show the picture. Say nothing. Count to 10 in your head. Let him work."],
["Step 2", "First sound cue", "Say only the first sound. For 'cup' → say /k/. Wait 5 more seconds."],
["Step 3", "First syllable cue", "Say the first syllable. 'cu...' Wait 3 more seconds."],
["Step 4", "Full word model", "Say the whole word. Patient repeats after you. Still valuable practice."],
];
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: steps.map((s,i) => new TableRow({ children: [
new TableCell({
children: [para([new TextRun({ text: s[0], bold: true, size: 18, color: WHITE })])],
shading: { type: ShadingType.SOLID, color: borders_c[i] },
margins: { top: 60, bottom: 60, left: 100, right: 60 },
borders: noBorders(),
width: { size: 12, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
}),
new TableCell({
children: [
para([new TextRun({ text: s[1], bold: true, size: 20, color: "1E293B" })], { after: 20 }),
para([new TextRun({ text: s[2], size: 18, color: "374151" })]),
],
shading: { type: ShadingType.SOLID, color: colors[i] },
margins: { top: 60, bottom: 60, left: 120, right: 120 },
borders: { top:{style:BorderStyle.NONE,size:0,color:"auto"}, bottom:{style:BorderStyle.SINGLE,size:4,color:GRAY_BORDER}, left:{style:BorderStyle.SINGLE,size:4,color:GRAY_BORDER}, right:{style:BorderStyle.NONE,size:0,color:"auto"} },
width: { size: 88, type: WidthType.PERCENTAGE },
}),
]}))
});
}
// ── MIT PHRASE TABLE ──────────────────────────────────────────
function mitTable() {
const hdr = new TableRow({
tableHeader: true,
children: ["#", "Phrase", "Syllables", "How to Sing"].map((h,i) => new TableCell({
children: [para([new TextRun({ text: h, bold: true, size: 18, color: WHITE })])],
shading: { type: ShadingType.SOLID, color: PURPLE_DARK },
margins: { top: 60, bottom: 60, left: 100, right: 60 },
borders: thinBorders(PURPLE_BORDER),
width: { size: [8,28,18,46][i], type: WidthType.PERCENTAGE },
}))
});
const rows = [
["1","Good morning","2 syllables","GOOD (low) – mor-NING (high) – say it like a warm greeting"],
["2","I want water","4 syllables","I (mid) – WANT (high) – wa (mid) – TER (low)"],
["3","I need the nurse","4 syllables","I (mid) – NEED (high) – the (low) – NURSE (high)"],
["4","I feel better","4 syllables","I (mid) – FEEL (high) – bet (mid) – TER (low)"],
["5","Thank you very much","5 syllables","THANK (high) – you (low) – VER (high) – y (mid) – MUCH (high)"],
];
const dataRows = rows.map((r,i) => new TableRow({ children: r.map((cell,ci) => new TableCell({
children: [para([new TextRun({ text: cell, size: 18, color: ci===1 ? PURPLE_DARK : DARK_TEXT, bold: ci===1 })])],
shading: { type: ShadingType.SOLID, color: i%2===0 ? WHITE : PURPLE_BG },
margins: { top: 60, bottom: 60, left: 100, right: 60 },
borders: thinBorders(PURPLE_BORDER),
width: { size: [8,28,18,46][ci], type: WidthType.PERCENTAGE },
}))}));
return new Table({ width:{size:100,type:WidthType.PERCENTAGE}, borders: thinBorders(PURPLE_BORDER), rows:[hdr,...dataRows] });
}
// ── TRACKER TABLE ─────────────────────────────────────────────
function trackerTable() {
const days = Array.from({length:15},(_,i)=>i+1);
const chunks = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]];
const tables = chunks.map(chunk => new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: thinBorders(GRAY_BORDER),
rows: [
new TableRow({ children: chunk.map(d => new TableCell({
children: [
para([new TextRun({ text: `Day ${d}`, bold: true, size: 20, color: BLUE_DARK })], { align: AlignmentType.CENTER }),
para([new TextRun({ text: "☐ Morning", size: 16, color: GRAY_TEXT })], { align: AlignmentType.CENTER }),
para([new TextRun({ text: "☐ Afternoon", size: 16, color: GRAY_TEXT })], { align: AlignmentType.CENTER }),
para([new TextRun({ text: "☐ Evening", size: 16, color: GRAY_TEXT })], { align: AlignmentType.CENTER }),
],
shading: { type: ShadingType.SOLID, color: d%2===0 ? GRAY_LIGHT : WHITE },
margins: { top: 60, bottom: 60, left: 80, right: 80 },
borders: thinBorders(GRAY_BORDER),
width: { size: 20, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.CENTER,
}))})
],
}));
return tables;
}
// ── RULES TABLE (two-col dos/don'ts) ────────────────────────
function dosAndDonts() {
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [
new TableRow({ children: [
new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: "✅ DO THIS", bold: true, size: 22, color: GREEN_DARK })], spacing:{before:0,after:80} }),
...[
"Give him 10 full seconds to respond before any cue",
"Accept pointing, gestures, picture board as valid communication",
"Ask YES/NO questions when he is tired",
"Sing MIT phrases together every morning",
"Remind him: 'breathe first, open mouth, slow down, loud'",
"Celebrate every attempt — even partial words",
"Keep the TV off during speech practice",
"Write down progress in the daily notebook",
"Attend SLP appointments with him",
"Call the hospital if you notice sudden worsening",
].map(t => new Paragraph({
children: [new TextRun({ text: "✓ " + t, size: 18, color: "166534" })],
spacing: { before: 40, after: 40 },
indent: { left: 120 },
}))
],
shading: { type: ShadingType.SOLID, color: GREEN_BG },
borders: { top:{style:BorderStyle.SINGLE,size:8,color:GREEN_DARK}, bottom:{style:BorderStyle.SINGLE,size:4,color:GREEN_BORDER}, left:{style:BorderStyle.THICK,size:24,color:GREEN_DARK}, right:{style:BorderStyle.NONE,size:0,color:"auto"} },
margins: { top: 120, bottom: 120, left: 160, right: 120 },
width: { size: 50, type: WidthType.PERCENTAGE },
}),
new TableCell({ children: [], borders: noBorders(), width:{size:2,type:WidthType.PERCENTAGE} }),
new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: "❌ NEVER DO THIS", bold: true, size: 22, color: RED_DARK })], spacing:{before:0,after:80} }),
...[
"Finish his sentences or speak for him",
"Rush him or show impatience during speech attempts",
"Express frustration, sighing, or disappointment",
"Skip exercises because he 'seems fine today'",
"Talk about him as if he cannot understand — he can",
"Compare his speech to before the stroke in a negative way",
"Allow long periods of silence with no communication attempts",
"Give too many cues too quickly — follow the 4-step hierarchy",
"Force exercises when he is exhausted or unwell",
"Ignore new symptoms (see emergency warnings below)",
].map(t => new Paragraph({
children: [new TextRun({ text: "✗ " + t, size: 18, color: RED_DARK })],
spacing: { before: 40, after: 40 },
indent: { left: 120 },
}))
],
shading: { type: ShadingType.SOLID, color: RED_BG },
borders: { top:{style:BorderStyle.SINGLE,size:8,color:RED_DARK}, bottom:{style:BorderStyle.SINGLE,size:4,color:RED_BORDER}, left:{style:BorderStyle.THICK,size:24,color:RED_DARK}, right:{style:BorderStyle.NONE,size:0,color:"auto"} },
margins: { top: 120, bottom: 120, left: 160, right: 120 },
width: { size: 48, type: WidthType.PERCENTAGE },
}),
]}),
],
});
}
// ══════════════════════════════════════════════════════
// BUILD DOCUMENT
// ══════════════════════════════════════════════════════
const [trackerWeek1, trackerWeek2, trackerWeek3] = trackerTable();
const doc = new Document({
creator: "Medicover Hospitals – Speech Therapy Department",
title: "Family Instruction Guide – Speech Therapy HEP",
description: "Printable handout for family/caregivers of patient with Spastic Dysarthria and Broca's Aphasia",
styles: {
default: {
document: { run: { font: "Calibri", size: 20, color: DARK_TEXT } },
},
},
sections: [{
properties: {
page: {
margin: { top: 900, bottom: 900, left: 900, right: 900 },
},
},
headers: { default: makeHeader() },
footers: { default: makeFooter() },
children: [
// ═══ TITLE BLOCK ═══════════════════════════════════
heading1("🏥 FAMILY INSTRUCTION GUIDE — SPEECH THERAPY HOME PROGRAM"),
spacer(120),
// Patient info table
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: thinBorders(BLUE_MED),
rows: [
kvRow("Patient", "61-Year-Old Male, Post-Stroke (17 May 2026)", BLUE_LIGHT, WHITE),
kvRow("Diagnosis", "Spastic Dysarthria + Broca's Aphasia (Left Frontal Infarct)"),
kvRow("Hospital", "Medicover Hospitals, JMAHARASHTRA INDIA 410235"),
kvRow("Neurologists", "Dr. Pawan Ojha & Dr. Suranjana Basak"),
kvRow("Neuro-interventionist", "Dr. Shashank Nagendra (4-vessel DSA + Intra-arterial Thrombolysis)"),
kvRow("NIHSS at Admission", "5 | Right UMN Facial Palsy | Right Pronator Drift | R power 4/5"),
kvRow("Speech Therapy Start", "29 May 2026 | NIHSS Score at Discharge: Improving"),
kvRow("SLP Contact", "Speech Therapy Department · 040-68334455 (24/7 Helpline)"),
],
}),
spacer(160),
// ═══ UNDERSTANDING THE CONDITIONS ══════════════════
heading1("📋 UNDERSTANDING YOUR LOVED ONE'S SPEECH CONDITIONS"),
spacer(100),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [new TableRow({ children: [
// Dysarthria box
new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: "🗣 SPASTIC DYSARTHRIA", bold: true, size: 22, color: BLUE_DARK })], spacing:{before:0,after:80} }),
para([new TextRun({ text: "What it is: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"A motor speech disorder — the muscles that control speaking (lips, tongue, jaw, voice box) are stiff and slow due to damage in both sides of the brain's motor pathways.", size:18, color:"374151" })], {after:80}),
para([new TextRun({ text: "What you hear: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"Harsh, strained voice quality ('strain-strangle'). Slow speech. Low pitch. Distorted consonant sounds. Reduced loudness.", size:18, color:"374151" })], {after:80}),
para([new TextRun({ text: "Important: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"This is a MUSCLE CONTROL problem — not a thinking or understanding problem.", size:18, color:ORANGE_DARK })]),
],
shading: { type: ShadingType.SOLID, color: BLUE_BG },
borders: { top:{style:BorderStyle.SINGLE,size:8,color:BLUE_DARK}, bottom:{style:BorderStyle.SINGLE,size:4,color:BLUE_MED}, left:{style:BorderStyle.THICK,size:24,color:BLUE_DARK}, right:{style:BorderStyle.NONE,size:0,color:"auto"} },
margins: { top:120, bottom:120, left:160, right:120 },
width: { size: 49, type: WidthType.PERCENTAGE },
}),
new TableCell({ children:[], borders: noBorders(), width:{size:2,type:WidthType.PERCENTAGE} }),
// Aphasia box
new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: "🧠 BROCA'S APHASIA", bold: true, size: 22, color: PURPLE_DARK })], spacing:{before:0,after:80} }),
para([new TextRun({ text: "What it is: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"A language disorder — damage to Broca's area (left frontal lobe) affects the ability to find words and produce speech. Understanding is relatively preserved.", size:18, color:"374151" })], {after:80}),
para([new TextRun({ text: "What you hear: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"Short, effortful sentences. Telegraphic speech ('water... want'). Word-finding pauses. Frustration when words don't come.", size:18, color:"374151" })], {after:80}),
para([new TextRun({ text: "Important: ", bold:true, size:18, color:DARK_TEXT }), new TextRun({ text:"He UNDERSTANDS what you say — speak to him normally, respectfully, at full complexity.", size:18, color:PURPLE_DARK })]),
],
shading: { type: ShadingType.SOLID, color: PURPLE_BG },
borders: { top:{style:BorderStyle.SINGLE,size:8,color:PURPLE_DARK}, bottom:{style:BorderStyle.SINGLE,size:4,color:PURPLE_BORDER}, left:{style:BorderStyle.THICK,size:24,color:PURPLE_DARK}, right:{style:BorderStyle.NONE,size:0,color:"auto"} },
margins: { top:120, bottom:120, left:160, right:120 },
width: { size: 49, type: WidthType.PERCENTAGE },
}),
]})]
}),
spacer(120),
infoBox(
new TextRun({ text: "💡 THE BRAIN CAN HEAL — NEUROPLASTICITY", bold:true, size:22, color:GREEN_DARK }),
[
new TextRun({ text: "After a stroke, the brain forms new connections around the damaged area — this is called neuroplasticity. Speech therapy exercises DRIVE this process.", size:19, color:"166534" }),
new TextRun({ text: "Every repetition of an exercise = one new neural connection forming. More repetitions = stronger, more automatic pathways. This is why daily practice is non-negotiable.", size:19, color:"166534" }),
new TextRun({ text: "Recovery is SLOW but REAL. Patients who practice consistently with supportive families make significantly better progress than those who practice alone.", size:19, color:GREEN_DARK, bold:true }),
],
GREEN_BG, GREEN_DARK
),
spacer(160),
// ═══ PAGE 2 BREAK ══════════════════════════
new Paragraph({ children: [new PageBreak()] }),
// ═══ DAILY SCHEDULE ════════════════════════════════
heading1("📅 DAILY HOME EXERCISE SCHEDULE"),
spacer(80),
para([new TextRun({ text: "Total daily time commitment: approximately 60 minutes, split across three sessions. Do not try to do everything at once — spread across morning, afternoon, and evening as shown below.", size:19, color:"374151", italics:true })], { after:120 }),
scheduleTable(),
spacer(120),
infoBox(
new TextRun({ text: "⏰ TIMING TIPS FOR CAREGIVERS", bold:true, size:20, color:ORANGE_DARK }),
[
new TextRun({ text: "• Morning session: best done after breakfast when he is alert and rested.", size:18, color:"7C2D12" }),
new TextRun({ text: "• Afternoon session: allow a rest period after lunch — do not start immediately after eating.", size:18, color:"7C2D12" }),
new TextRun({ text: "• Evening session: conversational practice works best during a relaxed family meal or sitting time.", size:18, color:"7C2D12" }),
new TextRun({ text: "• If he is unwell, very fatigued, or distressed — skip that session. Rest is also part of recovery.", size:18, color:ORANGE_DARK, bold:true }),
],
ORANGE_BG, ORANGE_DARK
),
spacer(160),
// ═══ CUEING HIERARCHY ═══════════════════════════════
heading2("🔍 HOW TO HELP WITH WORD RETRIEVAL (CUEING HIERARCHY)", BLUE_DARK),
spacer(80),
para([normal("When he struggles to find a word during picture naming or conversation, follow these 4 steps in order. Never skip ahead — each step gives his brain time to work.", 19, "374151")], {after:100}),
cueingTable(),
spacer(80),
infoBox(
new TextRun({ text: "⚠️ THE MOST IMPORTANT RULE: WAIT FULLY", bold:true, size:20, color:ORANGE_DARK }),
[
new TextRun({ text: "The 10-second wait feels uncomfortable. You will want to fill the silence. DO NOT. That silence is his brain actively searching and firing. Interrupting it resets the process.", size:18, color:"7C2D12" }),
new TextRun({ text: "Research shows that caregivers who wait the full 10 seconds produce significantly better word retrieval outcomes in their patients.", size:18, color:ORANGE_DARK, bold:true }),
],
ORANGE_BG, ORANGE_DARK
),
spacer(160),
new Paragraph({ children: [new PageBreak()] }),
// ═══ MIT SECTION ═══════════════════════════════════
heading1("🎶 MELODIC INTONATION THERAPY (MIT) — FAMILY GUIDE"),
spacer(80),
infoBox(
new TextRun({ text: "WHY SINGING HELPS SPEECH — THE SCIENCE", bold:true, size:20, color:PURPLE_DARK }),
[
new TextRun({ text: "Broca's aphasia damages the LEFT brain's speech production area. But the RIGHT brain handles music, melody, and rhythm — and is often less damaged. MIT uses singing to 'wake up' the right brain's ability to produce speech.", size:18, color:"4C1D95" }),
new TextRun({ text: "The LEFT hand tapping activates the RIGHT brain's motor cortex — this is why we always use the left hand. It is not arbitrary — it is neurologically targeted.", size:18, color:"4C1D95" }),
new TextRun({ text: "Studies show MIT significantly improves spoken output in non-fluent Broca's aphasia. (Koshimori et al., Annals of NY Academy of Sciences, 2025)", size:17, color:PURPLE_DARK, italics:true }),
],
PURPLE_BG, PURPLE_DARK
),
spacer(100),
heading2("HOW TO DO MIT TOGETHER", PURPLE_DARK),
spacer(80),
...stepItem(1, "Set up", "Sit together at a table. Place his left hand flat on the table. You sit beside him — not across from him."),
...stepItem(2, "Demonstrate first", "Sing the phrase yourself first — loud and clear. Use a two-note melody (one lower note for unstressed syllables, one higher note for stressed syllables). Tap the table with YOUR left hand once per syllable as you sing."),
...stepItem(3, "Sing together", "Now sing the phrase together at the same time. He taps his left hand with you. Do not worry if his voice is soft or off-key — any vocal attempt is the goal."),
...stepItem(4, "He tries alone", "After 3 joint repetitions, let him try alone. You tap alongside him but hum softly. If he gets stuck — join in again immediately without making it feel like a failure."),
...stepItem(5, "Progress over weeks", "Week 1: full singing. Week 2: softer, half-sung. Week 3: rhythmic tapping only. Week 4: attempt normal speech. Never rush this progression — let his improvement guide the pace."),
spacer(100),
heading2("DAILY MIT PHRASES", PURPLE_DARK),
spacer(60),
mitTable(),
spacer(120),
infoBox(
new TextRun({ text: "🎵 MAKE IT FEEL LIKE A SONG, NOT AN EXERCISE", bold:true, size:20, color:PURPLE_DARK }),
[
new TextRun({ text: "Sing it together like you are sharing a morning ritual. Many families find it becomes a warm and connecting moment in the day.", size:18, color:"4C1D95" }),
new TextRun({ text: "If he laughs at the singing — that is wonderful. Positive emotion boosts neuroplasticity.", size:18, color:PURPLE_DARK }),
],
PURPLE_BG, PURPLE_DARK
),
spacer(160),
new Paragraph({ children: [new PageBreak()] }),
// ═══ DO'S AND DON'TS ════════════════════════════════
heading1("✅ ❌ FAMILY DO'S AND DON'TS"),
spacer(80),
para([normal("These rules are backed by communication partner training research. Following them consistently is as important as the exercises themselves.", 19, "374151", )], {after:120}),
dosAndDonts(),
spacer(160),
// ═══ CONVERSATION TIPS ══════════════════════════════
heading2("💬 HOW TO HAVE A GOOD CONVERSATION WITH HIM", BLUE_DARK),
spacer(80),
...stepItem(1, "Reduce background noise", "Turn off the TV and radio before speaking to him. Noise makes word-finding harder and competes with his ability to monitor his own speech.", BLUE_DARK),
...stepItem(2, "Face him directly", "Make eye contact. Speak at his eye level. Do not talk to him from another room or while walking away.", BLUE_DARK),
...stepItem(3, "Speak normally to him", "He understands you. Use full sentences. Do not 'baby-talk' or over-simplify. His comprehension is largely intact — treat him as an intelligent adult.", BLUE_DARK),
...stepItem(4, "Use the picture board", "Keep the communication picture board within arm's reach at all times. If he struggles to find words, point to the board and say: 'Can you show me?'", BLUE_DARK),
...stepItem(5, "Confirm understanding", "After he communicates, repeat back what you understood: 'I understand — you want water, yes?' This confirms to him that his communication worked.", BLUE_DARK),
...stepItem(6, "Never pretend to understand", "If you do not understand his message, say gently: 'I am sorry, I did not catch that. Can you try again? Maybe point to the board?' Do not pretend — it builds frustration and erodes trust.", BLUE_DARK),
spacer(100),
infoBox(
new TextRun({ text: "💡 SAMPLE YES/NO QUESTIONS TO USE WHEN HE IS TIRED", bold:true, size:20, color:BLUE_DARK }),
[
new TextRun({ text: "These questions need only a nod or head-shake — reducing word-finding demand on tired days:", size:18, color:"1E40AF" }),
new TextRun({ text: "• Are you in pain right now? • Are you hungry? • Do you need the nurse?", size:18, color:"1E40AF" }),
new TextRun({ text: "• Are you cold? • Do you want water? • Do you want to rest?", size:18, color:"1E40AF" }),
new TextRun({ text: "• Are you feeling better than yesterday? • Do you want me to call the doctor?", size:18, color:"1E40AF" }),
],
BLUE_BG, BLUE_MED
),
spacer(160),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CLEAR SPEECH REMINDER ══════════════════════════
heading1("🗣️ THE 4-POINT CLEAR SPEECH CHECKLIST"),
spacer(80),
para([new TextRun({ text: "Remind him of these 4 steps before EVERY speaking attempt. Over time, he will remember them himself — but in the early weeks, a gentle reminder from family makes a huge difference. Print this section separately and put it on the wall at eye level.", size:19, color:"374151", italics:true })], {after:120}),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [
new TableRow({ children: [
...[
{ num:"1", icon:"💨", label:"TAKE A BREATH", desc:"Inhale before every sentence. Belly breath — not shoulder breath.", bg:BLUE_LIGHT, bc:BLUE_MED, tc:BLUE_DARK },
{ num:"2", icon:"👄", label:"OPEN MOUTH WIDE", desc:"Open the jaw and lips fully. Sound must come out — not stay trapped inside.", bg:PURPLE_BG, bc:PURPLE_BORDER, tc:PURPLE_DARK },
{ num:"3", icon:"⏱️", label:"SPEAK SLOWLY", desc:"Half your usual speed. If it feels 'too slow' — that is the right speed.", bg:GREEN_BG, bc:GREEN_BORDER, tc:GREEN_DARK },
{ num:"4", icon:"🔊", label:"SPEAK LOUD", desc:"Project the voice as if talking across the room. Loud voice = clearer speech.", bg:YELLOW_BG, bc:YELLOW_BORDER, tc:ORANGE_DARK },
].map(item => new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: item.icon + " " + item.num, bold:true, size:32, color:item.tc })], alignment:AlignmentType.CENTER, spacing:{before:0,after:60} }),
new Paragraph({ children: [new TextRun({ text: item.label, bold:true, size:20, color:item.tc })], alignment:AlignmentType.CENTER, spacing:{before:0,after:60} }),
new Paragraph({ children: [new TextRun({ text: item.desc, size:17, color:"374151" })], alignment:AlignmentType.CENTER, spacing:{before:0,after:0} }),
],
shading: { type: ShadingType.SOLID, color: item.bg },
borders: { top:{style:BorderStyle.THICK,size:16,color:item.bc}, bottom:{style:BorderStyle.SINGLE,size:4,color:item.bc}, left:{style:BorderStyle.SINGLE,size:4,color:item.bc}, right:{style:BorderStyle.SINGLE,size:4,color:item.bc} },
margins: { top:120, bottom:120, left:100, right:100 },
width: { size: 25, type: WidthType.PERCENTAGE },
verticalAlign: VerticalAlign.TOP,
}))
]})
],
}),
spacer(160),
// ═══ 15-DAY TRACKER ═════════════════════════════════
heading2("📆 15-DAY PROGRESS TRACKER", "0F172A", WHITE),
spacer(80),
para([normal("Tick each checkbox after completing that session. Bring this sheet to SLP appointments.", 18, GRAY_TEXT)], {after:80}),
trackerWeek1,
spacer(60),
trackerWeek2,
spacer(60),
trackerWeek3,
spacer(100),
infoBox(
new TextRun({ text: "📝 WEEKLY PROGRESS NOTES — Family to fill in each Sunday", bold:true, size:19, color:DARK_TEXT }),
[
new TextRun({ text: "Week 1 (Days 1–5): What improved? What was hardest? _______________________________________________", size:18, color:GRAY_TEXT }),
new TextRun({ text: "Week 2 (Days 6–10): What improved? What was hardest? _____________________________________________", size:18, color:GRAY_TEXT }),
new TextRun({ text: "Week 3 (Days 11–15): What improved? What was hardest? ____________________________________________", size:18, color:GRAY_TEXT }),
new TextRun({ text: "Questions for next SLP appointment: _________________________________________________________________", size:18, color:GRAY_TEXT }),
],
GRAY_LIGHT, GRAY_BORDER
),
spacer(160),
new Paragraph({ children: [new PageBreak()] }),
// ═══ EMERGENCY WARNINGS ═════════════════════════════
heading1("🚨 WHEN TO CALL THE DOCTOR IMMEDIATELY"),
spacer(80),
infoBox(
new TextRun({ text: "🚨 CALL 040-68334455 OR BRING TO EMERGENCY IMMEDIATELY IF YOU NOTICE:", bold:true, size:22, color:RED_DARK }),
[
new TextRun({ text: "☐ Sudden new loss of speech OR sudden dramatic worsening of speech", size:19, color:RED_DARK }),
new TextRun({ text: "☐ New difficulty swallowing food or liquids — choking, food going 'down the wrong way'", size:19, color:RED_DARK }),
new TextRun({ text: "☐ Sudden increased confusion, memory loss, or not recognising family members", size:19, color:RED_DARK }),
new TextRun({ text: "☐ New or worsening unsteadiness when walking (possible NPH sign — Evan's index was borderline at 0.41)", size:19, color:RED_DARK }),
new TextRun({ text: "☐ New facial drooping or new weakness in arms or legs", size:19, color:RED_DARK }),
new TextRun({ text: "☐ Sudden severe headache or loss of consciousness", size:19, color:RED_DARK }),
new TextRun({ text: "☐ Urinary incontinence that appears suddenly alongside gait problems (NPH triad)", size:19, color:RED_DARK }),
],
RED_BG, RED_DARK
),
spacer(120),
infoBox(
new TextRun({ text: "ℹ️ NORMAL FLUCTUATIONS — NOT AN EMERGENCY", bold:true, size:20, color:BLUE_DARK }),
[
new TextRun({ text: "Speech is often worse in the morning, when tired, when stressed, or when unwell with a cold or fever. These day-to-day fluctuations are normal.", size:18, color:"1E40AF" }),
new TextRun({ text: "If speech seems slightly worse on one particular day — rest, hydrate, and resume normal practice the next day.", size:18, color:"1E40AF" }),
new TextRun({ text: "Contact your SLP (not the emergency line) if: he seems to be regressing over multiple days, is refusing to practice, or shows signs of depression or withdrawal.", size:18, color:BLUE_DARK }),
],
BLUE_BG, BLUE_MED
),
spacer(120),
// NPH special note
infoBox(
new TextRun({ text: "⚠️ SPECIAL WATCH: NORMAL PRESSURE HYDROCEPHALUS (NPH)", bold:true, size:20, color:ORANGE_DARK }),
[
new TextRun({ text: "His MRI showed an Evan's Index of 0.41 — borderline for Normal Pressure Hydrocephalus (NPH). NPH can develop gradually and may cause:", size:18, color:"7C2D12" }),
new TextRun({ text: "• Slowly worsening gait (shuffling, unsteady walking) • Urinary leakage/urgency • Gradual cognitive slowing or memory problems", size:18, color:"7C2D12" }),
new TextRun({ text: "If you notice ANY of these developing — contact Dr. Pawan Ojha or Dr. Suranjana Basak at Medicover BEFORE the next scheduled appointment.", size:18, color:ORANGE_DARK, bold:true }),
],
ORANGE_BG, ORANGE_DARK
),
spacer(160),
// ═══ CONTACTS ═══════════════════════════════════════
heading2("📞 IMPORTANT CONTACTS", DARK_TEXT, WHITE),
spacer(80),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: thinBorders(GRAY_BORDER),
rows: [
new TableRow({ tableHeader:true, children: ["Contact", "Name / Department", "Number / Notes"].map(h => new TableCell({
children: [para([new TextRun({ text:h, bold:true, size:18, color:WHITE })])],
shading: { type:ShadingType.SOLID, color:"0F172A" },
margins: { top:60, bottom:60, left:100, right:60 },
borders: thinBorders(GRAY_BORDER),
}))}),
...[
["Hospital Helpline", "Medicover Hospitals, Maharashtra", "040-68334455 (24/7)"],
["Neurology", "Dr. Pawan Ojha & Dr. Suranjana Basak", "Via Medicover OPD booking"],
["Neuro-interventionist", "Dr. Shashank Nagendra", "Via Medicover referral"],
["Speech Therapy Dept.", "Medicover Hospitals – SLP Team", "Request at hospital reception"],
["Emergency", "National Emergency / Ambulance", "112"],
].map((r,i) => new TableRow({ children: r.map((cell,ci) => new TableCell({
children: [para([new TextRun({ text:cell, size:18, color: ci===2 ? BLUE_DARK : DARK_TEXT, bold: ci===2 })])],
shading: { type:ShadingType.SOLID, color: i%2===0 ? WHITE : GRAY_LIGHT },
margins: { top:60, bottom:60, left:100, right:60 },
borders: thinBorders(GRAY_BORDER),
}))})
]),
],
}),
spacer(120),
// Closing message
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
borders: noBorders(),
rows: [new TableRow({ children: [new TableCell({
children: [
new Paragraph({ children: [new TextRun({ text: "A MESSAGE TO THE FAMILY", bold:true, size:22, color:WHITE })], alignment:AlignmentType.CENTER, spacing:{before:0,after:80} }),
new Paragraph({ children: [new TextRun({ text: "Your patience, consistency, and love are as powerful as any medicine. Recovery from stroke-related speech disorders is real — and it happens one daily practice session at a time. Every morning you sit with him and sing those MIT phrases, every picture card you show with patience, every 10-second silence you hold — you are helping his brain rebuild. Thank you for being his communication partner.", size:19, color:WHITE, italics:true })], alignment:AlignmentType.CENTER, spacing:{before:0,after:80} }),
new Paragraph({ children: [new TextRun({ text: "— Medicover Hospitals Speech Therapy Department | 29 May 2026", size:17, color:"93C5FD" })], alignment:AlignmentType.CENTER }),
],
shading: { type: ShadingType.SOLID, color: "1E3A8A" },
borders: noBorders(),
margins: { top:180, bottom:180, left:240, right:240 },
})]})],
}),
],
}],
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/daytona/workspace/speech-hep/Family_Instruction_Guide.docx', buffer);
console.log("SUCCESS: Family_Instruction_Guide.docx written");
}).catch(err => {
console.error("ERROR:", err.message);
process.exit(1);
});
cd /home/daytona/workspace/speech-hep && node build_family_guide.js 2>&1
~/speech-hep/build_family_guide.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/speech-hep/build_family_guide.js'
cd /home/daytona/workspace/speech-hep && node build_family_guide.js 2>&1
~/speech-hep/build_family_guide.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/speech-hep/build_family_guide.js'
cd /home/daytona/workspace/speech-hep && node build_family_guide.js 2>&1
python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/speech-hep/Family_Instruction_Guide.docx 2>&1 | tail -6 && ls -lh /home/daytona/workspace/speech-hep/Family_Instruction_Guide.docx
cd /tmp && python3 -c " import zipfile, os z = zipfile.ZipFile('/home/daytona/workspace/speech-hep/Family_Instruction_Guide.docx') names = z.namelist() print('Files in docx:', len(names)) print('Has document.xml:', 'word/document.xml' in names) print('Has styles.xml:', 'word/styles.xml' in names) doc_size = len(z.read('word/document.xml')) print('document.xml size:', doc_size, 'bytes') "
Family Instruction Guide
Word Document · DOCX
sds audiometry test protocol and reporting
"speech discrimination score" audiometry protocol
"word recognition score" audiometry hearing loss
| Old Term | Current Preferred Term | Abbreviation |
|---|---|---|
| Speech Discrimination Score | Word Recognition Score | WRS |
| Speech Discrimination Score | Speech Recognition Score | SRS |
| Speech Reception Threshold | Speech Recognition Threshold | SRT |
| Method | Rule |
|---|---|
| Standard method | Present at SRT + 25 to 35 dB SL (sensation level above SRT) |
| Reduced loudness tolerance | Use a lower SL (15–20 dB SL) — do not exceed uncomfortable loudness level (UCL) |
| Sloping audiogram | A higher SL (40 dB SL) may be needed to achieve PB-max |
| PI-PB function (rollover) | Test at multiple levels (see Section 6) |
| List | Description | Country/Standard |
|---|---|---|
| NU-6 (Northwestern University No. 6) | 50 monosyllabic PB words per list (4 lists) | USA — most widely used |
| CID W-22 (Rush Hughes PB-50) | 50 PB monosyllabic words | USA |
| Boothroyd word lists | 10 words with 30 phonemes scored | UK/Canada |
| Arthur Boothroyd (AB) lists | CVC words, phoneme scoring | UK |
| Kannada/Hindi/Tamil PB word lists | Linguistically validated regional lists | India — use language-matched list |
| SDS% | Interpretation |
|---|---|
| 90 – 100% | Normal word recognition |
| 76 – 88% | Slight difficulty |
| 60 – 74% | Moderate difficulty |
| 40 – 58% | Poor word recognition |
| ≤ 40% | Very poor word recognition |
| Finding | Clinical Significance |
|---|---|
| SDS < 30% | Characteristic of 8th nerve (retrocochlear) lesion (Adams & Victor, p. 309) |
| SDS disproportionately worse than PTA | Suspect retrocochlear pathology |
| Asymmetric SDS (>15–20% difference between ears) | Suspect vestibular schwannoma — refer for MRI IAM |
| Rollover on PI-PB function | Strongly suggestive of retrocochlear lesion |
| RI Value | Interpretation |
|---|---|
| RI ≥ 0.45 | Significant rollover — retrocochlear lesion suspected |
| RI < 0.45 | No significant rollover |
| Type | Pattern | Interpretation |
|---|---|---|
| Normal (cochlear) | Score rises with level, reaches plateau, stays at PB-max | Cochlear or normal hearing |
| Rollover (retrocochlear) | Score rises to PB-max then decreases at higher levels | 8th nerve lesion (schwannoma, neuritis) |
| Condition | Masking Required? |
|---|---|
| SDS presentation level > (BC threshold of better ear + 40 dB) | Yes — use speech-shaped noise |
| Bilateral symmetric hearing loss | Usually not required |
| Large interaural asymmetry | Always mask the better ear |
| Bone conduction speech (rare) | Always mask |
SPEECH AUDIOMETRY REPORT
Patient: _______________ Date: ___________
Audiologist: _______________ Equipment: ___________
RIGHT EAR LEFT EAR
──────────────────────────────────────────────────────
SRT (dB HL) ___ ___
SRT-PTA agreement ±___ dB ±___ dB
SDS Presentation Level ___ dB HL ___ dB HL
(Sensation Level) ___ dB SL ___ dB SL
SDS % ___% ___%
Word List Used NU-6 / CID-W22 / Other: ___
Masking used? Yes / No Yes / No
Masking level ___ dB ___ dB
Method Recorded / MLV
"Right ear SDS: 52% at 75 dB HL (SRT+30 dB SL). Left ear SDS: 94% at 60 dB HL (SRT+30 dB SL). The right ear demonstrates a marked asymmetry in word recognition ability (42% interaural difference). Right ear SDS is disproportionately reduced relative to the PTA of 45 dB. Rollover testing was performed; RI = 0.48 (significant). These findings are suspicious for a retrocochlear lesion on the right. Recommendation: MRI internal auditory meatus with gadolinium contrast to rule out vestibular schwannoma. Acoustic reflex testing and ABR also recommended."
| Condition | Expected SDS Finding |
|---|---|
| Normal hearing | 90–100% |
| Conductive HL | Normal or near-normal SDS if presented at suprathreshold level (loudness overcomes the conductive gap) |
| Sensorineural HL (cochlear) | Reduced in proportion to degree of HL; no rollover |
| Noise-induced HL | SDS often better preserved than frequency audiogram suggests |
| Presbycusis | Disproportionately poor SDS for degree of PTA loss — "phonemic regression" |
| Ménière's disease | May fluctuate; often poor during attacks |
| Vestibular schwannoma | Markedly reduced SDS (often <30%); rollover on PI-PB; ABR abnormal |
| Auditory neuropathy (ANSD) | Normal OAEs + absent ABR + severely reduced SDS |
| Cochlear implant assessment | SDS <50% (or <30% in aided conditions) is key criterion for candidacy (Shambaugh, p. 13) |
| Error | Consequence | Prevention |
|---|---|---|
| Using MLV instead of recorded material | Poor repeatability, inflated scores | Always use calibrated recorded lists |
| Presenting at too low an SL (not reaching PB-max) | Underestimates true discrimination ability | Use 25–35 dB SL above SRT |
| Forgetting masking | Cross-hearing inflates score in poorer ear | Apply masking rules strictly |
| Using unfamiliar language word lists | Invalid, unreliable scores | Use linguistically matched, validated lists |
| Not noting the presentation level in report | Score cannot be interpreted clinically | Always record both SL and HL |
| Administering only 25 words and not adjusting | Statistical unreliability | Use full 50-word list or apply correction factor |
| Parameter | Standard Value |
|---|---|
| Word list | PB monosyllabic words (NU-6, CID-W22) |
| Words per list | 50 (full) or 25 (half-list × 2) |
| Presentation method | Recorded (preferred); MLV only when necessary |
| Presentation level | SRT + 25–35 dB SL |
| Transducer | TDH-39 supra-aural or ER-3A inserts |
| Masking noise | Speech-shaped noise |
| Masking rule | Apply when PL > (better ear BC + 40 dB) |
| Scoring | % words correct (whole-word or phoneme) |
| Normal SDS | 90–100% |
| Retrocochlear alert threshold | SDS < 30% or rollover RI ≥ 0.45 |
| Asymmetry alert | >15–20% interaural difference |
srt audiometry what frewuency we do and how to write the report generate one exampls
| Frequencies | Why These Three |
|---|---|
| 500 Hz, 1000 Hz, and 2000 Hz | These are the frequencies that carry the bulk of speech energy in normal conversational speech. Speech sounds are concentrated between 250–6000 Hz (K.J. Lee, p. 5779), and the 500–2000 Hz range determines intelligibility most strongly. |
| Group | Spondee Examples |
|---|---|
| Everyday objects | railroad, eardrum, sidewalk, hotdog, doorbell, birthday, baseball, toothbrush |
| Common words | armchair, stairway, cowboy, iceberg, sunshine, rainbow, woodwork, blackbird |
| Indian English lists | aeroplane, football, classroom, mailbox (language-validated regional lists) |
| Step | Action |
|---|---|
| 1 | Present the first spondee at estimated PTA + 20 dB |
| 2 | If patient repeats correctly → decrease by 10 dB |
| 3 | Continue decreasing by 10 dB until patient fails |
| 4 | Once patient fails → increase by 5 dB (ascending run) |
| 5 | Present 5 words at each level |
| 6 | SRT = lowest level where patient correctly repeats 50% of spondees (i.e., 2 or 3 out of 5 or 10) |
| Finding | Meaning |
|---|---|
| SRT within ±6 dB of PTA | Excellent agreement — reliable audiogram |
| SRT within ±10 dB of PTA | Acceptable agreement |
| SRT better (lower) than PTA by >10 dB | Pure tone thresholds may be elevated — check for non-organic HL (functional/feigned) |
| SRT worse (higher) than PTA by >10 dB | May indicate steeply falling audiogram — use best 2-frequency PTA |
| SRT much better than PTA | Classic sign of non-organic hearing loss — patient is exaggerating thresholds on PTA |
| Frequency | Right AC (dB HL) | Right BC (dB HL) | Left AC (dB HL) | Left BC (dB HL) |
|---|---|---|---|---|
| 250 Hz | 25 | 20 | 15 | 15 |
| 500 Hz | 35 | 30 | 20 | 20 |
| 1000 Hz | 45 | 40 | 25 | 25 |
| 2000 Hz | 55 | 50 | 30 | 30 |
| 3000 Hz | 60 | — | 35 | — |
| 4000 Hz | 65 | 55 | 40 | 35 |
| 6000 Hz | 70 | — | 45 | — |
| 8000 Hz | 65 | — | 40 | — |
| Right Ear | Left Ear | |
|---|---|---|
| SRT (dB HL) | 48 dB | 28 dB |
| Stimulus | Spondee word list (Hindi-English) | Spondee word list (Hindi-English) |
| Method | Ascending modified Hughson-Westlake | Ascending modified Hughson-Westlake |
| Starting level | 65 dB HL (PTA + 20 dB) | 45 dB HL (PTA + 20 dB) |
| Masking applied? | No (left ear BC > right PL − 40 dB not met) | Yes — speech-shaped noise at 40 dB |
| Masking level | — | 40 dB HL speech-shaped noise |
| Right | Left | |
|---|---|---|
| PTA (500/1000/2000 Hz) | 45 dB HL | 25 dB HL |
| SRT | 48 dB HL | 28 dB HL |
| Difference (SRT − PTA) | +3 dB ✅ | +3 dB ✅ |
| Within ±6 dB? | Yes — agreement excellent | Yes — agreement excellent |
| Right Ear | Left Ear | |
|---|---|---|
| Presentation Level | SRT + 30 dB SL = 78 dB HL | SRT + 30 dB SL = 58 dB HL |
| Word List Used | NU-6 (50 monosyllabic PB words) | NU-6 (50 monosyllabic PB words) |
| Words Correct | 34 / 50 | 46 / 50 |
| SDS % | 68% | 92% |
| Masking | Speech-shaped noise 55 dB HL (right BC) | No (left PL 58 dB HL within safe limits) |
| Element | Detail |
|---|---|
| SRT stimulus | Spondee words (bisyllabic, equal stress) |
| SRT definition | Lowest dB HL at which patient repeats spondees correctly 50% of the time |
| Frequencies for PTA | 500 Hz + 1000 Hz + 2000 Hz ÷ 3 |
| SRT–PTA agreement | Must be within ±6 dB (Shambaugh) to ±10 dB (K.J. Lee) |
| SDS presentation level | SRT + 25–35 dB SL |
| Masking rule (SRT) | Apply when speech PL > better ear BC thresholds + 40 dB |
| Masking noise type | Speech-shaped noise |
| SRT discrepancy >10 dB | Suspect non-organic (functional) hearing loss |
| Asymmetric SDS (>15–20%) | Suspect retrocochlear — refer for MRI IAM |