Pick each nd every question from "Physical/Functional Assessment(PFA)" nd divide them topic wise dont leave any questions And then distribute the questions within the topics (you can follow the attached JPEG syllabus to do the task, but to cover everything you can make it as your wish) Make an pdf file
cd /home/daytona/workspace/attachments/cab0dfcd-b521-48d6-a215-3d304246ab32 && python3 -c " import pdfplumber import os files = [ 'pfa.pdf', 'DOC-20260214-WA0058. (1).pdf', 'PFA-1.pdf', '3rd yr Physicalfunctional Assessment.pdf' ] for f in files: print(f'\n\n========== FILE: {f} ==========') try: with pdfplumber.open(f) as pdf: print(f'Pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- Page {i+1} ---') print(text) else: print(f'--- Page {i+1}: No text extracted ---') except Exception as e: print(f'Error: {e}') " 2>&1 | head -2000
cd /home/daytona/workspace/attachments/cab0dfcd-b521-48d6-a215-3d304246ab32 && python3 -c " import subprocess import os # Try OCR on the scanned PDFs for fname in ['DOC-20260214-WA0058. (1).pdf', 'PFA-1.pdf']: print(f'\n\n========== OCR: {fname} ==========') result = subprocess.run( ['python3', '-c', f''' import pytesseract from pdf2image import convert_from_path import sys pages = convert_from_path(\"{fname}\", dpi=200) for i, page in enumerate(pages[:10]): text = pytesseract.image_to_string(page) if text.strip(): print(f\"--- Page {{i+1}} ---\") print(text[:2000]) '''], capture_output=True, text=True, timeout=300, cwd='/home/daytona/workspace/attachments/cab0dfcd-b521-48d6-a215-3d304246ab32' ) print(result.stdout[:3000] if result.stdout else 'No output') if result.stderr: print('STDERR:', result.stderr[:500]) " 2>&1 | head -400
cd /home/daytona/workspace/attachments/cab0dfcd-b521-48d6-a215-3d304246ab32 && python3 -c " import pytesseract from pdf2image import convert_from_path # Full OCR of PFA-1.pdf pages = convert_from_path('PFA-1.pdf', dpi=200) print(f'Total pages: {len(pages)}') for i, page in enumerate(pages): text = pytesseract.image_to_string(page) if text.strip(): print(f'--- Page {i+1} ---') print(text) " 2>&1
cd /home/daytona/workspace/attachments/cab0dfcd-b521-48d6-a215-3d304246ab32 && python3 -c " import pytesseract from pdf2image import convert_from_path # Full OCR of DOC PDF - all 44 pages pages = convert_from_path('DOC-20260214-WA0058. (1).pdf', dpi=150) print(f'Total pages: {len(pages)}') for i, page in enumerate(pages): text = pytesseract.image_to_string(page) if text.strip(): print(f'--- Page {i+1} ---') print(text[:1500]) " 2>&1
mkdir -p /home/daytona/workspace/pfa-questions && cat > /home/daytona/workspace/pfa-questions/create_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib.colors import HexColor, black, white from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.pdfgen import canvas from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate # ─── Data: all questions organized by topic ─────────────────────────────────── topics = { "A. Assessment & Evaluation — General": { "color": HexColor("#1a3a5c"), "subtopics": { "Subjective Examination / Medical History Taking": [ ("2022 Aug", "Short Note", "Medical history taking."), ("2018", "Short Note", "Medical history taking."), ("2014", "Long Q", "What do you mean by 'subjective examination'? Write in detail about the common assessment procedure of orthopaedic conditions. (3+7)"), ("2009", "Short Note", "Discuss importance of communication in patient assessment."), ("2009", "Short Note", "Definition of POMR."), ("2013", "Short Note", "Basic principles of communication with patient."), ], "POMR / SOAP / Body Chart": [ ("2023 May", "Short Note", "POMR."), ("2022 Aug", "Short Note", "What is Barrier concept?"), ("2021 Sep", "Short Note", "Body chart & its importance."), ("2018", "Long Q", "Describe in detail 'P.O.M.R'."), ("2016", "Short Note", "SOAP format."), ("2015", "Short Note", "SOAP format."), ("2015", "Short Note", "Importance of body chart according to Maitland Concept."), ("2014", "Short Note", "P.O.M.R."), ("2014", "Short Note", "S.O.A.P."), ("2013", "Short Note", "POMR."), ("2012", "Long Q", "Describe in detail 'P.O.M.R'."), ("2011", "Short Note", "POMR."), ("2009", "Short Note", "SOAP."), ("2024 Sep", "Short Note", "SOAP."), ("2025 Sep", "Short Note", "Subjective Examination as per SOAP."), ], "Clinical Reasoning & Decision Making": [ ("2023 May", "Long Q", "Define Clinical reasoning? Describe the different steps of it. (3+7)"), ("2021 Sep", "Short Note", "Principal of clinical decision making."), ("2020 Jan", "Long Q", "What is clinical reasoning? State the importance of clinical decision making in physiotherapy. (3+7)"), ("2019 Aug", "Short Note", "Principle of clinical reasoning."), ("2019 Aug", "Short Note", "Inductive reasoning."), ("2018", "Long Q", "What are the principals of clinical decision making? What is the importance of clinical decision making in Physiotherapy. (4+6)"), ("2017", "Short Note", "Clinical Reasoning."), ("2016", "Long Q", "What is Clinical Reasoning? Explain briefly about differences in patient management leading to optimal outcomes. (2+8)"), ("2015", "Long Q", "What do you mean by Clinical Decision Making? What are the steps in clinical decision making? (4+6)"), ("2014", "Short Note", "Clinical reasoning."), ("2013", "Short Note", "Principles of clinical reasoning."), ("2012", "Short Note", "Inductive reasoning."), ("2011", "Long Q", "Discuss the various steps of clinical decision making process. Mention its importance in physiotherapy management. (7+3)"), ("2011", "Short Note", "Clinical Reasoning."), ("2009", "Short Note", "Inductive reasoning."), ("2008", "Short Note", "Steps in clinical decision making."), ("2024 Sep", "Short Note", "Clinical reasoning."), ], "SIN Factor / Irritability": [ ("2021 Sep", "Short Note", "'SIN' factor."), ], "End Feel (Normal & Pathological)": [ ("2019 Aug", "Short Note", "End feel."), ("2017", "Short Note", "End feel."), ("2016", "Short Note", "Pathological end feel."), ("2015", "Short Note", "Pathological end feel."), ("2014", "Short Note", "End feel."), ("2013", "Long Q", "What is end feel? Describe in details about the normal and abnormal end feel. (10)"), ("2009", "Short Note", "End feel."), ], "Break Test / Make Test / Selective Tissue Tension Test": [ ("2014", "Short Note", "Break test and make test."), ("2011", "Short Note", "Selective tissue tension tests."), ("2010", "Short Note", "Selective Tissue Tension Test (STTT)."), ("2022 Aug", "Long Q", "What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ], "Capsular / Non-Capsular Pattern": [ ("2019 Aug", "Long Q", "Describe the capsular and non capsular pattern of involvement. (10)"), ], "Pain Assessment": [ ("2016", "Short Note", "Pain assessment."), ("2014", "Short Note", "Pain assessment."), ], "Gait Assessment": [ ("2023 Sep", "Long Q", "Define special test. Discuss about assessment of human gait cycle. (10)"), ], "Posture Assessment": [ ("2025 Sep", "Long Q", "Define posture. Describe postural assessment method."), ], } }, "B. Maitland Concept": { "color": HexColor("#1a5c3a"), "subtopics": { "Grades of Mobilization / Brick Wall / Barrier Concept": [ ("2023 May", "Long Q", "What is brick wall theory? Write its clinical importance. Discuss the assessment format of Maitland mobilization. (2+3+5)"), ("2022 Aug", "Short Note", "Grades of Mobilization in Maitland concept."), ("2022 Aug", "Short Note", "Movement barriers."), ("2022 Aug", "Short Note", "Brick wall concept of Maitland."), ("2019 Aug", "Long Q", "Explain Maitland's concept grades, technique and write about the procedure for applying joint. (10)"), ("2018", "Long Q", "What is brick wall theory? What will be your management in L3-L4 PIVD patients in terms of Maitland approach? (2+8)"), ("2016", "Short Note", "Brick-wall concept."), ("2014", "Long Q", "What is Brick Wall theory? Write down different grades of mobilization and physiological effects of Maitland's mobilization. (3+3+4)"), ("2013", "Short Note", "Brick wall theory."), ("2012", "Long Q", "Differentiate between mobilization & manipulation. Write about the 'Barrier concept' recommended by Maitland. (5+5)"), ("2011", "Long Q", "Describe the different grades of mobilization with their uses. State the brick wall concept of Maitland and Describe the use of body chart in assessment. (3+2+5)"), ("2010", "Long Q", "Define mobilization and manipulation. Mention the contraindications and the same test best sensitized. (7+3)"), ("2010", "Long Q", "Define mobilization. Mention the contraindications of mobilization and how can the same test be sensitized. (7+3)"), ("2009", "Short Note", "Contraindications of joint mobilization."), ("2008", "Long Q", "Define Mobilization and Manipulation as per Maitland technique."), ("2024 Sep", "Long Q", "State Maitland's grade of mobilization. How can we treat a grade 3 patient of chronic frozen shoulder using Maitland's mobilization? (3+7)"), ("2023 Sep", "Short Note", "Brick wall concept of Maitland."), ("2023 Sep", "Short Note", "Movement barriers."), ("2023 Sep", "Short Note", "PAIVM & PPIVM."), ], "Assessment Protocol — Maitland": [ ("2015", "Long Q", "Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2015", "Short Note", "Importance of body chart according to Maitland Concept."), ("2020 Jan", "Long Q", "What is adhesive capsulitis? How will you manage the same based on Maitland concept? (2+8)"), ("2017", "Long Q", "Write in detail the procedure of shoulder mobilization according to Maitland concept for adhesive capsulitis. (7+3)"), ("2012", "Long Q", "Explain the Maitland's concept grades, technique and write about the procedure for applying to hip joint. (5+5)"), ("2019 Aug", "Long Q", "Explain Maitland's concept grades, technique and write about the procedure for applying joint. (10)"), ("2008", "Long Q", "Briefly explain the 'Maitland concept'. Write down different grades according to Maitland. (5+5)"), ("2009", "Long Q", "Briefly explain the 'Maitland concept'. Write down different grades according to Maitland. (5+5)"), ], "Pathological Barrier": [ ("2017", "Short Note", "Pathological barrier."), ], "Freyette's Rule": [ ("2008", "Short Note", "Freyette's rule of spine."), ], } }, "C. McKenzie Concept": { "color": HexColor("#5c1a1a"), "subtopics": { "Derangement Syndrome": [ ("2023 May", "Long Q", "What is the difference between derangement syndrome & dysfunction syndrome? Write the assessment protocol for central symmetrical low back pain? (5+5)"), ("2022 Aug", "Short Note", "Derangement syndrome."), ("2022 Aug Sep", "Long Q", "Describe Derangement syndrome in terms of McKenzie approach. (10)"), ("2021 Sep", "Long Q", "Describe Derangement syndrome in terms of McKenzie approach. (10)"), ("2020 Jan", "Long Q", "What is derangement syndrome? Briefly describe the assessment and management of the same. (2+8)"), ("2019 Aug", "Long Q", "What is directional preference? How do you find out directional preference for C5-C6 canal stenosis patients with symptoms upto wrist loaded condition? (3+7)"), ("2016", "Long Q", "Elaborate the Derangement Syndromes according to McKenzie Concept. (10)"), ("2013", "Long Q", "What is derangement syndrome? Explain peripheralization and centralization of symptoms. What are the differences between Derangement Grade II, Grade IV and Grade VI. (2+4+4)"), ("2012", "Long Q", "How will you differentiate between dysfunction syndrome and derangement syndrome? Classify dysfunction syndrome. (4+6)"), ("2011", "Short Note", "Types of derangement syndrome."), ("2011", "Short Note", "Distinguish between postural and dysfunction syndrome."), ("2009", "Long Q", "What is derangement syndrome? Explain peripheralization and centralization of symptoms. What is postural syndrome? (2+6+2)"), ("2010", "Long Q", "Describe clinically differentiating dysfunction and derangement syndromes. (6+4)"), ("2023 Sep", "Long Q", "Discuss the derangement syndromes of lumbar spine. What is centralization and peripheralization?"), ("2024 Sep", "Long Q", "Write the difference between derangement and dysfunction syndrome. How will you treat a patient having chronic low back pain using McKenzie concept. (5+5)"), ], "Postural / Dysfunction Syndrome": [ ("2014", "Long Q", "Write the assessment and treatment procedures of Postural syndrome. (4+6)"), ("2011", "Long Q", "Define postural syndromes. Write the assessment and treatment procedures of postural syndromes. (3+7)"), ("2019 Aug", "Short Note", "Directional preference."), ("2018", "Short Note", "Directional preference."), ], "Traffic Light / McKenzie System Indicators": [ ("2018", "Long Q", "What are traffic light guiding in McKenzie system?"), ("2013", "Short Note", "Traffic signal light indications of McKenzie."), ("2017", "Long Q", "Write down the treatment procedure according to McKenzie Concept of a patient with Derangement five. (10)"), ], "Flexion / Extension Dysfunction (McKenzie)": [ ("2022 Aug", "Long Q", "Describe Flexion and Extension dysfunction by McKenzie approach. (5+5)"), ("2019 Aug", "Short Note", "Flexion biased exercise."), ("2020 Jan", "Short Note", "Flexion biased exercise."), ], "Centralization / Peripheralization": [ ("2010", "Short Note", "Centralisation and peripheralisation."), ], } }, "D. Cyriax Concept": { "color": HexColor("#5c3a1a"), "subtopics": { "Principles & Assessment System": [ ("2022 Aug", "Long Q", "What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ("2022 Sep", "Long Q", "Write in detail about Cyriax principal and assessment system."), ("2018", "Long Q", "Write in detail about Cyriax principal and assessment system."), ("2020 Jan", "Long Q", "What is the basic concept of Cyriax approach? What is the concept of referred pain? What are the factors affecting pain? (4+3+3)"), ("2011", "Short Note", "Selective tissue tension tests."), ], "Deep Transverse Friction Massage": [ ("2021 Sep", "Short Note", "DTFM."), ("2010", "Short Note", "Technique of Deep Transverse Friction Massage."), ("2008", "Short Note", "Deep friction massage."), ], "Soft Tissue Diagnosis / Contractile vs Non-Contractile": [ ("2010", "Short Note", "How to differentiate between contractile and non-contractile tissues."), ], } }, "E. Mennell's Concept": { "color": HexColor("#3a1a5c"), "subtopics": { "Joint Play / Rules": [ ("2023 May", "Short Note", "Mennel's rule."), ("2013", "Long Q", "Define Mennell's concept. Enumerate Mennell's rules of joint play. (2+8)"), ("2011", "Short Note", "Mennell's rules for joint play testing."), ], } }, "F. Neurodynamics / Neural Tension Tests": { "color": HexColor("#1a4a5c"), "subtopics": { "Adverse Neural Tension / Neurodynamics — General": [ ("2021 Sep", "Long Q", "What is ULTT? Describe the procedure of ULTT 1 & ULTT 2. (2+4+4)"), ("2021 Sep", "Long Q", "What is Slump Test? Describe the procedure of Slump Test & its clinical importance. (2+6+2)"), ("2020 Jan", "Long Q", "Define neurodynamics. Describe the procedure of brachial plexus tension test. (2+8)"), ("2020 Jan", "Short Note", "Adverse neural tension test."), ("2019 Aug", "Long Q", "What is directional preference? (C5-C6 neural tension context) (3+7)"), ("2018", "Short Note", "ULTT."), ("2017", "Long Q", "Write in detail the neurodynamic test of right ulnar nerve and its significance. (7+3)"), ("2016", "Long Q", "Describe the procedures of Upper Limb Neural Tension Tests with suitable diagrams. (10)"), ("2015", "Long Q", "Describe neural tension tests for sciatic, tibial and common peroneal nerves. (10)"), ("2014", "Short Note", "U.L.T.T."), ("2013", "Long Q", "Describe in detail about slump test. (10)"), ("2012", "Short Note", "Slump test."), ("2012", "Short Note", "U.L.T.T.1 & 2."), ("2011", "Long Q", "What do you understand by Adverse Neural Tension? Describe the Slump Test in detail. (4+6)"), ("2009", "Long Q", "What are the contraindications of ULTT? Describe in detail about the procedure of testing for a right ULTT-3 in non-irritable disorder. (3+7)"), ("2008", "Long Q", "Describe in brief the method of testing for a left ULTT1 in non-irritable disorder. What are the precautions and contraindications? (6+4)"), ("2022 Aug", "Long Q", "What is ULTT? Describe the procedure of ULTT2 & ULTT3. (2+4+4)"), ("2023 Sep", "Short Note", "ULTT3."), ("2022 Aug", "Short Note", "Sliders and tensioners."), ("2025 Sep", "Long Q", "Describe the variants of upper limb tension tests."), ("2024 Sep", "Short Note", "ULTT2."), ], "SLR & Modifications": [ ("2021 Sep", "Short Note", "SLR."), ("2015", "Short Note", "Slump Test."), ("2014", "Long Q", "Describe the clinical importance and procedure of S.L.R. and its modifications. (4+6)"), ("2010", "Long Q", "Describe the procedure of SLR and sensitization. What are the findings of the SLR? (7+3)"), ("2009", "Long Q", "Describe SLR in detail with its findings. What is sensitisation and how can you apply it? (6+4)"), ("2019 Aug", "Long Q", "Describe the procedure of SLR testing and state how the same test can be sensitized. Write down the findings of SLR test. (5+5)"), ("2024 Sep", "Long Q", "Variations of SLR and its significance. (10)"), ("2025 Sep", "Short Note", "Straight Leg Raise Test."), ], "Prone Knee Bending Test": [ ("2022 Aug", "Short Note", "Prone Knee bending Test."), ("2019 Aug", "Short Note", "Prone knee bend test."), ("2015", "Short Note", "Prone knee bending test."), ("2012", "Long Q", "Describe the procedure of Prone Knee Bending Test. Write about the clinical significance. (4+6)"), ("2010", "Short Note", "Prone knee bend (PKB) test."), ], "Slump Test": [ ("2021 Sep", "Long Q", "What is Slump Test? Describe the procedure of Slump Test & its clinical importance. (2+6+2)"), ("2018", "Short Note", "Slump test."), ("2015", "Short Note", "Slump Test."), ("2013", "Long Q", "Describe in detail about slump test. (10)"), ("2012", "Short Note", "Slump test."), ("2011", "Long Q", "Describe the Slump Test in detail. (4+6)"), ("2008", "Short Note", "SLUMP and SLR tests."), ], } }, "G. Neurological Approaches (Bobath, MRP, Rood, Brunnstrom)": { "color": HexColor("#2d5a1a"), "subtopics": { "Bobath / NDT Approach": [ ("2023 May", "Long Q", "Write an essay on Bobath approach. (10)"), ("2023 Sep", "Long Q", "Discuss the effects of three primitive reflexes on movement and posture of hemiplegic patients as per Bobath concept."), ("2022 Aug", "Long Q", "What is Spasticity? What is the grading of Spasticity? Management of Spasticity by Bobath approach. (2+3+5)"), ("2021 Sep", "Long Q", "What is Bobath approach? Describe RIP & RIMP. (2+4+4)"), ("2018", "Long Q", "What is Bobath approach? Write in detail about this approach. (2+8)"), ("2017", "Long Q", "Write down the different principles of Bobath Concept. How to assess a baby with cerebral palsy according to this concept? (4+6)"), ("2017", "Long Q", "Discuss physiotherapy management of inferior shoulder subluxation in hemiplegia. Write down the proper causes of subluxation. (5+5)"), ("2016", "Long Q", "Describe the principles of Neurodevelopment Therapy (NDT). Describe the treatment methods of a cerebral palsy child based on NDT. (4+6)"), ("2015", "Long Q", "Write the principles of Bobath Concept. Discuss the facilitation and inhibitation techniques according to this concept. (2+4+4)"), ("2014", "Long Q", "Discuss the principles of Bobath approach. Describe the problems of Hemiplegia according to Bobath. (4+6)"), ("2013", "Long Q", "Describe the principles, techniques and advantages of Bobath approach. (2+8)"), ("2011", "Long Q", "Discuss the Bobath's concept. What do you understand by facilitation and inhibition? Mention the importance of handling in the Bobath's concept. (6+2+2)"), ("2008", "Long Q", "What are the basic principles of Bobath approach? Discuss the facilitation and inhibition techniques used by Bobath. (4+6)"), ("2025 Sep", "Long Q", "Describe the application of Bobath Approach in a Cerebral Palsy patient."), ("2024 Sep", "Short Note", "Bobath Approach."), ], "RIP / RIMP / Key Points of Control": [ ("2023 May", "Short Note", "ATNR & STNR."), ("2021 Sep", "Short Note", "Importance of Isometric Resistance contraction."), ("2020 Jan", "Short Note", "RIP."), ("2018", "Short Note", "MRP."), ("2013", "Long Q", "What is synergy? Describe how RIP and RIMP can be used to break the synergy in the upper extremity of a hemiplegic patient. (3+7)"), ("2012", "Short Note", "R.I.P."), ("2012", "Short Note", "Key points of control."), ("2011", "Short Note", "Uses of Central Key Point."), ("2010", "Long Q", "What is Key Points of Control? Mention the various key points and how they can be used in the treatment of neurological patients. (3+7)"), ("2009", "Short Note", "R.I.P."), ("2009", "Short Note", "RIMP."), ("2008", "Short Note", "R.I.P."), ("2024 Sep", "Long Q", "What are the key points of control? How can you use RIP to break synergy patterns in upper limb? (4+6)"), ("2025 Sep", "Long Q", "Define RIP and RIMP. How to apply these techniques in Hemiplegia?"), ], "Motor Relearning Programme (MRP)": [ ("2024 Sep", "Long Q", "Principles of MRP. How will you treat gait deviation using MRP in hemiplegic patients? (4+6)"), ("2021 Sep", "Long Q", "What is MRP? What is the step of MRP and its importance? (2+6+2)"), ("2020 Jan", "Long Q", "Write about the principle of MRP. How will you train a hemiplegic patient in sit to stand according to MRP principles? (5+5)"), ("2017", "Long Q", "Write down the detailed physiotherapy management of a hemiplegic patient according to Motor Relearning Program. (10)"), ("2016", "Long Q", "Describe the principles of Motor Relearning Programme. What are the different type of feedback and their uses? Explain with examples. (4+6)"), ("2015", "Long Q", "Describe in detail about Motor Relearning Programme. (10)"), ("2014", "Long Q", "Describe the principles and stages of M.R.P. (5+5)"), ("2013", "Short Note", "Theories of motor learning."), ("2012", "Short Note", "R.I.P."), ("2011", "Long Q", "Mention the principles of MRP. Describe the management of hemiplegic patient using the principles of MRP. (4+6)"), ("2010", "Long Q", "What do you understand by Motor Learning Programme? Mention the steps of MRP in the treatment of a hemiplegic patient. (6+4)"), ("2009", "Long Q", "What is MRP? Describe in detail about the different steps of MRP. (2+8)"), ("2008", "Short Note", "Steps of MRP."), ("2019 Aug", "Short Note", "Theories of motor learning."), ], "Spasticity & Synergy": [ ("2022 Aug", "Long Q", "What is Spasticity? What is the grading of Spasticity? Management of Spasticity by Bobath approach. (2+3+5)"), ("2018", "Short Note", "Grading of spasticity."), ("2016", "Short Note", "Modified Ashworth Scale."), ("2014", "Short Note", "Modified Ashworth scale."), ("2013", "Short Note", "Assessment of spasticity."), ("2012", "Short Note", "Grading of spasticity."), ("2011", "Short Note", "Spasticity and Synergy."), ("2020 Jan", "Short Note", "Spasticity."), ("2020 Jan", "Short Note", "Synergy."), ("2009", "Short Note", "Synergy."), ("2025 Sep", "Long Q", "What is Hypertonicity? What are the types of Hypertonicity, describing their assessment?"), ], "Primitive Reflexes / ATNR / STNR": [ ("2019 Aug", "Short Note", "Primitive reflex."), ("2019 Aug", "Short Note", "A.T.N.R."), ("2017", "Short Note", "Positive supporting reaction."), ("2017", "Short Note", "Righting and equilibrium reactions."), ("2017", "Short Note", "Facilitatory techniques of Bobath."), ("2016", "Short Note", "Examination of Primitive Reflexes."), ("2015", "Short Note", "Neural Plasticity."), ("2015", "Short Note", "Antispastic position of upper limb in hemiparesis."), ("2013", "Short Note", "ATNR."), ("2009", "Short Note", "STNR."), ("2009", "Short Note", "Primitive reflexes of a newborn baby."), ("2009", "Short Note", "RIMP."), ("2024 Sep", "Short Note", "ATNR and STNR."), ], "Vojta Approach": [ ("2023 May", "Long Q", "What is Vojta approach? How this approach is used to treat a neurological patient? (3+7)"), ("2019 Aug", "Short Note", "Vojta approach."), ("2008", "Long Q", "What do you understand by Vojta approach? How do principles of Vojta differ from those of Bobath?"), ], "Neural Plasticity / Neuroplasticity": [ ("2016", "Short Note", "Neural Plasticity."), ("2015", "Short Note", "Neural Plasticity."), ("2014", "Short Note", "Neural plasticity."), ("2008", "Long Q", "What do you understand by neuroplasticity? Explain principles of neuroplasticity in Bobath approach. (3+7)"), ], } }, "H. Neurological Assessment": { "color": HexColor("#1a5c5c"), "subtopics": { "Motor & Sensory Examination": [ ("2023 May", "Short Note", "Components of Motor assessment."), ("2022 Aug", "Long Q", "Describe Motor and Sensory assessment protocol. (5+5)"), ("2021 Sep", "Short Note", "Assessment of Myotomes."), ("2013", "Short Note", "Sensory assessment as a part of Neurological Examination."), ("2024 Sep", "Long Q", "Write in details about the neurological assessment of a patient suffering from right sided hemiplegia. (10)"), ("2025 Sep", "Long Q", "Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ], "Reflex Assessment / Spinal Reflexes": [ ("2020 Jan", "Short Note", "Spinal reflex."), ("2025 Sep", "Short Note", "ASIA Scale."), ], "Tinel Sign": [ ("2020 Jan", "Short Note", "Tinel sign."), ], "FIM Scale / Barthel Index / Functional Scales": [ ("2019 Aug", "Short Note", "F.I.M scale."), ("2018", "Short Note", "FIM scale."), ("2017", "Short Note", "FIM scale."), ("2016", "Short Note", "FIM Scale."), ("2012", "Short Note", "F.I.M scale."), ("2019 Aug", "Short Note", "Functional balance scale."), ("2016", "Short Note", "Berg Balance Scale."), ("2013", "Short Note", "Functional balance scale."), ("2024 Sep", "Short Note", "Barthel's Index."), ("2025 Sep", "Short Note", "Functional Independence Measure."), ("2025 Sep", "Short Note", "MMSE."), ("2025 Sep", "Short Note", "Tests for coordination."), ("2023 Sep", "Short Note", "Layer syndrome."), ], } }, "I. Regional Assessment — Spine & Pelvis": { "color": HexColor("#5c4a1a"), "subtopics": { "Cervical Spine": [ ("2021 Sep", "Long Q", "Describe assessment protocol of Cervical Spine. (10)"), ("2019 Aug", "Long Q", "What is directional preference for C5-C6 canal stenosis patients? (3+7)"), ("2025 Sep", "Long Q", "Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ("2022 Aug", "Short Note", "Spurling Test."), ("2021 Sep", "Short Note", "Spurling Test."), ("2024 Sep", "Short Note", "Spurling Test."), ], "Lumbar Spine / Low Back": [ ("2023 May", "Long Q", "Write the assessment protocol for central symmetrical low back pain (McKenzie). (5+5)"), ("2015", "Long Q", "Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2016", "Short Note", "Schober's Test."), ("2010", "Long Q", "Describe clinically differentiating postural, dysfunction and derangement syndromes. (6+4)"), ("2020 Jan", "Short Note", "Gaenslen test."), ], "Thoracic / Rib Cage": [ ("2023 Sep", "Short Note", "Shunting rule of Magnus."), ], "Sacroiliac Joint / Pelvis": [ ("2018", "Short Note", "Gillets test."), ("2015", "Short Note", "Modified Ober Test."), ("2023 Sep", "Short Note", "Hip quadrant test."), ], "Sharp Purser Test": [ ("2018", "Short Note", "Sharp purser test."), ], } }, "J. Regional Assessment — Upper Limb": { "color": HexColor("#4a1a5c"), "subtopics": { "Shoulder Joint": [ ("2022 Aug", "Long Q", "Describe the detailed shoulder joint assessment protocol. (10)"), ("2022 Aug", "Short Note", "Test for Anterior shoulder dislocation."), ("2022 Aug", "Short Note", "Assessment of Impingement syndrome of shoulder joint."), ("2019 Aug", "Long Q", "What is shoulder impingement syndrome? Write assessment and special test for it. (2+4+4)"), ("2016", "Long Q", "Describe any two special tests related to shoulder impingement syndrome with significance. (5+5)"), ("2015", "Short Note", "Neer impingement test and sign."), ("2012", "Long Q", "Write in detail the assessment & special tests concerned to shoulder Impingement. (4+6)"), ("2017", "Short Note", "O'Brien Test."), ("2017", "Short Note", "Lift off sign."), ("2023 Sep", "Long Q", "Discuss shoulder lock test and shoulder quadrant test. (10)"), ("2024 Sep", "Short Note", "Lift off sign."), ("2025 Sep", "Short Note", "Special test for Labral injury in shoulder."), ], "Elbow & Forearm": [ ("2022 Aug Sep", "Short Note", "Mill's manipulation."), ("2012", "Short Note", "Mill's maneuver."), ("2011", "Short Note", "Mill's manipulation."), ], "Wrist & Hand": [ ("2020 Jan", "Short Note", "Tinel sign."), ], "Quadrant Test": [ ("2023 May", "Short Note", "Quadrant test."), ("2023 Sep", "Long Q", "Discuss shoulder lock test and shoulder quadrant test. (10)"), ("2019 Aug", "Long Q", "Explain Maitland's procedure for applying joint (context of quadrant). (10)"), ], "Adson's Test": [ ("2023 May", "Short Note", "Adson's test."), ], } }, "K. Regional Assessment — Lower Limb": { "color": HexColor("#1a5c2a"), "subtopics": { "Hip Joint": [ ("2020 Jan", "Long Q", "Describe any two special tests of hip joint with clinical significance. (5+5)"), ("2020 Jan", "Short Note", "Trendelenberg test."), ("2012", "Long Q", "Explain the Maitland's concept grades, technique and write about the procedure for applying to hip joint. (5+5)"), ("2018", "Short Note", "Gillets test."), ("2016", "Short Note", "Ortolani's Test."), ("2023 Sep", "Long Q", "Discuss in detail Thomas and Ober test with clinical importance. (3+7)"), ("2015", "Short Note", "Modified Ober Test."), ("2023 Sep", "Short Note", "Hip quadrant test."), ], "Knee Joint": [ ("2023 May", "Short Note", "McMurray's test."), ("2023 May", "Short Note", "Pivot Shift test."), ("2022 Aug", "Short Note", "90-90 Hamstring Test."), ("2021 Sep", "Short Note", "Test for Meniscal injury."), ("2018", "Short Note", "90-90 hamstring test."), ("2017", "Short Note", "Special tests for lateral meniscus injury of knee."), ("2015", "Long Q", "Describe any two special tests related to ACL of knee with significance. (5+5)"), ("2014", "Long Q", "Describe the clinical importance and procedure of S.L.R. and its modifications. (4+6)"), ("2014", "Short Note", "Anterior Drawer test & posterior Drawer test."), ("2013", "Short Note", "Empty can test."), ("2012", "Short Note", "Helfet test."), ("2011", "Short Note", "Selective tissue tension tests."), ("2019 Aug", "Short Note", "Helfest test."), ("2023 May", "Short Note", "Reverse Lachman test."), ("2022 Aug", "Short Note", "Any two special tests for meniscal injury of knee joint."), ("2023 Sep", "Long Q", "Discuss any three special tests for patello femoral joint. (10)"), ("2025 Sep", "Short Note", "Anterior Drawer test of knee."), ("2025 Sep", "Short Note", "Cozen's Test."), ], "Ankle & Foot": [ ("2020 Jan", "Short Note", "Gaenslen test."), ], } }, "L. Communication": { "color": HexColor("#5c1a4a"), "subtopics": { "Verbal & Non-Verbal Communication": [ ("2020 Jan", "Short Note", "Difference between verbal and non verbal communication."), ("2018", "Short Note", "Non verbal communication."), ("2012", "Short Note", "Non-verbal communication."), ("2011", "Short Note", "Verbal Communication."), ("2009", "Short Note", "Discuss importance of communication in patient assessment."), ("2013", "Short Note", "Basic principles of communication with patient."), ], } }, "M. Ergonomics & Occupational Health": { "color": HexColor("#1a3a1a"), "subtopics": { "Ergonomics — Definition, Principles, Applications": [ ("2023 Sep", "Short Note", "Layer syndrome."), ], "Force Progression / Activation Patterns": [ ("2023 May", "Short Note", "Force progression."), ], } }, "N. Special Topics / Miscellaneous": { "color": HexColor("#3a3a1a"), "subtopics": { "Schober's Test / Other Spinal Tests": [ ("2016", "Short Note", "Schober's Test."), ], "Empty Can Test": [ ("2023 May", "Short Note", "Empty can Test."), ("2021 Sep", "Short Note", "Empty can Test."), ("2013", "Short Note", "Empty can test."), ], "VAS / Pain Assessment": [ ("2024 Sep", "Short Note", "VAS."), ("2016", "Short Note", "Pain assessment."), ("2014", "Short Note", "Pain assessment."), ], "Special Tests for CDH": [ ("2024 Sep", "Short Note", "Special Tests for CDH."), ], "Helfet's Test": [ ("2019 Aug", "Short Note", "Helfest test."), ("2012", "Short Note", "Helfet test."), ], "Gaenslen Test": [ ("2020 Jan", "Short Note", "Gaenslen test."), ], "TLR": [ ("2025 Sep", "Short Note", "TLR."), ], } }, } # ─── PDF Creation ───────────────────────────────────────────────────────────── def create_pdf(): output_path = "/home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=1.8*cm, leftMargin=1.8*cm, topMargin=2*cm, bottomMargin=2*cm, title="PFA Questions – Topic Wise", author="WBUHS 3rd BPT" ) story = [] styles = getSampleStyleSheet() # ── Custom styles ── title_style = ParagraphStyle( "TitleStyle", parent=styles["Title"], fontSize=22, leading=28, textColor=HexColor("#1a3a5c"), spaceAfter=6, fontName="Helvetica-Bold", alignment=TA_CENTER, ) subtitle_style = ParagraphStyle( "SubtitleStyle", parent=styles["Normal"], fontSize=11, leading=16, textColor=HexColor("#444444"), spaceAfter=4, fontName="Helvetica", alignment=TA_CENTER, ) topic_header_style = ParagraphStyle( "TopicHeader", parent=styles["Heading1"], fontSize=13, leading=18, textColor=white, spaceBefore=14, spaceAfter=6, fontName="Helvetica-Bold", leftIndent=0, backColor=HexColor("#1a3a5c"), ) subtopic_style = ParagraphStyle( "SubtopicStyle", parent=styles["Heading2"], fontSize=10.5, leading=15, textColor=HexColor("#1a3a5c"), spaceBefore=10, spaceAfter=4, fontName="Helvetica-Bold", leftIndent=4, underlineProportion=0.5, ) qno_style = ParagraphStyle( "QnoStyle", parent=styles["Normal"], fontSize=9, leading=14, textColor=HexColor("#c0392b"), fontName="Helvetica-Bold", ) question_style = ParagraphStyle( "QuestionStyle", parent=styles["Normal"], fontSize=9.5, leading=15, textColor=HexColor("#222222"), fontName="Helvetica", wordWrap='CJK', ) year_style = ParagraphStyle( "YearStyle", parent=styles["Normal"], fontSize=8.5, leading=12, textColor=HexColor("#888888"), fontName="Helvetica-Oblique", ) # ── Title Page ── story.append(Spacer(1, 1.5*cm)) story.append(Paragraph("Physical / Functional Assessment", title_style)) story.append(Paragraph("WBUHS — 3rd Year BPT", subtitle_style)) story.append(Paragraph("Previous Year Questions — Topic Wise Distribution (2008–2025)", subtitle_style)) story.append(Spacer(1, 0.4*cm)) story.append(HRFlowable(width="100%", thickness=2, color=HexColor("#1a3a5c"))) story.append(Spacer(1, 0.3*cm)) story.append(Paragraph("Based on Syllabus: Assessment & Evaluation · Maitland · McKenzie · Cyriax · Neural Tension · Neurological Approaches · Regional Assessment · Ergonomics", subtitle_style)) story.append(Spacer(1, 0.6*cm)) # Table of contents hint toc_data = [] for i, topic_name in enumerate(topics.keys(), 1): toc_data.append([f"{i}.", topic_name]) toc_table = Table(toc_data, colWidths=[0.8*cm, 15*cm]) toc_table.setStyle(TableStyle([ ('FONTNAME', (0,0), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9), ('TEXTCOLOR', (0,0), (0,-1), HexColor("#c0392b")), ('TEXTCOLOR', (1,0), (1,-1), HexColor("#222222")), ('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'), ('ROWBACKGROUNDS', (0,0), (-1,-1), [HexColor("#f5f5f5"), white]), ('LEFTPADDING', (0,0), (-1,-1), 6), ('RIGHTPADDING', (0,0), (-1,-1), 6), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ('BOX', (0,0), (-1,-1), 0.5, HexColor("#cccccc")), ('GRID', (0,0), (-1,-1), 0.3, HexColor("#dddddd")), ])) story.append(toc_table) story.append(PageBreak()) # ── Questions by Topic ── q_counter = 1 for topic_name, topic_data in topics.items(): color = topic_data["color"] subtopics_data = topic_data["subtopics"] # Topic Header (colored background) topic_hdr_style = ParagraphStyle( f"TH_{topic_name[:10]}", parent=styles["Normal"], fontSize=13, leading=18, textColor=white, spaceBefore=14, spaceAfter=6, fontName="Helvetica-Bold", leftIndent=6, rightIndent=6, backColor=color, ) story.append(Paragraph(f" {topic_name}", topic_hdr_style)) story.append(Spacer(1, 0.1*cm)) all_rows = [] for subtopic_name, questions in subtopics_data.items(): # Subtopic label row all_rows.append([ Paragraph(f"▶ {subtopic_name}", ParagraphStyle( "STH", parent=styles["Normal"], fontSize=10, leading=14, textColor=white, fontName="Helvetica-Bold", leftIndent=2, backColor=HexColor("#5a6a7a"), )), Paragraph("", styles["Normal"]), Paragraph("", styles["Normal"]), ]) for year, qtype, qtext in questions: badge_color = HexColor("#c0392b") if qtype == "Long Q" else HexColor("#1a7a3a") row = [ Paragraph(f"Q{q_counter}", ParagraphStyle( "QN", parent=styles["Normal"], fontSize=9, leading=13, textColor=badge_color, fontName="Helvetica-Bold", alignment=TA_CENTER, )), Paragraph(qtext, ParagraphStyle( "QT", parent=styles["Normal"], fontSize=9.5, leading=14, textColor=HexColor("#111111"), fontName="Helvetica", )), Paragraph(f"{year}\n({qtype})", ParagraphStyle( "YR", parent=styles["Normal"], fontSize=8, leading=12, textColor=HexColor("#666666"), fontName="Helvetica-Oblique", alignment=TA_CENTER, )), ] all_rows.append(row) q_counter += 1 # Build the table for this topic t = Table(all_rows, colWidths=[1*cm, 13*cm, 2.8*cm], repeatRows=0) # Dynamically assign row styles style_cmds = [ ('FONTNAME', (0,0), (-1,-1), 'Helvetica'), ('FONTSIZE', (0,0), (-1,-1), 9), ('LEFTPADDING', (0,0), (-1,-1), 5), ('RIGHTPADDING', (0,0), (-1,-1), 5), ('TOPPADDING', (0,0), (-1,-1), 3), ('BOTTOMPADDING', (0,0), (-1,-1), 3), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('BOX', (0,0), (-1,-1), 0.5, HexColor("#bbbbbb")), ('GRID', (0,0), (-1,-1), 0.3, HexColor("#dddddd")), ] row_idx = 0 for subtopic_name, questions in subtopics_data.items(): # subtopic header row style_cmds.append(('SPAN', (0, row_idx), (2, row_idx))) style_cmds.append(('BACKGROUND', (0, row_idx), (-1, row_idx), HexColor("#5a6a7a"))) style_cmds.append(('TOPPADDING', (0, row_idx), (-1, row_idx), 4)) style_cmds.append(('BOTTOMPADDING', (0, row_idx), (-1, row_idx), 4)) row_idx += 1 for i, (year, qtype, qtext) in enumerate(questions): bg = HexColor("#f9f9f9") if i % 2 == 0 else white style_cmds.append(('BACKGROUND', (0, row_idx), (-1, row_idx), bg)) row_idx += 1 t.setStyle(TableStyle(style_cmds)) story.append(t) story.append(Spacer(1, 0.4*cm)) doc.build(story) print(f"PDF created: {output_path}") return output_path result = create_pdf() PYEOF python3 /home/daytona/workspace/pfa-questions/create_pdf.py 2>&1
ls -lh /home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf
python3 -c " import pdfplumber with pdfplumber.open('/home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() if text: print(f'--- Page {i+1} (first 300 chars) ---') print(text[:300]) print() "
PFA Questions Topicwise
PDF Document · PDF
| # | Topic | Coverage |
|---|---|---|
| A | Assessment & Evaluation – General | Subjective exam, POMR/SOAP, Clinical Reasoning, SIN factor, End Feel, STTT, Pain, Gait, Posture |
| B | Maitland Concept | Grades/Brick Wall/Barrier, Assessment protocols, Pathological barrier, Freyette's rule |
| C | McKenzie Concept | Derangement, Postural/Dysfunction, Traffic Light, Flexion-Extension, Centralization |
| D | Cyriax Concept | STTT, Assessment system, DTFM, Contractile vs non-contractile |
| E | Mennell's Concept | Joint play rules |
| F | Neurodynamics / Neural Tension | ULTT (1,2,3), SLR, Prone knee bend, Slump test, Brachial plexus tension |
| G | Neurological Approaches | Bobath/NDT, RIP/RIMP/Key Points, MRP, Spasticity/Synergy, Primitive reflexes, Vojta, Neuroplasticity |
| H | Neurological Assessment | Motor/Sensory exam, Reflex, FIM/Barthel, Berg Balance, MMSE, ASIA |
| I | Regional Assessment – Spine & Pelvis | Cervical, Lumbar, Thoracic, SIJ/Pelvis, Sharp Purser, Schober |
| J | Regional Assessment – Upper Limb | Shoulder (impingement, SLAP, lock/quadrant), Elbow, Adson's, Quadrant |
| K | Regional Assessment – Lower Limb | Hip (Thomas, Ober, Trendelenburg), Knee (McMurray, ACL/PCL, meniscus, PKB), Ankle |
| L | Communication | Verbal, Non-verbal |
| M | Ergonomics & Occupational Health | Force progression, Layer syndrome |
| N | Special / Miscellaneous | VAS, Empty Can, Helfet, CDH tests, TLR, Gaenslen |
Pdf is not supporting. Please correct it.
python3 -c " from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 print('reportlab ok') from fpdf import FPDF print('fpdf ok') " 2>&1
cat > /home/daytona/workspace/pfa-questions/build_pdf.py << 'EOF' from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 from reportlab.lib.colors import HexColor, black, white from reportlab.lib.units import cm import textwrap W, H = A4 # 595.27 x 841.89 pt # ── Colour palette ────────────────────────────────────────────────── DARK_BLUE = HexColor("#1a3a5c") MED_BLUE = HexColor("#2b5280") LIGHT_BLUE = HexColor("#dce8f5") DARK_GREEN = HexColor("#1a5c3a") MAROON = HexColor("#7a1a1a") DARK_GREY = HexColor("#333333") MID_GREY = HexColor("#666666") LIGHT_GREY = HexColor("#f0f0f0") ALT_ROW = HexColor("#fafafa") RED_BADGE = HexColor("#c0392b") GREEN_BADGE = HexColor("#1a7a3a") ORANGE = HexColor("#d35400") # ── All questions data ─────────────────────────────────────────────── # Format: (year, type "L"=Long / "S"=Short, question_text) TOPICS = [ ("A. Assessment & Evaluation — General", DARK_BLUE, [ (" Subjective Examination / Medical History Taking", None, [ ("2022 Aug","S","Medical history taking."), ("2018","S","Medical history taking."), ("2014","L","What do you mean by 'subjective examination'? Write in detail about the common assessment procedure of orthopaedic conditions. (3+7)"), ("2009","S","Discuss importance of communication in patient assessment."), ("2013","S","Basic principles of communication with patient."), ]), (" POMR / SOAP / Body Chart", None, [ ("2023 May","S","POMR."), ("2021 Sep","S","Body chart & its importance."), ("2018","L","Describe in detail 'P.O.M.R'."), ("2016","S","SOAP format."), ("2015","S","SOAP format."), ("2015","S","Importance of body chart according to Maitland Concept."), ("2014","S","P.O.M.R."), ("2014","S","S.O.A.P."), ("2013","S","POMR."), ("2012","L","Describe in detail 'P.O.M.R'."), ("2011","S","POMR."), ("2009","S","SOAP."), ("2024 Sep","S","SOAP."), ("2025 Sep","S","Subjective Examination as per SOAP."), ]), (" Clinical Reasoning & Decision Making", None, [ ("2023 May","L","Define Clinical reasoning. Describe the different steps of it. (3+7)"), ("2021 Sep","S","Principal of clinical decision making."), ("2020 Jan","L","What is clinical reasoning? State the importance of clinical decision making in physiotherapy. (3+7)"), ("2019 Aug","S","Principle of clinical reasoning."), ("2019 Aug","S","Inductive reasoning."), ("2018","L","What are the principals of clinical decision making? What is the importance of clinical decision making in Physiotherapy. (4+6)"), ("2017","S","Clinical Reasoning."), ("2016","L","What is Clinical Reasoning? Explain briefly about differences in patient management leading to optimal outcomes. (2+8)"), ("2015","L","What do you mean by Clinical Decision Making? What are the steps in clinical decision making? (4+6)"), ("2014","S","Clinical reasoning."), ("2013","S","Principles of clinical reasoning."), ("2012","S","Inductive reasoning."), ("2011","L","Discuss the various steps of clinical decision making process. Mention its importance in physiotherapy management. (7+3)"), ("2011","S","Clinical Reasoning."), ("2009","S","Inductive reasoning."), ("2008","S","Steps in clinical decision making."), ("2024 Sep","S","Clinical reasoning."), ]), (" SIN Factor", None, [ ("2021 Sep","S","'SIN' factor."), ]), (" End Feel (Normal & Pathological)", None, [ ("2017","S","End feel."), ("2016","S","Pathological end feel."), ("2015","S","Pathological end feel."), ("2014","S","End feel."), ("2013","L","What is end feel? Describe in detail about the normal and abnormal end feel. (10)"), ("2009","S","End feel."), ]), (" Selective Tissue Tension Test (STTT) / Break & Make Test", None, [ ("2014","S","Break test and make test."), ("2011","S","Selective tissue tension tests."), ("2010","S","Selective Tissue Tension Test (STTT)."), ("2022 Aug","L","What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ]), (" Capsular / Non-Capsular Pattern", None, [ ("2019 Aug","L","Describe the capsular and non capsular pattern of involvement. (10)"), ]), (" Pain Assessment", None, [ ("2016","S","Pain assessment."), ("2014","S","Pain assessment."), ]), (" Gait & Posture Assessment", None, [ ("2023 Sep","L","Define special test. Discuss about assessment of human gait cycle. (10)"), ("2025 Sep","L","Define posture. Describe postural assessment method."), ]), ]), ("B. Maitland Concept", DARK_GREEN, [ (" Grades of Mobilization / Brick Wall / Barrier Concept", None, [ ("2023 May","L","What is brick wall theory? Write its clinical importance. Discuss the assessment format of Maitland mobilization. (2+3+5)"), ("2022 Aug","S","Grades of Mobilization in Maitland concept."), ("2022 Aug","S","Movement barriers."), ("2023 Sep","S","Brick wall concept of Maitland."), ("2023 Sep","S","Movement barriers."), ("2023 Sep","S","PAIVM & PPIVM."), ("2019 Aug","L","Explain Maitland's concept grades, technique and write about the procedure for applying joint. (10)"), ("2018","L","What is brick wall theory? What will be your management in L3-L4 PIVD patients in terms of Maitland approach? (2+8)"), ("2016","S","Brick-wall concept."), ("2014","L","What is Brick Wall theory? Write down different grades of mobilization and physiological effects of Maitland's mobilization. (3+3+4)"), ("2013","S","Brick wall theory."), ("2012","L","Differentiate between mobilization & manipulation. Write about the 'Barrier concept' recommended by Maitland. (5+5)"), ("2011","L","Describe the different grades of mobilization with their uses. State the brick wall concept of Maitland and describe the use of body chart in assessment. (3+2+5)"), ("2009","S","Contraindications of joint mobilization."), ("2008","L","Define Mobilization and Manipulation as per Maitland technique. Define grades of movement. (5+5)"), ("2024 Sep","L","State Maitland's grade of mobilization. How can we treat a grade 3 patient of chronic frozen shoulder using Maitland's mobilization? (3+7)"), ]), (" Maitland Assessment Protocol", None, [ ("2015","L","Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2015","S","Importance of body chart according to Maitland Concept."), ("2020 Jan","L","What is adhesive capsulitis? How will you manage the same based on Maitland concept? (2+8)"), ("2017","L","Write in detail the procedure of shoulder mobilization according to Maitland concept for adhesive capsulitis. (7+3)"), ("2012","L","Explain Maitland's concept grades, technique and procedure for applying to hip joint. (5+5)"), ("2009","L","Briefly explain the Maitland concept. Write down different grades according to Maitland. (5+5)"), ("2008","L","Briefly explain the Maitland concept. Write down different grades according to Maitland. (5+5)"), ]), (" Pathological Barrier / Freyette's Rule", None, [ ("2017","S","Pathological barrier."), ("2008","S","Freyette's rule of spine."), ]), ]), ("C. McKenzie Concept", MAROON, [ (" Derangement Syndrome", None, [ ("2023 May","L","What is the difference between derangement syndrome & dysfunction syndrome? Write the assessment protocol for central symmetrical low back pain. (5+5)"), ("2022 Aug","S","Derangement syndrome."), ("2021 Sep","L","Describe Derangement syndrome in terms of McKenzie approach. (10)"), ("2020 Jan","L","What is derangement syndrome? Briefly describe the assessment and management. (2+8)"), ("2019 Aug","L","What is directional preference? How do you find out directional preference for C5-C6 canal stenosis patients with symptoms upto wrist loaded condition? (3+7)"), ("2016","L","Elaborate the Derangement Syndromes according to McKenzie Concept. (10)"), ("2013","L","What is derangement syndrome? Explain peripheralization and centralization. Differences between Derangement Grade II, Grade IV and Grade VI. (2+4+4)"), ("2012","L","Differentiate between dysfunction syndrome and derangement syndrome. Classify dysfunction syndrome. (4+6)"), ("2011","S","Types of derangement syndrome."), ("2011","S","Distinguish between postural and dysfunction syndrome."), ("2009","L","What is derangement syndrome? Explain peripheralization and centralization. What is postural syndrome? (2+6+2)"), ("2010","L","Describe clinically differentiating postural, dysfunction and derangement syndromes. (6+4)"), ("2023 Sep","L","Discuss the derangement syndromes of lumbar spine. What is centralization and peripheralization?"), ("2024 Sep","L","Write the difference between derangement and dysfunction syndrome. Treat a patient with chronic low back pain using McKenzie concept. (5+5)"), ]), (" Postural / Dysfunction Syndrome", None, [ ("2014","L","Write the assessment and treatment procedures of Postural syndrome. (4+6)"), ("2011","L","Define postural syndromes. Write the assessment and treatment procedures. (3+7)"), ("2019 Aug","S","Directional preference."), ("2018","S","Directional preference."), ]), (" Traffic Light / McKenzie System / Derangement 5", None, [ ("2018","L","What are traffic light guiding in McKenzie system?"), ("2013","S","Traffic signal light indications of McKenzie."), ("2017","L","Write down the treatment procedure according to McKenzie Concept of a patient with Derangement 5. (10)"), ]), (" Flexion / Extension Dysfunction & Biased Exercises", None, [ ("2022 Aug","L","Describe Flexion and Extension dysfunction by McKenzie approach. (5+5)"), ("2019 Aug","S","Flexion biased exercise."), ("2020 Jan","S","Flexion biased exercise."), ("2010","S","Centralisation and peripheralisation."), ]), ]), ("D. Cyriax Concept", HexColor("#5c3a1a"), [ (" Principles & Assessment System", None, [ ("2022 Aug","L","What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ("2018","L","Write in detail about Cyriax principal and assessment system."), ("2020 Jan","L","What is the basic concept of Cyriax approach? What is the concept of referred pain? What are the factors affecting pain? (4+3+3)"), ("2011","S","Selective tissue tension tests."), ]), (" Deep Transverse Friction Massage (DTFM)", None, [ ("2021 Sep","S","DTFM."), ("2010","S","Technique of Deep Transverse Friction Massage."), ("2008","S","Deep friction massage."), ]), (" Contractile vs Non-Contractile Tissues", None, [ ("2010","S","How to differentiate between contractile and non-contractile tissues."), ]), ]), ("E. Mennell's Concept", HexColor("#3a1a5c"), [ (" Joint Play / Rules", None, [ ("2023 May","S","Mennel's rule."), ("2013","L","Define Mennell's concept. Enumerate Mennell's rules of joint play. (2+8)"), ("2011","S","Mennell's rules for joint play testing."), ]), ]), ("F. Neurodynamics & Neural Tension Tests", HexColor("#1a4a5c"), [ (" Upper Limb Tension Tests (ULTT)", None, [ ("2021 Sep","L","What is ULTT? Describe the procedure of ULTT 1 & ULTT 2. (2+4+4)"), ("2022 Aug","L","What is ULTT? Describe the procedure of ULTT2 & ULTT3. (2+4+4)"), ("2020 Jan","L","Define neurodynamics. Describe the procedure of brachial plexus tension test. (2+8)"), ("2020 Jan","S","Adverse neural tension test."), ("2018","S","ULTT."), ("2017","L","Write in detail the neurodynamic test of right ulnar nerve and its significance. (7+3)"), ("2016","L","Describe the procedures of Upper Limb Neural Tension Tests with suitable diagrams. (10)"), ("2015","L","Describe neural tension tests for sciatic, tibial and common peroneal nerves. (10)"), ("2014","S","U.L.T.T."), ("2012","S","U.L.T.T.1 & 2."), ("2011","L","What do you understand by Adverse Neural Tension? Describe the Slump Test in detail. (4+6)"), ("2009","L","What are the contraindications of ULTT? Describe procedure of ULTT-3 in non-irritable disorder. (3+7)"), ("2008","L","Describe method of testing for left ULTT1 in non-irritable disorder. Precautions and contraindications. (6+4)"), ("2023 Sep","S","ULTT3."), ("2022 Aug","S","Sliders and tensioners."), ("2025 Sep","L","Describe the variants of upper limb tension tests."), ("2024 Sep","S","ULTT2."), ]), (" SLR & Modifications", None, [ ("2021 Sep","S","SLR."), ("2014","L","Describe the clinical importance and procedure of S.L.R. and its modifications. (4+6)"), ("2019 Aug","L","Describe the procedure of SLR testing and sensitization. Write down the findings of SLR test. (5+5)"), ("2010","L","Describe the procedure of SLR and sensitization. What are the findings of the SLR? (7+3)"), ("2009","L","Describe SLR in detail with its findings. What is sensitisation and how can you apply it? (6+4)"), ("2024 Sep","L","Variations of SLR and its significance. (10)"), ("2025 Sep","S","Straight Leg Raise Test."), ]), (" Slump Test", None, [ ("2021 Sep","L","What is Slump Test? Describe the procedure and clinical importance. (2+6+2)"), ("2018","S","Slump test."), ("2015","S","Slump Test."), ("2013","L","Describe in detail about slump test. (10)"), ("2012","S","Slump test."), ("2008","S","SLUMP and SLR tests."), ]), (" Prone Knee Bending (PKB) Test", None, [ ("2022 Aug","S","Prone Knee bending Test."), ("2019 Aug","S","Prone knee bend test."), ("2015","S","Prone knee bending test."), ("2012","L","Describe the procedure of Prone Knee Bending Test. Write about its clinical significance. (4+6)"), ("2010","S","Prone knee bend (PKB) test."), ]), ]), ("G. Neurological Approaches", HexColor("#2d5a1a"), [ (" Bobath / NDT Approach", None, [ ("2023 May","L","Write an essay on Bobath approach. (10)"), ("2023 Sep","L","Discuss the effects of three primitive reflexes on movement and posture of hemiplegic patients as per Bobath concept."), ("2022 Aug","L","What is Spasticity? What is the grading of Spasticity? Management of Spasticity by Bobath approach. (2+3+5)"), ("2021 Sep","L","What is Bobath approach? Describe RIP & RIMP. (2+4+4)"), ("2018","L","What is Bobath approach? Write in detail about this approach. (2+8)"), ("2017","L","Write down the different principles of Bobath Concept. How to assess a baby with cerebral palsy according to this concept? (4+6)"), ("2017","L","Discuss physiotherapy management of inferior shoulder subluxation in hemiplegia. Write down the proper causes of subluxation. (5+5)"), ("2016","L","Describe the principles of Neurodevelopment Therapy (NDT). Describe the treatment methods of a cerebral palsy child based on NDT. (4+6)"), ("2015","L","Write the principles of Bobath Concept. Discuss the facilitation and inhibition techniques according to this concept. (2+4+4)"), ("2014","L","Discuss the principles of Bobath approach. Describe the problems of Hemiplegia according to Bobath. (4+6)"), ("2013","L","Describe the principles, techniques and advantages of Bobath approach. (2+8)"), ("2011","L","Discuss the Bobath's concept. What is facilitation and inhibition? Mention the importance of handling in the Bobath's concept. (6+2+2)"), ("2008","L","What are the basic principles of Bobath approach? Discuss the facilitation and inhibition techniques used by Bobath. (4+6)"), ("2025 Sep","L","Describe the application of Bobath Approach in a Cerebral Palsy patient."), ("2024 Sep","S","Bobath Approach."), ]), (" RIP / RIMP / Key Points of Control", None, [ ("2021 Sep","S","Importance of Isometric Resistance contraction."), ("2020 Jan","S","RIP."), ("2013","L","What is synergy? Describe how RIP and RIMP can be used to break the synergy in the upper extremity of a hemiplegic patient. (3+7)"), ("2012","S","R.I.P."), ("2012","S","Key points of control."), ("2011","S","Uses of Central Key Point."), ("2010","L","What is Key Points of Control? Mention the various key points and how they can be used in the treatment of neurological patients. (3+7)"), ("2009","S","R.I.P."), ("2009","S","RIMP."), ("2008","S","R.I.P."), ("2024 Sep","L","What are the key points of control? How can you use RIP to break synergy patterns in upper limb? (4+6)"), ("2025 Sep","L","Define RIP and RIMP. How to apply these techniques in Hemiplegia?"), ]), (" Motor Relearning Programme (MRP)", None, [ ("2024 Sep","L","Principles of MRP. How will you treat gait deviation using MRP in hemiplegic patients? (4+6)"), ("2021 Sep","L","What is MRP? What is the step of MRP and its importance? (2+6+2)"), ("2020 Jan","L","Write about the principle of MRP. How will you train a hemiplegic patient in sit to stand according to MRP principles? (5+5)"), ("2017","L","Write down the detailed physiotherapy management of a hemiplegic patient according to Motor Relearning Program. (10)"), ("2016","L","Describe the principles of Motor Relearning Programme. What are the different types of feedback and their uses? Explain with examples. (4+6)"), ("2015","L","Describe in detail about Motor Relearning Programme. (10)"), ("2014","L","Describe the principles and stages of M.R.P. (5+5)"), ("2013","S","Theories of motor learning."), ("2011","L","Mention the principles of MRP. Describe the management of hemiplegic patient using the principles of MRP. (4+6)"), ("2010","L","What do you understand by Motor Learning Programme? Mention the steps of MRP in the treatment of a hemiplegic patient. (6+4)"), ("2009","L","What is MRP? Describe in detail about the different steps of MRP. (2+8)"), ("2008","S","Steps of MRP."), ("2019 Aug","S","Theories of motor learning."), ("2018","S","MRP."), ("2008","S","Feedback."), ]), (" Spasticity & Synergy", None, [ ("2022 Aug","L","What is Spasticity? Grading of Spasticity. Management by Bobath approach. (2+3+5)"), ("2018","S","Grading of spasticity."), ("2016","S","Modified Ashworth Scale."), ("2014","S","Modified Ashworth scale."), ("2013","S","Assessment of spasticity."), ("2012","S","Grading of spasticity."), ("2011","S","Spasticity and Synergy."), ("2020 Jan","S","Spasticity."), ("2020 Jan","S","Synergy."), ("2009","S","Synergy."), ("2025 Sep","L","What is Hypertonicity? What are the types of Hypertonicity? Describe their assessment."), ]), (" Primitive Reflexes / ATNR / STNR / Righting Reactions", None, [ ("2019 Aug","S","Primitive reflex."), ("2019 Aug","S","A.T.N.R."), ("2017","S","Positive supporting reaction."), ("2017","S","Righting and equilibrium reactions."), ("2017","S","Facilitatory techniques of Bobath."), ("2016","S","Examination of Primitive Reflexes."), ("2013","S","ATNR."), ("2023 May","S","ATNR & STNR."), ("2009","S","STNR."), ("2009","S","Primitive reflexes of a newborn baby."), ("2024 Sep","S","ATNR and STNR."), ("2023 Sep","S","Spinal primitive reflexes."), ]), (" Vojta Approach", None, [ ("2023 May","L","What is Vojta approach? How is it used to treat a neurological patient? (3+7)"), ("2019 Aug","S","Vojta approach."), ("2008","L","What do you understand by Vojta approach? How do principles of Vojta differ from those of Bobath? (3+7)"), ]), (" Neural Plasticity / Neuroplasticity", None, [ ("2016","S","Neural Plasticity."), ("2015","S","Neural Plasticity."), ("2014","S","Neural plasticity."), ("2015","S","Antispastic position of upper limb in hemiparesis."), ("2008","L","What do you understand by neuroplasticity? Explain principles of neuroplasticity in Bobath approach. (3+7)"), ]), ]), ("H. Neurological Assessment", HexColor("#1a5c5c"), [ (" Motor & Sensory Examination", None, [ ("2023 May","S","Components of Motor assessment."), ("2022 Aug","L","Describe Motor and Sensory assessment protocol. (5+5)"), ("2021 Sep","S","Assessment of Myotomes."), ("2013","S","Sensory assessment as a part of Neurological Examination."), ("2024 Sep","L","Write in details about the neurological assessment of a patient suffering from right sided hemiplegia. (10)"), ("2025 Sep","L","Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ]), (" Reflex Assessment / Spinal Reflexes / ASIA Scale", None, [ ("2020 Jan","S","Spinal reflex."), ("2025 Sep","S","ASIA Scale."), ("2020 Jan","S","Tinel sign."), ]), (" Functional Scales (FIM, Barthel, Berg, MMSE)", None, [ ("2019 Aug","S","F.I.M scale."), ("2018","S","FIM scale."), ("2017","S","FIM scale."), ("2016","S","FIM Scale."), ("2012","S","F.I.M scale."), ("2016","S","Berg Balance Scale."), ("2013","S","Functional balance scale."), ("2019 Aug","S","Functional balance scale."), ("2024 Sep","S","Barthel's Index."), ("2025 Sep","S","Functional Independence Measure."), ("2025 Sep","S","MMSE."), ("2025 Sep","S","Tests for coordination."), ]), ]), ("I. Regional Assessment — Spine", HexColor("#5c4a1a"), [ (" Cervical Spine Assessment", None, [ ("2021 Sep","L","Describe assessment protocol of Cervical Spine. (10)"), ("2025 Sep","L","Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ("2022 Aug","S","Spurling Test."), ("2021 Sep","S","Spurling Test."), ("2024 Sep","S","Spurling Test."), ("2018","S","Sharp purser test."), ]), (" Lumbar Spine / Low Back", None, [ ("2023 May","L","Write the assessment protocol for central symmetrical low back pain. (5+5)"), ("2015","L","Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2016","S","Schober's Test."), ]), (" SIJ / Pelvis / Hip Special Tests (Spinal)", None, [ ("2018","S","Gillets test."), ("2020 Jan","S","Gaenslen test."), ("2015","S","Modified Ober Test."), ]), ]), ("J. Regional Assessment — Upper Limb", HexColor("#4a1a5c"), [ (" Shoulder Joint", None, [ ("2022 Aug","L","Describe the detailed shoulder joint assessment protocol. (10)"), ("2023 Sep","L","Discuss shoulder lock test and shoulder quadrant test. (10)"), ("2022 Aug","S","Test for Anterior shoulder dislocation."), ("2022 Aug","S","Assessment of Impingement syndrome of shoulder joint."), ("2019 Aug","L","What is shoulder impingement syndrome? Write assessment and special test for it. (2+4+4)"), ("2016","L","Describe any two special tests related to shoulder impingement syndrome with significance. (5+5)"), ("2015","S","Neer impingement test and sign."), ("2012","L","Write in detail the assessment & special tests for shoulder Impingement. (4+6)"), ("2017","S","O'Brien Test."), ("2017","S","Lift off sign."), ("2024 Sep","S","Lift off sign."), ("2025 Sep","S","Special test for Labral injury in shoulder."), ("2023 May","S","Adson's test."), ("2023 May","S","Quadrant test."), ]), (" Elbow & Forearm", None, [ ("2022 Aug Sep","S","Mill's manipulation."), ("2012","S","Mill's maneuver."), ("2011","S","Mill's manipulation."), ("2025 Sep","S","Cozen's Test."), ]), (" Wrist & Hand", None, [ ("2020 Jan","S","Tinel sign."), ]), ]), ("K. Regional Assessment — Lower Limb", HexColor("#1a5c2a"), [ (" Hip Joint", None, [ ("2020 Jan","L","Describe any two special tests of hip joint with clinical significance. (5+5)"), ("2020 Jan","S","Trendelenburg test."), ("2012","L","Explain Maitland's concept grades, technique and procedure for applying to hip joint. (5+5)"), ("2016","S","Ortolani's Test."), ("2023 Sep","L","Discuss in detail Thomas and Ober test with clinical importance. (3+7)"), ("2015","S","Modified Ober Test."), ("2023 Sep","S","Hip quadrant test."), ]), (" Knee Joint", None, [ ("2023 May","S","McMurray's test."), ("2023 May","S","Pivot Shift test."), ("2023 May","S","Reverse Lachman test."), ("2022 Aug","S","90-90 Hamstring Test."), ("2022 Aug","S","Any two special tests for meniscal injury of knee joint."), ("2021 Sep","S","Test for Meniscal injury."), ("2018","S","90-90 hamstring test."), ("2017","S","Special tests for lateral meniscus injury of knee."), ("2015","L","Describe any two special tests related to ACL of knee with significance. (5+5)"), ("2014","S","Anterior Drawer test & posterior Drawer test."), ("2012","S","Helfet test."), ("2019 Aug","S","Helfest test."), ("2023 Sep","L","Discuss any three special tests for patello femoral joint. (10)"), ("2025 Sep","S","Anterior Drawer test of knee."), ("2021 Sep","S","Empty can Test."), ]), (" Ankle & Foot", None, [ ("2020 Jan","S","Gaenslen test."), ]), ]), ("L. Communication", HexColor("#5c1a4a"), [ (" Verbal & Non-Verbal Communication", None, [ ("2020 Jan","S","Difference between verbal and non verbal communication."), ("2018","S","Non verbal communication."), ("2012","S","Non-verbal communication."), ("2011","S","Verbal Communication."), ("2009","S","Discuss importance of communication in patient assessment."), ("2013","S","Basic principles of communication with patient."), ]), ]), ("M. Ergonomics & Occupational Health", HexColor("#1a3a1a"), [ (" Ergonomics — Definition, Principles & Applications", None, [ ("2023 May","S","Force progression."), ("2023 Sep","S","Layer syndrome."), ("2023 Sep","S","Shunting rule of Magnus."), ]), ]), ("N. Miscellaneous / Special Tests", HexColor("#3a3a1a"), [ (" VAS / Pain Assessment Tools", None, [ ("2024 Sep","S","VAS."), ("2016","S","Pain assessment."), ("2014","S","Pain assessment."), ]), (" Special Tests for CDH & Other Tests", None, [ ("2024 Sep","S","Special Tests for CDH."), ("2025 Sep","S","TLR."), ("2023 May","S","Empty can Test."), ("2013","S","Empty can test."), ]), ]), ] # ── Drawing helpers ────────────────────────────────────────────────────────── MARGIN_L = 1.8 * cm MARGIN_R = 1.8 * cm MARGIN_T = 2.2 * cm MARGIN_B = 2.0 * cm CONTENT_W = W - MARGIN_L - MARGIN_R def wrap(text, max_chars): """Simple word-wrap into lines of max_chars.""" words = text.split() lines = [] cur = "" for w in words: if not cur: cur = w elif len(cur) + 1 + len(w) <= max_chars: cur += " " + w else: lines.append(cur) cur = w if cur: lines.append(cur) return lines if lines else [""] class PDFBuilder: def __init__(self, path): self.c = canvas.Canvas(path, pagesize=A4) self.c.setTitle("PFA Questions - Topic Wise") self.c.setAuthor("WBUHS 3rd BPT") self.y = H - MARGIN_T self.page_num = 1 self.q_num = 0 def new_page(self): self._footer() self.c.showPage() self.page_num += 1 self.y = H - MARGIN_T def _footer(self): self.c.setFont("Helvetica", 7.5) self.c.setFillColor(MID_GREY) self.c.drawString(MARGIN_L, MARGIN_B - 0.3*cm, "Physical / Functional Assessment — WBUHS 3rd BPT — Topic Wise Question Bank (2008–2025)") self.c.drawRightString(W - MARGIN_R, MARGIN_B - 0.3*cm, f"Page {self.page_num}") self.c.setFillColor(DARK_GREY) def need(self, h): if self.y - h < MARGIN_B + 0.5*cm: self.new_page() # ── Title page ── def title_page(self): self.c.setFillColor(DARK_BLUE) self.c.rect(0, H - 5*cm, W, 5*cm, fill=1, stroke=0) self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 22) self.c.drawCentredString(W/2, H - 2.2*cm, "Physical / Functional Assessment") self.c.setFont("Helvetica-Bold", 13) self.c.drawCentredString(W/2, H - 3.0*cm, "WBUHS — 3rd Year BPT") self.c.setFont("Helvetica", 10) self.c.drawCentredString(W/2, H - 3.7*cm, "Previous Year Questions — Topic Wise Distribution (2008 – 2025)") self.c.setFillColor(DARK_GREY) self.c.setFont("Helvetica-Bold", 11) ty = H - 5.8*cm self.c.drawCentredString(W/2, ty, "Contents") self.c.setStrokeColor(DARK_BLUE) self.c.setLineWidth(1) self.c.line(MARGIN_L, ty - 0.2*cm, W - MARGIN_R, ty - 0.2*cm) ty -= 0.6*cm for i, (tname, _, _) in enumerate(TOPICS, 1): self.c.setFont("Helvetica-Bold", 9) self.c.setFillColor(RED_BADGE) self.c.drawString(MARGIN_L, ty, f"{i}.") self.c.setFont("Helvetica", 9) self.c.setFillColor(DARK_GREY) self.c.drawString(MARGIN_L + 0.6*cm, ty, tname) ty -= 0.45*cm if ty < MARGIN_B: break self._footer() self.c.showPage() self.page_num += 1 self.y = H - MARGIN_T # ── Topic header bar ── def topic_header(self, title, color): h = 0.65 * cm self.need(h + 0.3*cm) self.c.setFillColor(color) self.c.roundRect(MARGIN_L - 2, self.y - h, CONTENT_W + 4, h, 3, fill=1, stroke=0) self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 11) self.c.drawString(MARGIN_L + 4, self.y - h + 0.15*cm, title) self.y -= h + 0.25*cm # ── Subtopic header ── def subtopic_header(self, title): h = 0.5 * cm self.need(h + 0.2*cm) self.c.setFillColor(HexColor("#4a5a6a")) self.c.rect(MARGIN_L, self.y - h, CONTENT_W, h, fill=1, stroke=0) self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 9) self.c.drawString(MARGIN_L + 5, self.y - h + 0.12*cm, title.strip()) self.y -= h + 0.1*cm # ── Single question row ── def question_row(self, year, qtype, text, alt): self.q_num += 1 qnum = str(self.q_num) badge_col = RED_BADGE if qtype == "L" else GREEN_BADGE badge_text = "Long Q" if qtype == "L" else "Short Note" # calculate lines needed max_chars = 72 lines = wrap(text, max_chars) row_h = max(len(lines), 1) * 0.38*cm + 0.20*cm self.need(row_h + 0.05*cm) bg = LIGHT_GREY if alt else white self.c.setFillColor(bg) self.c.rect(MARGIN_L, self.y - row_h, CONTENT_W, row_h, fill=1, stroke=0) # light border self.c.setStrokeColor(HexColor("#cccccc")) self.c.setLineWidth(0.3) self.c.rect(MARGIN_L, self.y - row_h, CONTENT_W, row_h, fill=0, stroke=1) # Q number self.c.setFillColor(badge_col) self.c.setFont("Helvetica-Bold", 8) self.c.drawString(MARGIN_L + 3, self.y - 0.30*cm, f"Q{qnum}") # Year + type self.c.setFont("Helvetica-Oblique", 7.5) self.c.setFillColor(MID_GREY) col3_x = W - MARGIN_R - 2.4*cm self.c.drawString(col3_x, self.y - 0.26*cm, year) self.c.setFillColor(badge_col) self.c.setFont("Helvetica-Bold", 7) self.c.drawString(col3_x, self.y - 0.44*cm, f"({badge_text})") # Question text self.c.setFillColor(DARK_GREY) self.c.setFont("Helvetica", 9) txt_x = MARGIN_L + 1.1*cm txt_max = col3_x - txt_x - 0.15*cm # re-wrap with actual pixel-width approximation (9pt ~ 0.14cm/char) char_w = txt_max / (9 * 0.035 * cm) lines2 = wrap(text, int(char_w)) for i, ln in enumerate(lines2): self.c.drawString(txt_x, self.y - 0.28*cm - i*0.38*cm, ln) self.y -= row_h + 0.03*cm def spacer(self, h=0.2*cm): self.need(h) self.y -= h def build(self): self.title_page() for tname, tcolor, subtopics in TOPICS: self.topic_header(tname, tcolor) for stname, _, questions in subtopics: self.subtopic_header(stname) for idx, (year, qtype, qtext) in enumerate(questions): self.question_row(year, qtype, qtext, idx % 2 == 0) self.spacer(0.1*cm) self.spacer(0.3*cm) self._footer() self.c.save() builder = PDFBuilder("/home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf") builder.build() print(f"Done — Total questions: {builder.q_num}") EOF python3 /home/daytona/workspace/pfa-questions/build_pdf.py 2>&1
ls -lh /home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf && python3 -c " from pypdf import PdfReader r = PdfReader('/home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf') print(f'Pages: {len(r.pages)}') print('Page 1 text sample:', r.pages[0].extract_text()[:200]) print('Page 2 text sample:', r.pages[1].extract_text()[:200]) "
PFA Questions Topicwise
PDF Document · PDF
canvas (low-level ReportLab drawing) instead of the Platypus layout engine — this produces a clean, universally compatible PDF that opens in any viewer (Adobe, Chrome, mobile, etc.)Not working. Showing this after downloading. Please please please correct it.
python3 /home/daytona/workspace/pfa-questions/build_pdf.py 2>&1 && ls -lh /home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf
PFA Questions Topicwise
PDF Document · PDF
Everything is correct, but the writings are overlapping. Can you correct it.
cat > /home/daytona/workspace/pfa-questions/build_pdf.py << 'PYEOF' from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 from reportlab.lib.colors import HexColor, black, white from reportlab.lib.units import cm from reportlab.pdfbase.pdfmetrics import stringWidth W, H = A4 MARGIN_L = 1.8 * cm MARGIN_R = 1.8 * cm MARGIN_T = 2.0 * cm MARGIN_B = 2.0 * cm CONTENT_W = W - MARGIN_L - MARGIN_R # Colours DARK_BLUE = HexColor("#1a3a5c") DARK_GREEN = HexColor("#1a5c3a") MAROON = HexColor("#7a1a1a") MID_GREY = HexColor("#666666") LIGHT_GREY = HexColor("#f0f0f0") DARK_GREY = HexColor("#222222") RED_BADGE = HexColor("#c0392b") GREEN_BADGE = HexColor("#1a7a3a") white = white def wrap_text(text, font_name, font_size, max_width): """Word-wrap text to fit max_width. Returns list of lines.""" words = text.split() lines = [] current = "" for word in words: test = (current + " " + word).strip() if stringWidth(test, font_name, font_size) <= max_width: current = test else: if current: lines.append(current) current = word if current: lines.append(current) return lines if lines else [""] TOPICS = [ ("A. Assessment & Evaluation — General", DARK_BLUE, [ ("Subjective Examination / Medical History Taking", [ ("2022 Aug","S","Medical history taking."), ("2018","S","Medical history taking."), ("2014","L","What do you mean by 'subjective examination'? Write in detail about the common assessment procedure of orthopaedic conditions. (3+7)"), ("2009","S","Discuss importance of communication in patient assessment."), ("2013","S","Basic principles of communication with patient."), ]), ("POMR / SOAP / Body Chart", [ ("2023 May","S","POMR."), ("2021 Sep","S","Body chart & its importance."), ("2018","L","Describe in detail 'P.O.M.R'."), ("2016","S","SOAP format."), ("2015","S","SOAP format."), ("2015","S","Importance of body chart according to Maitland Concept."), ("2014","S","P.O.M.R."), ("2014","S","S.O.A.P."), ("2013","S","POMR."), ("2012","L","Describe in detail 'P.O.M.R'."), ("2011","S","POMR."), ("2009","S","SOAP."), ("2024 Sep","S","SOAP."), ("2025 Sep","S","Subjective Examination as per SOAP."), ]), ("Clinical Reasoning & Decision Making", [ ("2023 May","L","Define Clinical reasoning. Describe the different steps of it. (3+7)"), ("2021 Sep","S","Principal of clinical decision making."), ("2020 Jan","L","What is clinical reasoning? State the importance of clinical decision making in physiotherapy. (3+7)"), ("2019 Aug","S","Principle of clinical reasoning."), ("2019 Aug","S","Inductive reasoning."), ("2018","L","What are the principals of clinical decision making? What is the importance of clinical decision making in Physiotherapy? (4+6)"), ("2017","S","Clinical Reasoning."), ("2016","L","What is Clinical Reasoning? Explain briefly about differences in patient management leading to optimal outcomes. (2+8)"), ("2015","L","What do you mean by Clinical Decision Making? What are the steps in clinical decision making? (4+6)"), ("2014","S","Clinical reasoning."), ("2013","S","Principles of clinical reasoning."), ("2012","S","Inductive reasoning."), ("2011","L","Discuss the various steps of clinical decision making process. Mention its importance in physiotherapy management. (7+3)"), ("2011","S","Clinical Reasoning."), ("2009","S","Inductive reasoning."), ("2008","S","Steps in clinical decision making."), ("2024 Sep","S","Clinical reasoning."), ]), ("SIN Factor", [ ("2021 Sep","S","'SIN' factor."), ]), ("End Feel (Normal & Pathological)", [ ("2017","S","End feel."), ("2016","S","Pathological end feel."), ("2015","S","Pathological end feel."), ("2014","S","End feel."), ("2013","L","What is end feel? Describe in detail about the normal and abnormal end feel. (10)"), ("2009","S","End feel."), ]), ("Selective Tissue Tension Test (STTT) / Break & Make Test", [ ("2014","S","Break test and make test."), ("2011","S","Selective tissue tension tests."), ("2010","S","Selective Tissue Tension Test (STTT)."), ("2022 Aug","L","What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ]), ("Capsular / Non-Capsular Pattern", [ ("2019 Aug","L","Describe the capsular and non capsular pattern of involvement. (10)"), ]), ("Pain Assessment", [ ("2016","S","Pain assessment."), ("2014","S","Pain assessment."), ]), ("Gait & Posture Assessment", [ ("2023 Sep","L","Define special test. Discuss about assessment of human gait cycle. (10)"), ("2025 Sep","L","Define posture. Describe postural assessment method."), ]), ]), ("B. Maitland Concept", DARK_GREEN, [ ("Grades of Mobilization / Brick Wall / Barrier Concept", [ ("2023 May","L","What is brick wall theory? Write its clinical importance. Discuss the assessment format of Maitland mobilization. (2+3+5)"), ("2022 Aug","S","Grades of Mobilization in Maitland concept."), ("2022 Aug","S","Movement barriers."), ("2023 Sep","S","Brick wall concept of Maitland."), ("2023 Sep","S","Movement barriers."), ("2023 Sep","S","PAIVM & PPIVM."), ("2019 Aug","L","Explain Maitland's concept grades, technique and write about the procedure for applying joint. (10)"), ("2018","L","What is brick wall theory? What will be your management in L3-L4 PIVD patients in terms of Maitland approach? (2+8)"), ("2016","S","Brick-wall concept."), ("2014","L","What is Brick Wall theory? Write down different grades of mobilization and physiological effects of Maitland's mobilization. (3+3+4)"), ("2013","S","Brick wall theory."), ("2012","L","Differentiate between mobilization & manipulation. Write about the 'Barrier concept' recommended by Maitland. (5+5)"), ("2011","L","Describe the different grades of mobilization with their uses. State the brick wall concept of Maitland and describe the use of body chart in assessment. (3+2+5)"), ("2009","S","Contraindications of joint mobilization."), ("2008","L","Define Mobilization and Manipulation as per Maitland technique. Define grades of movement. (5+5)"), ("2024 Sep","L","State Maitland's grade of mobilization. How can we treat a grade 3 patient of chronic frozen shoulder using Maitland's mobilization? (3+7)"), ]), ("Maitland Assessment Protocol", [ ("2015","L","Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2015","S","Importance of body chart according to Maitland Concept."), ("2020 Jan","L","What is adhesive capsulitis? How will you manage the same based on Maitland concept? (2+8)"), ("2017","L","Write in detail the procedure of shoulder mobilization according to Maitland concept for adhesive capsulitis. (7+3)"), ("2012","L","Explain Maitland's concept grades, technique and procedure for applying to hip joint. (5+5)"), ("2009","L","Briefly explain the Maitland concept. Write down different grades according to Maitland. (5+5)"), ("2008","L","Briefly explain the Maitland concept. Write down different grades according to Maitland. (5+5)"), ]), ("Pathological Barrier / Freyette's Rule", [ ("2017","S","Pathological barrier."), ("2008","S","Freyette's rule of spine."), ]), ]), ("C. McKenzie Concept", MAROON, [ ("Derangement Syndrome", [ ("2023 May","L","What is the difference between derangement syndrome & dysfunction syndrome? Write the assessment protocol for central symmetrical low back pain. (5+5)"), ("2022 Aug","S","Derangement syndrome."), ("2021 Sep","L","Describe Derangement syndrome in terms of McKenzie approach. (10)"), ("2020 Jan","L","What is derangement syndrome? Briefly describe the assessment and management. (2+8)"), ("2019 Aug","L","What is directional preference? How do you find out directional preference for C5-C6 canal stenosis patients with symptoms upto wrist loaded condition? (3+7)"), ("2016","L","Elaborate the Derangement Syndromes according to McKenzie Concept. (10)"), ("2013","L","What is derangement syndrome? Explain peripheralization and centralization. Differences between Derangement Grade II, Grade IV and Grade VI. (2+4+4)"), ("2012","L","Differentiate between dysfunction syndrome and derangement syndrome. Classify dysfunction syndrome. (4+6)"), ("2011","S","Types of derangement syndrome."), ("2011","S","Distinguish between postural and dysfunction syndrome."), ("2009","L","What is derangement syndrome? Explain peripheralization and centralization. What is postural syndrome? (2+6+2)"), ("2010","L","Describe clinically differentiating postural, dysfunction and derangement syndromes. (6+4)"), ("2023 Sep","L","Discuss the derangement syndromes of lumbar spine. What is centralization and peripheralization?"), ("2024 Sep","L","Write the difference between derangement and dysfunction syndrome. How will you treat a patient with chronic low back pain using McKenzie concept? (5+5)"), ]), ("Postural / Dysfunction Syndrome", [ ("2014","L","Write the assessment and treatment procedures of Postural syndrome. (4+6)"), ("2011","L","Define postural syndromes. Write the assessment and treatment procedures. (3+7)"), ("2019 Aug","S","Directional preference."), ("2018","S","Directional preference."), ]), ("Traffic Light / McKenzie System / Derangement 5", [ ("2018","L","What are traffic light guiding in McKenzie system?"), ("2013","S","Traffic signal light indications of McKenzie."), ("2017","L","Write down the treatment procedure according to McKenzie Concept of a patient with Derangement 5. (10)"), ]), ("Flexion / Extension Dysfunction & Biased Exercises", [ ("2022 Aug","L","Describe Flexion and Extension dysfunction by McKenzie approach. (5+5)"), ("2019 Aug","S","Flexion biased exercise."), ("2020 Jan","S","Flexion biased exercise."), ("2010","S","Centralisation and peripheralisation."), ]), ]), ("D. Cyriax Concept", HexColor("#5c3a1a"), [ ("Principles & Assessment System", [ ("2022 Aug","L","What is Selection Tissue Tension Test (STTT)? Describe it by CYRIAX assessment system. (2+8)"), ("2018","L","Write in detail about Cyriax principal and assessment system."), ("2020 Jan","L","What is the basic concept of Cyriax approach? What is the concept of referred pain? What are the factors affecting pain? (4+3+3)"), ("2011","S","Selective tissue tension tests."), ]), ("Deep Transverse Friction Massage (DTFM)", [ ("2021 Sep","S","DTFM."), ("2010","S","Technique of Deep Transverse Friction Massage."), ("2008","S","Deep friction massage."), ]), ("Contractile vs Non-Contractile Tissues", [ ("2010","S","How to differentiate between contractile and non-contractile tissues."), ]), ]), ("E. Mennell's Concept", HexColor("#3a1a5c"), [ ("Joint Play / Rules", [ ("2023 May","S","Mennel's rule."), ("2013","L","Define Mennell's concept. Enumerate Mennell's rules of joint play. (2+8)"), ("2011","S","Mennell's rules for joint play testing."), ]), ]), ("F. Neurodynamics & Neural Tension Tests", HexColor("#1a4a5c"), [ ("Upper Limb Tension Tests (ULTT)", [ ("2021 Sep","L","What is ULTT? Describe the procedure of ULTT 1 & ULTT 2. (2+4+4)"), ("2022 Aug","L","What is ULTT? Describe the procedure of ULTT2 & ULTT3. (2+4+4)"), ("2020 Jan","L","Define neurodynamics. Describe the procedure of brachial plexus tension test. (2+8)"), ("2020 Jan","S","Adverse neural tension test."), ("2018","S","ULTT."), ("2017","L","Write in detail the neurodynamic test of right ulnar nerve and its significance. (7+3)"), ("2016","L","Describe the procedures of Upper Limb Neural Tension Tests with suitable diagrams. (10)"), ("2015","L","Describe neural tension tests for sciatic, tibial and common peroneal nerves. (10)"), ("2014","S","U.L.T.T."), ("2012","S","U.L.T.T.1 & 2."), ("2011","L","What do you understand by Adverse Neural Tension? Describe the Slump Test in detail. (4+6)"), ("2009","L","What are the contraindications of ULTT? Describe procedure of ULTT-3 in non-irritable disorder. (3+7)"), ("2008","L","Describe method of testing for left ULTT1 in non-irritable disorder. Precautions and contraindications. (6+4)"), ("2023 Sep","S","ULTT3."), ("2022 Aug","S","Sliders and tensioners."), ("2025 Sep","L","Describe the variants of upper limb tension tests."), ("2024 Sep","S","ULTT2."), ]), ("SLR & Modifications", [ ("2021 Sep","S","SLR."), ("2014","L","Describe the clinical importance and procedure of S.L.R. and its modifications. (4+6)"), ("2019 Aug","L","Describe the procedure of SLR testing and sensitization. Write down the findings of SLR test. (5+5)"), ("2010","L","Describe the procedure of SLR and sensitization. What are the findings of the SLR? (7+3)"), ("2009","L","Describe SLR in detail with its findings. What is sensitisation and how can you apply it? (6+4)"), ("2024 Sep","L","Variations of SLR and its significance. (10)"), ("2025 Sep","S","Straight Leg Raise Test."), ]), ("Slump Test", [ ("2021 Sep","L","What is Slump Test? Describe the procedure and clinical importance. (2+6+2)"), ("2018","S","Slump test."), ("2015","S","Slump Test."), ("2013","L","Describe in detail about slump test. (10)"), ("2012","S","Slump test."), ("2008","S","SLUMP and SLR tests."), ]), ("Prone Knee Bending (PKB) Test", [ ("2022 Aug","S","Prone Knee bending Test."), ("2019 Aug","S","Prone knee bend test."), ("2015","S","Prone knee bending test."), ("2012","L","Describe the procedure of Prone Knee Bending Test. Write about its clinical significance. (4+6)"), ("2010","S","Prone knee bend (PKB) test."), ]), ]), ("G. Neurological Approaches", HexColor("#2d5a1a"), [ ("Bobath / NDT Approach", [ ("2023 May","L","Write an essay on Bobath approach. (10)"), ("2023 Sep","L","Discuss the effects of three primitive reflexes on movement and posture of hemiplegic patients as per Bobath concept."), ("2022 Aug","L","What is Spasticity? What is the grading of Spasticity? Management of Spasticity by Bobath approach. (2+3+5)"), ("2021 Sep","L","What is Bobath approach? Describe RIP & RIMP. (2+4+4)"), ("2018","L","What is Bobath approach? Write in detail about this approach. (2+8)"), ("2017","L","Write down the different principles of Bobath Concept. How to assess a baby with cerebral palsy according to this concept? (4+6)"), ("2017","L","Discuss physiotherapy management of inferior shoulder subluxation in hemiplegia. Write down the proper causes of subluxation. (5+5)"), ("2016","L","Describe the principles of Neurodevelopment Therapy (NDT). Describe the treatment methods of a cerebral palsy child based on NDT. (4+6)"), ("2015","L","Write the principles of Bobath Concept. Discuss the facilitation and inhibition techniques according to this concept. (2+4+4)"), ("2014","L","Discuss the principles of Bobath approach. Describe the problems of Hemiplegia according to Bobath. (4+6)"), ("2013","L","Describe the principles, techniques and advantages of Bobath approach. (2+8)"), ("2011","L","Discuss the Bobath's concept. What is facilitation and inhibition? Mention the importance of handling in the Bobath's concept. (6+2+2)"), ("2008","L","What are the basic principles of Bobath approach? Discuss the facilitation and inhibition techniques used by Bobath. (4+6)"), ("2025 Sep","L","Describe the application of Bobath Approach in a Cerebral Palsy patient."), ("2024 Sep","S","Bobath Approach."), ]), ("RIP / RIMP / Key Points of Control", [ ("2021 Sep","S","Importance of Isometric Resistance contraction."), ("2020 Jan","S","RIP."), ("2013","L","What is synergy? Describe how RIP and RIMP can be used to break the synergy in the upper extremity of a hemiplegic patient. (3+7)"), ("2012","S","R.I.P."), ("2012","S","Key points of control."), ("2011","S","Uses of Central Key Point."), ("2010","L","What is Key Points of Control? Mention the various key points and how they can be used in the treatment of neurological patients. (3+7)"), ("2009","S","R.I.P."), ("2009","S","RIMP."), ("2008","S","R.I.P."), ("2024 Sep","L","What are the key points of control? How can you use RIP to break synergy patterns in upper limb? (4+6)"), ("2025 Sep","L","Define RIP and RIMP. How to apply these techniques in Hemiplegia?"), ]), ("Motor Relearning Programme (MRP)", [ ("2024 Sep","L","Principles of MRP. How will you treat gait deviation using MRP in hemiplegic patients? (4+6)"), ("2021 Sep","L","What is MRP? What is the step of MRP and its importance? (2+6+2)"), ("2020 Jan","L","Write about the principle of MRP. How will you train a hemiplegic patient in sit to stand according to MRP principles? (5+5)"), ("2017","L","Write down the detailed physiotherapy management of a hemiplegic patient according to Motor Relearning Program. (10)"), ("2016","L","Describe the principles of Motor Relearning Programme. What are the different types of feedback and their uses? Explain with examples. (4+6)"), ("2015","L","Describe in detail about Motor Relearning Programme. (10)"), ("2014","L","Describe the principles and stages of M.R.P. (5+5)"), ("2013","S","Theories of motor learning."), ("2011","L","Mention the principles of MRP. Describe the management of hemiplegic patient using the principles of MRP. (4+6)"), ("2010","L","What do you understand by Motor Learning Programme? Mention the steps of MRP in the treatment of a hemiplegic patient. (6+4)"), ("2009","L","What is MRP? Describe in detail about the different steps of MRP. (2+8)"), ("2008","S","Steps of MRP."), ("2019 Aug","S","Theories of motor learning."), ("2018","S","MRP."), ("2008","S","Feedback."), ]), ("Spasticity & Synergy", [ ("2022 Aug","L","What is Spasticity? Grading of Spasticity. Management by Bobath approach. (2+3+5)"), ("2018","S","Grading of spasticity."), ("2016","S","Modified Ashworth Scale."), ("2014","S","Modified Ashworth scale."), ("2013","S","Assessment of spasticity."), ("2012","S","Grading of spasticity."), ("2011","S","Spasticity and Synergy."), ("2020 Jan","S","Spasticity."), ("2020 Jan","S","Synergy."), ("2009","S","Synergy."), ("2025 Sep","L","What is Hypertonicity? What are the types of Hypertonicity? Describe their assessment."), ]), ("Primitive Reflexes / ATNR / STNR / Righting Reactions", [ ("2019 Aug","S","Primitive reflex."), ("2019 Aug","S","A.T.N.R."), ("2017","S","Positive supporting reaction."), ("2017","S","Righting and equilibrium reactions."), ("2017","S","Facilitatory techniques of Bobath."), ("2016","S","Examination of Primitive Reflexes."), ("2013","S","ATNR."), ("2023 May","S","ATNR & STNR."), ("2009","S","STNR."), ("2009","S","Primitive reflexes of a newborn baby."), ("2024 Sep","S","ATNR and STNR."), ("2023 Sep","S","Spinal primitive reflexes."), ]), ("Vojta Approach", [ ("2023 May","L","What is Vojta approach? How is it used to treat a neurological patient? (3+7)"), ("2019 Aug","S","Vojta approach."), ("2008","L","What do you understand by Vojta approach? How do principles of Vojta differ from those of Bobath? (3+7)"), ]), ("Neural Plasticity / Neuroplasticity", [ ("2016","S","Neural Plasticity."), ("2015","S","Neural Plasticity."), ("2014","S","Neural plasticity."), ("2015","S","Antispastic position of upper limb in hemiparesis."), ("2008","L","What do you understand by neuroplasticity? Explain principles of neuroplasticity in Bobath approach. (3+7)"), ]), ]), ("H. Neurological Assessment", HexColor("#1a5c5c"), [ ("Motor & Sensory Examination", [ ("2023 May","S","Components of Motor assessment."), ("2022 Aug","L","Describe Motor and Sensory assessment protocol. (5+5)"), ("2021 Sep","S","Assessment of Myotomes."), ("2013","S","Sensory assessment as a part of Neurological Examination."), ("2024 Sep","L","Write in details about the neurological assessment of a patient suffering from right sided hemiplegia. (10)"), ("2025 Sep","L","Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ]), ("Reflex Assessment / Spinal Reflexes / ASIA Scale / Tinel Sign", [ ("2020 Jan","S","Spinal reflex."), ("2025 Sep","S","ASIA Scale."), ("2020 Jan","S","Tinel sign."), ]), ("Functional Scales (FIM, Barthel, Berg, MMSE)", [ ("2019 Aug","S","F.I.M scale."), ("2018","S","FIM scale."), ("2017","S","FIM scale."), ("2016","S","FIM Scale."), ("2012","S","F.I.M scale."), ("2016","S","Berg Balance Scale."), ("2013","S","Functional balance scale."), ("2019 Aug","S","Functional balance scale."), ("2024 Sep","S","Barthel's Index."), ("2025 Sep","S","Functional Independence Measure."), ("2025 Sep","S","MMSE."), ("2025 Sep","S","Tests for coordination."), ]), ]), ("I. Regional Assessment — Spine", HexColor("#5c4a1a"), [ ("Cervical Spine Assessment", [ ("2021 Sep","L","Describe assessment protocol of Cervical Spine. (10)"), ("2025 Sep","L","Write in details about the assessment of a case of 45 years male suffering from Cervical Radiculopathy."), ("2022 Aug","S","Spurling Test."), ("2021 Sep","S","Spurling Test."), ("2024 Sep","S","Spurling Test."), ("2018","S","Sharp purser test."), ]), ("Lumbar Spine / Low Back", [ ("2023 May","L","Write the assessment protocol for central symmetrical low back pain. (5+5)"), ("2015","L","Describe the procedure of assessment of patient with low back pain according to Maitland Concept. (10)"), ("2016","S","Schober's Test."), ]), ("SIJ / Pelvis Special Tests", [ ("2018","S","Gillets test."), ("2020 Jan","S","Gaenslen test."), ("2015","S","Modified Ober Test."), ]), ]), ("J. Regional Assessment — Upper Limb", HexColor("#4a1a5c"), [ ("Shoulder Joint", [ ("2022 Aug","L","Describe the detailed shoulder joint assessment protocol. (10)"), ("2023 Sep","L","Discuss shoulder lock test and shoulder quadrant test. (10)"), ("2022 Aug","S","Test for Anterior shoulder dislocation."), ("2022 Aug","S","Assessment of Impingement syndrome of shoulder joint."), ("2019 Aug","L","What is shoulder impingement syndrome? Write assessment and special test for it. (2+4+4)"), ("2016","L","Describe any two special tests related to shoulder impingement syndrome with significance. (5+5)"), ("2015","S","Neer impingement test and sign."), ("2012","L","Write in detail the assessment & special tests for shoulder Impingement. (4+6)"), ("2017","S","O'Brien Test."), ("2017","S","Lift off sign."), ("2024 Sep","S","Lift off sign."), ("2025 Sep","S","Special test for Labral injury in shoulder."), ("2023 May","S","Adson's test."), ("2023 May","S","Quadrant test."), ]), ("Elbow & Forearm", [ ("2023 Sep","S","Mill's manipulation."), ("2012","S","Mill's maneuver."), ("2011","S","Mill's manipulation."), ("2025 Sep","S","Cozen's Test."), ]), ("Wrist & Hand", [ ("2020 Jan","S","Tinel sign."), ]), ]), ("K. Regional Assessment — Lower Limb", HexColor("#1a5c2a"), [ ("Hip Joint", [ ("2020 Jan","L","Describe any two special tests of hip joint with clinical significance. (5+5)"), ("2020 Jan","S","Trendelenburg test."), ("2012","L","Explain Maitland's concept grades, technique and procedure for applying to hip joint. (5+5)"), ("2016","S","Ortolani's Test."), ("2023 Sep","L","Discuss in detail Thomas and Ober test with clinical importance. (3+7)"), ("2015","S","Modified Ober Test."), ("2023 Sep","S","Hip quadrant test."), ]), ("Knee Joint", [ ("2023 May","S","McMurray's test."), ("2023 May","S","Pivot Shift test."), ("2023 May","S","Reverse Lachman test."), ("2022 Aug","S","90-90 Hamstring Test."), ("2022 Aug","S","Any two special tests for meniscal injury of knee joint."), ("2021 Sep","S","Test for Meniscal injury."), ("2018","S","90-90 hamstring test."), ("2017","S","Special tests for lateral meniscus injury of knee."), ("2015","L","Describe any two special tests related to ACL of knee with significance. (5+5)"), ("2014","S","Anterior Drawer test & posterior Drawer test."), ("2012","S","Helfet test."), ("2019 Aug","S","Helfest test."), ("2023 Sep","L","Discuss any three special tests for patello femoral joint. (10)"), ("2025 Sep","S","Anterior Drawer test of knee."), ("2021 Sep","S","Empty can Test."), ("2023 May","S","Empty can Test."), ("2013","S","Empty can test."), ]), ("Ankle & Foot", [ ("2020 Jan","S","Gaenslen test."), ]), ]), ("L. Communication", HexColor("#5c1a4a"), [ ("Verbal & Non-Verbal Communication", [ ("2020 Jan","S","Difference between verbal and non verbal communication."), ("2018","S","Non verbal communication."), ("2012","S","Non-verbal communication."), ("2011","S","Verbal Communication."), ("2009","S","Discuss importance of communication in patient assessment."), ("2013","S","Basic principles of communication with patient."), ]), ]), ("M. Ergonomics & Occupational Health", HexColor("#1a3a1a"), [ ("Ergonomics — Principles & Applications", [ ("2023 May","S","Force progression."), ("2023 Sep","S","Layer syndrome."), ("2023 Sep","S","Shunting rule of Magnus."), ]), ]), ("N. Miscellaneous / Special Tests", HexColor("#3a3a1a"), [ ("VAS / Pain Assessment Tools", [ ("2024 Sep","S","VAS."), ("2016","S","Pain assessment."), ("2014","S","Pain assessment."), ]), ("Other Special Tests", [ ("2024 Sep","S","Special Tests for CDH."), ("2025 Sep","S","TLR."), ]), ]), ] # ─── Layout constants ──────────────────────────────────────────────────────── QNUM_W = 1.0 * cm # column 1: Q number YEAR_W = 2.5 * cm # column 3: year + type TEXT_X = MARGIN_L + QNUM_W + 0.15*cm TEXT_W = CONTENT_W - QNUM_W - YEAR_W - 0.3*cm YEAR_X = W - MARGIN_R - YEAR_W FONT_Q = "Helvetica" SIZE_Q = 9.0 LINE_H_Q = 13.0 # points between text lines PAD_V = 4.0 # vertical padding inside row (top + bottom each) def measure_row_height(text): """Return total row height in points for a given question text.""" lines = wrap_text(text, FONT_Q, SIZE_Q, TEXT_W) return len(lines) * LINE_H_Q + PAD_V * 2 class PDFBuilder: def __init__(self, path): self.c = canvas.Canvas(path, pagesize=A4) self.c.setTitle("PFA Questions - Topic Wise") self.c.setAuthor("WBUHS 3rd BPT") self.y = H - MARGIN_T self.page_num = 1 self.q_num = 0 # ── page management ────────────────────────────────────────────── def _footer(self): self.c.setFont("Helvetica", 7.5) self.c.setFillColor(MID_GREY) self.c.drawString( MARGIN_L, MARGIN_B - 8, "Physical / Functional Assessment | WBUHS 3rd BPT | Topic Wise Question Bank (2008-2025)" ) self.c.drawRightString(W - MARGIN_R, MARGIN_B - 8, f"Page {self.page_num}") def new_page(self): self._footer() self.c.showPage() self.page_num += 1 self.y = H - MARGIN_T def need(self, h): """Ensure h points of space; start new page if not enough.""" if self.y - h < MARGIN_B + 0.3*cm: self.new_page() # ── building blocks ────────────────────────────────────────────── def topic_header(self, title, color): h = 18.0 self.need(h + 8) # coloured bar self.c.setFillColor(color) self.c.roundRect(MARGIN_L - 2, self.y - h, CONTENT_W + 4, h, 3, fill=1, stroke=0) # white text self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 11) self.c.drawString(MARGIN_L + 5, self.y - h + 4, title) self.y -= h + 5 def subtopic_header(self, title): h = 15.0 self.need(h + 5) self.c.setFillColor(HexColor("#4a5a6a")) self.c.rect(MARGIN_L, self.y - h, CONTENT_W, h, fill=1, stroke=0) self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 8.5) self.c.drawString(MARGIN_L + 5, self.y - h + 3.5, title) self.y -= h + 3 def question_row(self, year, qtype, text, alt): self.q_num += 1 # --- measure height first --- lines = wrap_text(text, FONT_Q, SIZE_Q, TEXT_W) row_h = len(lines) * LINE_H_Q + PAD_V * 2 self.need(row_h + 2) top = self.y bot = top - row_h # background bg = HexColor("#f4f4f4") if alt else white self.c.setFillColor(bg) self.c.rect(MARGIN_L, bot, CONTENT_W, row_h, fill=1, stroke=0) # border self.c.setStrokeColor(HexColor("#cccccc")) self.c.setLineWidth(0.3) self.c.rect(MARGIN_L, bot, CONTENT_W, row_h, fill=0, stroke=1) # Q number (vertically centred) badge_col = RED_BADGE if qtype == "L" else GREEN_BADGE self.c.setFillColor(badge_col) self.c.setFont("Helvetica-Bold", 8.5) self.c.drawString(MARGIN_L + 3, bot + PAD_V + (len(lines)-1)*LINE_H_Q/2 + 1, f"Q{self.q_num}") # year self.c.setFont("Helvetica-Oblique", 7.5) self.c.setFillColor(MID_GREY) badge_text = "Long Q" if qtype == "L" else "Short Note" self.c.drawString(YEAR_X + 2, bot + PAD_V + LINE_H_Q + 2, year) self.c.setFillColor(badge_col) self.c.setFont("Helvetica-Bold", 7) self.c.drawString(YEAR_X + 2, bot + PAD_V, badge_text) # question text -- draw each wrapped line self.c.setFillColor(DARK_GREY) self.c.setFont(FONT_Q, SIZE_Q) for i, ln in enumerate(lines): # lines drawn top-down ly = top - PAD_V - LINE_H_Q * (i + 1) + 3 self.c.drawString(TEXT_X, ly, ln) self.y = bot - 2 # small gap between rows def spacer(self, pts=6): self.need(pts) self.y -= pts # ── title page ─────────────────────────────────────────────────── def title_page(self): # header banner self.c.setFillColor(DARK_BLUE) self.c.rect(0, H - 130, W, 130, fill=1, stroke=0) self.c.setFillColor(white) self.c.setFont("Helvetica-Bold", 20) self.c.drawCentredString(W/2, H - 45, "Physical / Functional Assessment") self.c.setFont("Helvetica-Bold", 12) self.c.drawCentredString(W/2, H - 68, "WBUHS — 3rd Year BPT") self.c.setFont("Helvetica", 10) self.c.drawCentredString(W/2, H - 88, "Previous Year Questions — Topic Wise Distribution (2008 - 2025)") self.c.setFont("Helvetica-Oblique", 9) self.c.drawCentredString(W/2, H - 108, "All questions from pfa.pdf, PFA-1.pdf, DOC-20260214.pdf and 3rd yr PFA.pdf") # contents ty = H - 155 self.c.setFillColor(DARK_GREY) self.c.setFont("Helvetica-Bold", 11) self.c.drawString(MARGIN_L, ty, "Table of Contents") ty -= 5 self.c.setStrokeColor(DARK_BLUE) self.c.setLineWidth(1) self.c.line(MARGIN_L, ty, W - MARGIN_R, ty) ty -= 14 for i, (tname, tcolor, _) in enumerate(TOPICS, 1): if ty < MARGIN_B: break # small colour dot self.c.setFillColor(tcolor) self.c.circle(MARGIN_L + 5, ty + 3, 4, fill=1, stroke=0) self.c.setFillColor(DARK_GREY) self.c.setFont("Helvetica", 9.5) self.c.drawString(MARGIN_L + 14, ty, f"{i}. {tname}") ty -= 16 self._footer() self.c.showPage() self.page_num += 1 self.y = H - MARGIN_T # ── main build ─────────────────────────────────────────────────── def build(self): self.title_page() for tname, tcolor, subtopics in TOPICS: self.topic_header(tname, tcolor) for stname, questions in subtopics: self.subtopic_header(stname) for idx, (year, qtype, qtext) in enumerate(questions): self.question_row(year, qtype, qtext, idx % 2 == 0) self.spacer(5) self.spacer(10) self._footer() self.c.save() print(f"PDF saved. Total questions: {self.q_num}, Pages: {self.page_num}") PDFBuilder("/home/daytona/workspace/pfa-questions/PFA_Questions_Topicwise.pdf").build() PYEOF python3 /home/daytona/workspace/pfa-questions/build_pdf.py
PFA Questions Topicwise
PDF Document · PDF
stringWidth() from ReportLab's font metrics engine, which measures the actual pixel width of every word before deciding where to break the line. Row heights are then calculated from the exact number of wrapped lines — so nothing overflows or overlaps.