Hi
What is format for microbiology bpt syallabus to write in the examination (5 mark ,15 marks )?
BPT microbiology exam answer writing format 5 marks 15 marks physiotherapy syllabus
| Question Type | Marks | No. of Questions |
|---|---|---|
| Long Answer Questions (LAQ / Essays) | 15 marks each | 2 questions |
| Short Answer Questions (SAQ / Short Notes) | 5 marks each | 6 questions |
| Very Short Answer | 2 marks each | 10 questions |
| Total | 80 marks |
What are the key headings and key topics to write .?
BPT 2nd year microbiology key topics headings exam important questions physiotherapy
https://www.tmv.edu.in/pdf/Physiotherapy/Department_of_Physi…
| Heading | Content |
|---|---|
| Morphology | Gram +ve cocci in clusters/chains |
| Cultural characteristics | Blood agar, hemolysis |
| Virulence factors | Toxins, enzymes |
| Diseases caused | Wound infections, pneumonia, etc. |
| Lab diagnosis | Culture, sensitivity |
| Treatment | Antibiotics |
| For 5 Marks | For 15 Marks |
|---|---|
| Definition | Introduction + Definition |
| Types/Classification | Classification (detailed) |
| 3-4 key points | Morphology/Structure |
| Diagram (if applicable) | Pathogenesis (step by step) |
| Clinical relevance (1 line) | Clinical features |
| Lab diagnosis | |
| Treatment | |
| Labeled diagram (compulsory) | |
| Physiotherapy relevance | |
| Conclusion |
M-C-V-P-C-L-T = Morphology → Culture → Virulence → Pathogenesis → Clinical features → Lab diagnosis → Treatment
For 5 marks ?! And other types order
1. Definition
2. Classification / Types (if any)
3. Key Points (3-4 points with subheadings)
4. Diagram (labeled, if applicable)
5. Clinical / Physiotherapy Relevance (1-2 lines)
1. Definition → What is Gram staining?
2. Principle → Iodine-crystal violet complex
3. Steps → 4 steps in order
4. Results → Gram +ve (purple) / Gram -ve (pink)
5. Significance → Used to classify bacteria
1. Definition (1-2 lines)
2. One key feature / example
3. One clinical point
No diagram needed. Just crisp, direct points.
1. Introduction / Definition
2. Classification
3. Morphology OR Structure
4. Pathogenesis / Mechanism (brief)
5. Clinical Features (short list)
6. Diagnosis (brief)
7. Diagram
8. Physiotherapy Relevance
1. Introduction + Definition
2. Classification (with examples)
3. Morphology / Structure
4. Cultural Characteristics
5. Virulence Factors / Mechanism
6. Pathogenesis (step by step)
7. Clinical Features
8. Lab Diagnosis
9. Treatment / Prevention
10. Labeled Diagram (compulsory)
11. Physiotherapy Relevance
12. Conclusion (2-3 lines)
1. Definition
2. Morphology (shape, Gram stain)
3. Diseases caused
4. Lab diagnosis (1 point)
5. Treatment (antibiotic)
1. Definition / Introduction
2. Structure (brief)
3. Mode of transmission
4. Clinical features
5. Prevention / Vaccine
1. Definition
2. Principle
3. Steps / Method
4. Result / Uses
5. Advantages / Limitations
1. Definition
2. Types with examples
3. Structure (if antibody - draw IgG)
4. Functions
5. Clinical significance
1. Definition / Introduction
2. Life cycle (brief / flow chart)
3. Clinical features
4. Lab diagnosis
5. Treatment + Physiotherapy link
1. Definition
2. Morphology (yeast/mould form)
3. Diseases caused
4. Lab diagnosis (KOH mount)
5. Treatment (antifungal)
1. Definition
2. Types / Classification
3. Sources and causative organisms
4. Prevention methods
5. Role of physiotherapist
| Rule | Detail |
|---|---|
| Underline all headings | Makes answer look structured |
| Bullet points | Use for lists - never long paragraphs |
| Diagram | Compulsory for 15 marks, adds marks in 5 marks |
| Bold key terms | Organism names, drug names, technical terms |
| Physiotherapy link | Always end with PT relevance - examiners love this |
| Neat handwriting | Presentation = marks |
| No blank spaces | Fill every line purposefully |
D - C - K - D - R
- D = Definition
- C = Classification/Types
- K = Key points (3-4)
- D = Diagram
- R = Relevance (clinical/PT)
Can send the order alone
1. Definition
2. Example / Key point
1. Definition
2. Classification / Types
3. Key points (3-4)
4. Diagram
5. Clinical relevance
1. Introduction
2. Classification
3. Morphology / Structure
4. Pathogenesis
5. Clinical features
6. Diagnosis
7. Diagram
8. PT relevance
1. Introduction
2. Classification
3. Morphology
4. Cultural characteristics
5. Virulence factors
6. Pathogenesis
7. Clinical features
8. Lab diagnosis
9. Treatment / Prevention
10. Diagram
11. PT relevance
12. Conclusion
1. Definition → 2. Morphology → 3. Diseases → 4. Diagnosis → 5. Treatment
1. Definition → 2. Structure → 3. Transmission → 4. Clinical features → 5. Prevention
1. Definition → 2. Principle → 3. Steps → 4. Result → 5. Uses
1. Definition → 2. Types → 3. Structure → 4. Functions → 5. Significance
1. Definition → 2. Life cycle → 3. Clinical features → 4. Diagnosis → 5. Treatment
1. Definition → 2. Morphology → 3. Diseases → 4. Diagnosis → 5. Treatment
1. Definition → 2. Types → 3. Sources → 4. Prevention → 5. PT role
What are key headings for exercise therapy
1. Definition
2. Types / Classification
3. Principles
4. Technique / Method
5. Physiological effects
6. Indications
7. Contraindications
8. Advantages / Disadvantages
9. Diagram / Example
10. Clinical application
1. Definition
2. Principle
3. Types of muscle contraction
4. Technique / Protocol
5. Progression
6. Indications
7. Contraindications
8. Clinical use
1. Definition
2. Classification
3. Mechanism
4. Technique
5. Effects on muscle / joint
6. Indications
7. Contraindications
8. Clinical application
1. Definition
2. Types of ROM (Active / Passive / Active-assisted)
3. Purpose / Goals
4. Technique
5. Normal ROM values (table)
6. Indications
7. Contraindications
8. Clinical significance
1. Definition
2. Types / Classification
3. Normal vs abnormal
4. Assessment methods
5. Exercises / Techniques
6. Indications
7. Clinical application
1. Definition
2. Types
3. Technique / Steps
4. Physiological effects
5. Indications
6. Contraindications
7. Clinical use (COPD, post-surgery)
1. Definition
2. Types / Methods
3. Technique
4. Physiological effects
5. Indications
6. Benefits
7. Clinical application
1. Definition
2. Phases of gait cycle
3. Normal gait parameters
4. Gait deviations
5. Assessment
6. Training techniques
7. Assistive devices
8. Clinical application
1. Definition
2. Types / Classification
3. Technique (brief)
4. Indications & Contraindications
5. Clinical / PT relevance
1. Introduction + Definition
2. Classification (detailed)
3. Principles
4. Technique / Method (step by step)
5. Physiological effects
6. Indications
7. Contraindications
8. Advantages / Disadvantages
9. Diagram
10. Progression / Modification
11. Clinical application / Case use
12. Conclusion
D - C - T - I - C
- D = Definition
- C = Classification
- T = Technique
- I = Indications
- C = Contraindications
For 5 marks
1. Definition
2. Types
3. Technique
4. Indications
5. Contraindications
1. Definition
2. Principle
3. Technique / Protocol
4. Indications
5. Contraindications
1. Definition
2. Types
3. Technique
4. Effects
5. Indications
1. Definition
2. Types
3. Technique
4. Normal values
5. Indications
1. Definition
2. Types / Normal vs Abnormal
3. Assessment
4. Exercises
5. Clinical use
1. Definition
2. Types
3. Technique / Steps
4. Effects
5. Indications
1. Definition
2. Types
3. Technique
4. Effects
5. Benefits / Indications
1. Definition
2. Phases of gait
3. Normal parameters
4. Deviations
5. Clinical use
1. Definition
2. Classification / Types
3. Technique
4. Indications
5. Contraindications
Exercise therapy 15 marks format
1. Introduction + Definition
2. Classification / Types
3. Principles
4. Technique / Method (step by step)
5. Physiological effects
6. Indications
7. Contraindications
8. Advantages
9. Disadvantages
10. Diagram
11. Progression / Modification
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Principle of overload
3. Types of muscle contraction
4. Technique / Protocol (detailed)
5. Steps of DeLorme / Oxford
6. Repetition Maximum (RM)
7. Progression
8. Physiological effects
9. Indications
10. Contraindications
11. Diagram / Table
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Classification of stretching
3. Mechanism of stretching
4. Technique of each type
5. Physiological effects
6. Effects on muscle / connective tissue
7. Indications
8. Contraindications
9. Precautions
10. Advantages / Disadvantages
11. Diagram
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Types of ROM
3. Normal ROM values (table)
4. Purpose / Goals
5. Technique of each type
6. Factors affecting ROM
7. Assessment of ROM (Goniometry)
8. Indications
9. Contraindications
10. Precautions
11. Diagram
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Types of posture
3. Normal posture (line of gravity)
4. Postural deviations / Deformities
5. Causes
6. Assessment methods
7. Effects of poor posture
8. Corrective exercises
9. Indications
10. Contraindications
11. Diagram
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Types of balance (static / dynamic)
3. Mechanism of balance
4. Assessment of balance
5. Factors affecting balance
6. Balance training techniques
7. Progression of exercises
8. Physiological effects
9. Indications
10. Contraindications
11. Diagram
12. Clinical application
13. Conclusion
1. Introduction + Definition
2. Classification / Types
3. Anatomy of breathing (brief)
4. Technique of each type (step by step)
5. Physiological effects
6. Effects on lungs / respiratory muscles
7. Indications
8. Contraindications
9. Precautions
10. Advantages
11. Diagram
12. Clinical application (COPD, post-surgery)
13. Conclusion
1. Introduction + Definition
2. Gait cycle phases
3. Normal gait parameters
4. Gait deviations (table)
5. Causes of abnormal gait
6. Assessment of gait
7. Gait training techniques
8. Assistive devices
9. Progression
10. Indications
11. Contraindications
12. Diagram
13. Conclusion
1. Introduction + Definition
2. Types / Methods
3. Jacobson's technique (detailed steps)
4. Other methods (yoga, breathing)
5. Physiological effects
6. Psychological effects
7. Indications
8. Contraindications
9. Benefits
10. Diagram
11. Clinical application
12. Conclusion
1. Introduction + Definition
2. Classification / Types
3. Principles
4. Technique / Method
5. Physiological effects
6. Indications
7. Contraindications
8. Precautions
9. Advantages / Disadvantages
10. Progression / Modification
11. Diagram (labeled)
12. Clinical application
13. Conclusion
| Breakup | Use for |
|---|---|
| 3 + 5 + 7 | Intro + Technique + Indications/Effects |
| 2 + 4 + 4 + 5 | Def + Types + Method + Clinical |
| 5 + 5 + 5 | Theory + Technique + Application |
Create a PDF summary of answer writing formats for all BPT subjects
mkdir -p /tmp/workspace/bpt-pdf && ls /tmp/workspace/
~/bpt-pdf/create_bpt_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT
from reportlab.pdfbase import pdfmetrics
# Output path
OUTPUT = "/tmp/workspace/bpt-pdf/BPT_Answer_Writing_Formats.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=1.8*cm,
leftMargin=1.8*cm,
topMargin=2*cm,
bottomMargin=2*cm
)
# ── Colour palette ──────────────────────────────────────────────────────────
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#0077b6")
LTBLUE = colors.HexColor("#caf0f8")
ORANGE = colors.HexColor("#e07b39")
LTORANGE = colors.HexColor("#fff3e0")
GREEN = colors.HexColor("#2d6a4f")
LTGREEN = colors.HexColor("#d8f3dc")
PURPLE = colors.HexColor("#5a189a")
LTPURPLE = colors.HexColor("#f3e8ff")
GREY = colors.HexColor("#f0f4f8")
DARKGREY = colors.HexColor("#444444")
WHITE = colors.white
BLACK = colors.black
# ── Styles ──────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, parent='Normal', **kw):
return ParagraphStyle(name, parent=styles[parent], **kw)
title_style = S('MainTitle', fontSize=22, textColor=WHITE,
alignment=TA_CENTER, fontName='Helvetica-Bold',
spaceAfter=4, leading=28)
subtitle_style = S('SubTitle', fontSize=11, textColor=LTBLUE,
alignment=TA_CENTER, fontName='Helvetica',
spaceAfter=2)
ch_title = S('ChTitle', fontSize=15, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_CENTER,
spaceBefore=0, spaceAfter=0, leading=20)
sec_title = S('SecTitle', fontSize=12, textColor=NAVY,
fontName='Helvetica-Bold', spaceBefore=10, spaceAfter=4)
topic_title = S('TopicTitle', fontSize=10, textColor=TEAL,
fontName='Helvetica-Bold', spaceBefore=6, spaceAfter=2)
body = S('Body', fontSize=9, textColor=DARKGREY,
fontName='Helvetica', leading=14, spaceAfter=2)
step_style = S('Step', fontSize=9, textColor=BLACK,
fontName='Helvetica', leading=13,
leftIndent=12, spaceAfter=1)
note_style = S('Note', fontSize=8.5, textColor=GREEN,
fontName='Helvetica-Oblique', leading=12,
leftIndent=8, spaceAfter=4)
formula_style = S('Formula', fontSize=9.5, textColor=PURPLE,
fontName='Helvetica-Bold', leading=14,
alignment=TA_CENTER, spaceAfter=4)
# ── Helper builders ──────────────────────────────────────────────────────────
def chapter_banner(text, color=NAVY):
data = [[Paragraph(text, ch_title)]]
t = Table(data, colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), color),
('ROUNDEDCORNERS', [6,6,6,6]),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
('LEFTPADDING', (0,0), (-1,-1), 12),
]))
return t
def section_box(title, steps, bg=GREY, title_color=NAVY):
"""Renders a titled box with numbered steps."""
rows = []
header = [[Paragraph(title, S('BH', fontSize=10, textColor=WHITE,
fontName='Helvetica-Bold', leading=13))]]
header_t = Table(header, colWidths=[16.4*cm])
header_t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), title_color),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
]))
step_rows = [[header_t]]
for i, s in enumerate(steps, 1):
p = Paragraph(f"<b>{i}.</b> {s}", step_style)
step_rows.append([p])
t = Table(step_rows, colWidths=[16.4*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,1), (-1,-1), bg),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 6),
('BOX', (0,0), (-1,-1), 0.5, title_color),
('LINEBELOW', (0,0), (0,0), 0.5, title_color),
]))
return t
def two_col_boxes(left_title, left_steps, right_title, right_steps,
lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN):
"""Side-by-side boxes."""
def build_cell(title, steps, bg, tc):
lines = [Paragraph(f"<b>{title}</b>",
S('CH2', fontSize=9.5, textColor=WHITE,
fontName='Helvetica-Bold', leading=13))]
for i, s in enumerate(steps, 1):
lines.append(Paragraph(f"<b>{i}.</b> {s}", step_style))
inner = [[l] for l in lines]
t = Table(inner, colWidths=[7.8*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), tc),
('BACKGROUND', (0,1), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 0.5, tc),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 6),
]))
return t
row = [[build_cell(left_title, left_steps, lbg, lc),
build_cell(right_title, right_steps, rbg, rc)]]
outer = Table(row, colWidths=[8.1*cm, 8.1*cm], hAlign='LEFT')
outer.setStyle(TableStyle([
('VALIGN', (0,0), (-1,-1), 'TOP'),
('LEFTPADDING', (0,0), (-1,-1), 0),
('RIGHTPADDING', (0,0), (-1,-1), 4),
]))
return outer
def marks_table(rows_data):
header = [Paragraph('<b>Marks</b>', S('TH', fontSize=9, textColor=WHITE,
fontName='Helvetica-Bold', leading=12)),
Paragraph('<b>Length</b>', S('TH', fontSize=9, textColor=WHITE,
fontName='Helvetica-Bold', leading=12)),
Paragraph('<b>Time</b>', S('TH', fontSize=9, textColor=WHITE,
fontName='Helvetica-Bold', leading=12)),
Paragraph('<b>Key Format</b>', S('TH', fontSize=9, textColor=WHITE,
fontName='Helvetica-Bold', leading=12))]
data = [header]
for r in rows_data:
data.append([Paragraph(r[0], body), Paragraph(r[1], body),
Paragraph(r[2], body), Paragraph(r[3], body)])
t = Table(data, colWidths=[2.2*cm, 3*cm, 2.8*cm, 8.6*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, NAVY),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
return t
def formula_box(text, bg=LTPURPLE):
data = [[Paragraph(text, formula_style)]]
t = Table(data, colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 1, PURPLE),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
]))
return t
def hr():
return HRFlowable(width="100%", thickness=0.5,
color=colors.HexColor("#cccccc"), spaceAfter=6)
# ════════════════════════════════════════════════════════════════════════════
# CONTENT BUILD
# ════════════════════════════════════════════════════════════════════════════
story = []
# ── COVER PAGE ──────────────────────────────────────────────────────────────
cover_data = [[Paragraph(
"BPT Examination<br/>Answer Writing Format Guide",
title_style)]]
cover_t = Table(cover_data, colWidths=[17*cm])
cover_t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), NAVY),
('TOPPADDING', (0,0), (-1,-1), 28),
('BOTTOMPADDING', (0,0), (-1,-1), 28),
('LEFTPADDING', (0,0), (-1,-1), 16),
('RIGHTPADDING', (0,0), (-1,-1), 16),
]))
story.append(cover_t)
story.append(Spacer(1, 0.3*cm))
sub_data = [[Paragraph(
"Bachelor of Physiotherapy | All Subjects | 2 / 5 / 10 / 15 Marks",
subtitle_style)]]
sub_t = Table(sub_data, colWidths=[17*cm])
sub_t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), TEAL),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
]))
story.append(sub_t)
story.append(Spacer(1, 0.6*cm))
story.append(Paragraph(
"This guide provides the exact order of headings and key points to write in BPT "
"university examinations for every mark category and every subject. "
"Follow these formats to score maximum marks.",
body))
story.append(Spacer(1, 0.4*cm))
# ── UNIVERSAL MARKS OVERVIEW ─────────────────────────────────────────────────
story.append(chapter_banner("SECTION 1 — UNIVERSAL MARKS FORMAT", NAVY))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Overview — All Mark Categories", sec_title))
story.append(marks_table([
["2 Marks", "4–6 lines", "3–4 min", "Definition → Key feature → Example"],
["5 Marks", "1–1.5 pages", "8–10 min", "Definition → Classification → Key points (3-4) → Diagram → Clinical relevance"],
["10 Marks", "2.5–3 pages", "15 min", "Intro → Classification → Morphology/Structure → Pathogenesis → Clinical features → Diagnosis → Diagram → PT relevance"],
["15 Marks", "4–5 pages", "20–25 min","Intro → Classification → Morphology → Cultural chars → Virulence → Pathogenesis → Clinical → Lab Dx → Treatment → Diagram → PT relevance → Conclusion"],
]))
story.append(Spacer(1, 0.4*cm))
story.append(two_col_boxes(
"2-Mark Order", ["Definition (1-2 lines)", "Key feature / Example", "One clinical point"],
"5-Mark Order (Universal)", ["Definition", "Classification / Types", "Key points (3-4)", "Diagram (if applicable)", "Clinical / PT relevance"],
lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(formula_box(
"Universal 5-Mark Formula: D — C — K — D — R\n"
"Definition | Classification | Key points | Diagram | Relevance"
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("15-Mark Universal Order", [
"Introduction + Definition",
"Classification / Types",
"Principles / Background",
"Morphology / Structure",
"Cultural Characteristics (for bacteria/fungi)",
"Virulence Factors / Mechanism",
"Pathogenesis (step by step)",
"Clinical Features",
"Lab Diagnosis",
"Treatment / Prevention",
"Labeled Diagram (compulsory)",
"Physiotherapy Relevance",
"Conclusion (2-3 lines)",
], bg=LTBLUE, title_color=NAVY))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
"<b>Mark Breakup Guide</b> — write at the top of your 15-mark answer:",
note_style))
breakup_data = [
[Paragraph('<b>Breakup</b>', body), Paragraph('<b>Use for</b>', body)],
[Paragraph('3 + 5 + 7', body), Paragraph('Intro + Technique + Indications/Effects', body)],
[Paragraph('2 + 4 + 4 + 5', body), Paragraph('Definition + Types + Method + Clinical', body)],
[Paragraph('5 + 5 + 5', body), Paragraph('Theory + Technique + Application', body)],
]
bt = Table(breakup_data, colWidths=[4*cm, 13*cm])
bt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), TEAL),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 8),
]))
story.append(bt)
story.append(PageBreak())
# ── MICROBIOLOGY ─────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 2 — MICROBIOLOGY", TEAL))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Bacterium — 5 Marks",
["Definition", "Morphology (shape, Gram stain)", "Diseases caused", "Lab diagnosis", "Treatment"],
"Virus — 5 Marks",
["Definition / Introduction", "Structure (brief)", "Mode of transmission", "Clinical features", "Prevention / Vaccine"],
lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Procedure (Staining/Autoclave) — 5 Marks",
["Definition", "Principle", "Steps / Method", "Result / Uses", "Advantages / Limitations"],
"Immunology Topic — 5 Marks",
["Definition", "Types with examples", "Structure (diagram)", "Functions", "Clinical significance"],
lbg=LTORANGE, rbg=LTPURPLE, lc=ORANGE, rc=PURPLE
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Parasite — 5 Marks",
["Definition / Introduction", "Life cycle (brief)", "Clinical features", "Lab diagnosis", "Treatment + PT link"],
"Fungi — 5 Marks",
["Definition", "Morphology (yeast/mould)", "Diseases caused", "Lab diagnosis (KOH mount)", "Treatment (antifungal)"],
lbg=LTGREEN, rbg=LTORANGE, lc=GREEN, rc=ORANGE
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Hospital Infection — 5 Marks",
["Definition", "Types / Classification", "Sources and causative organisms",
"Prevention methods", "Role of physiotherapist"],
bg=LTBLUE, title_color=NAVY))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Bacterium / Virus — 15 Marks",
["Introduction + Definition",
"Classification / Types",
"Morphology / Structure",
"Cultural Characteristics",
"Virulence Factors",
"Pathogenesis (step by step)",
"Clinical Features",
"Lab Diagnosis (culture, staining, serology)",
"Treatment / Prevention",
"Labeled Diagram (compulsory)",
"Physiotherapy Relevance",
"Conclusion"],
bg=LTBLUE, title_color=TEAL))
story.append(Spacer(1, 0.2*cm))
story.append(formula_box(
"Microbiology Master Order: M — C — V — P — C — L — T\n"
"Morphology | Culture | Virulence | Pathogenesis | Clinical | Lab Dx | Treatment",
bg=LTBLUE
))
story.append(PageBreak())
# ── EXERCISE THERAPY ─────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 3 — EXERCISE THERAPY", GREEN))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Exercise Type — 5 Marks\n(Isometric / Isotonic / Active / Passive)",
["Definition", "Types / Classification", "Technique / Method", "Indications", "Contraindications"],
"Muscle Strengthening — 5 Marks\n(PRE / DeLorme / Oxford)",
["Definition", "Principle", "Technique / Protocol", "Indications", "Contraindications"],
lbg=LTGREEN, rbg=LTBLUE, lc=GREEN, rc=TEAL
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Stretching — 5 Marks\n(Static / PNF / Ballistic)",
["Definition", "Types", "Technique", "Effects on muscle", "Indications"],
"ROM Exercises — 5 Marks\n(Active / Passive / AAROM)",
["Definition", "Types of ROM", "Technique", "Normal ROM values", "Indications"],
lbg=LTORANGE, rbg=LTPURPLE, lc=ORANGE, rc=PURPLE
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Breathing Exercise — 5 Marks",
["Definition", "Types", "Technique / Steps", "Physiological effects", "Indications"],
"Gait Training — 5 Marks",
["Definition", "Phases of gait", "Normal parameters", "Gait deviations", "Clinical use"],
lbg=LTGREEN, rbg=LTORANGE, lc=GREEN, rc=ORANGE
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Exercise Therapy — 15 Marks (Universal)",
["Introduction + Definition",
"Classification / Types",
"Principles",
"Technique / Method (step by step)",
"Physiological Effects",
"Indications",
"Contraindications",
"Precautions",
"Advantages / Disadvantages",
"Progression / Modification",
"Labeled Diagram",
"Clinical Application",
"Conclusion"],
bg=LTGREEN, title_color=GREEN))
story.append(Spacer(1, 0.2*cm))
story.append(formula_box(
"Exercise Therapy 5-Mark Formula: D — C — T — I — C\n"
"Definition | Classification | Technique | Indications | Contraindications",
bg=LTGREEN
))
story.append(PageBreak())
# ── ELECTROTHERAPY ────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 4 — ELECTROTHERAPY", ORANGE))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Modality — 5 Marks\n(TENS / IFT / US / SWD / IRR)",
["Definition", "Principle / Physics", "Technique / Application", "Indications", "Contraindications"],
"Modality — 15 Marks",
["Introduction + Definition", "Classification", "Principle / Physics", "Equipment / Apparatus", "Technique (step by step)", "Physiological effects", "Therapeutic effects", "Indications", "Contraindications", "Precautions", "Dosage", "Diagram", "Conclusion"],
lbg=LTORANGE, rbg=LTBLUE, lc=ORANGE, rc=TEAL
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"TENS — 5 Marks",
["Definition", "Types (conventional/acupuncture/burst)", "Principle (gate control)", "Indications", "Contraindications"],
"Ultrasound — 5 Marks",
["Definition", "Principle (piezoelectric effect)", "Thermal & non-thermal effects", "Indications", "Contraindications"],
lbg=LTORANGE, rbg=LTPURPLE, lc=ORANGE, rc=PURPLE
))
story.append(Spacer(1, 0.3*cm))
story.append(formula_box(
"Electrotherapy 5-Mark Formula: D — P — T — I — C\n"
"Definition | Principle | Technique | Indications | Contraindications",
bg=LTORANGE
))
story.append(PageBreak())
# ── ANATOMY ───────────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 5 — ANATOMY", PURPLE))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Joint — 5 Marks",
["Definition", "Classification / Type of joint", "Articular surfaces", "Movements", "Clinical significance"],
"Muscle — 5 Marks",
["Definition / Introduction", "Origin", "Insertion", "Nerve supply (action)", "Clinical significance"],
lbg=LTPURPLE, rbg=LTBLUE, lc=PURPLE, rc=TEAL
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Nerve — 5 Marks",
["Definition", "Origin / Course", "Branches", "Distribution / Supply", "Clinical significance / Injury"],
"Bone — 5 Marks",
["Definition / Introduction", "Type of bone", "Parts / Features", "Ossification", "Clinical significance"],
lbg=LTORANGE, rbg=LTGREEN, lc=ORANGE, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Anatomy — 15 Marks (Joint / Region)",
["Introduction",
"Bones / Articular surfaces",
"Type of joint",
"Ligaments",
"Muscles acting on joint (with nerve supply)",
"Blood supply",
"Nerve supply",
"Movements (with muscles responsible)",
"Relations",
"Applied anatomy / Clinical significance",
"Labeled Diagram (compulsory)",
"Conclusion"],
bg=LTPURPLE, title_color=PURPLE))
story.append(PageBreak())
# ── PHYSIOLOGY ────────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 6 — PHYSIOLOGY", TEAL))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Physiological Process — 5 Marks\n(Cardiac cycle / Nerve impulse etc.)",
["Definition", "Steps / Phases", "Mechanism", "Normal values / Parameters", "Clinical significance"],
"Hormone — 5 Marks",
["Definition", "Source / Gland", "Chemistry / Structure", "Actions / Functions", "Disorders (hypo/hypersecretion)"],
lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Reflex — 5 Marks",
["Definition", "Types", "Reflex arc components", "Example (knee jerk)", "Clinical significance"],
"Special Sense — 5 Marks",
["Definition", "Anatomy (brief)", "Mechanism / Physiology", "Types", "Clinical significance"],
lbg=LTORANGE, rbg=LTPURPLE, lc=ORANGE, rc=PURPLE
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Physiology — 15 Marks",
["Introduction + Definition",
"Anatomy (brief relevant anatomy)",
"Classification / Types",
"Mechanism / Physiology (detailed)",
"Phases / Steps",
"Normal values / Parameters",
"Regulation / Control",
"Factors affecting",
"Clinical significance / Disorders",
"Diagram / Flow chart",
"Applied physiology (PT relevance)",
"Conclusion"],
bg=LTBLUE, title_color=TEAL))
story.append(PageBreak())
# ── PATHOLOGY ────────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 7 — PATHOLOGY", colors.HexColor("#c0392b")))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Cell Injury / Necrosis — 5 Marks",
["Definition", "Types / Classification", "Causes", "Morphological changes", "Clinical significance"],
"Inflammation — 5 Marks",
["Definition", "Types (acute / chronic)", "Signs (5 cardinal signs)", "Cells involved", "Outcome / Significance"],
lbg=colors.HexColor("#fde8e8"), rbg=LTBLUE,
lc=colors.HexColor("#c0392b"), rc=TEAL
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Tumour / Neoplasm — 5 Marks",
["Definition", "Classification (benign/malignant)", "Differences (table)", "Spread / Metastasis", "Clinical significance"],
"Oedema — 5 Marks",
["Definition", "Types", "Causes / Pathogenesis", "Effects", "PT relevance"],
lbg=LTORANGE, rbg=LTGREEN, lc=ORANGE, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(section_box("Pathology — 15 Marks",
["Introduction + Definition",
"Classification / Types",
"Etiology / Causes",
"Pathogenesis (step by step)",
"Morphological changes (gross + microscopic)",
"Clinical features",
"Lab / Investigations",
"Complications",
"Prognosis",
"Diagram / Photomicrograph description",
"Physiotherapy relevance",
"Conclusion"],
bg=colors.HexColor("#fde8e8"), title_color=colors.HexColor("#c0392b")))
story.append(PageBreak())
# ── PHARMACOLOGY ─────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 8 — PHARMACOLOGY", colors.HexColor("#7b2d8b")))
story.append(Spacer(1, 0.3*cm))
story.append(two_col_boxes(
"Drug / Drug Group — 5 Marks",
["Definition / Introduction", "Classification", "Mechanism of action", "Uses / Indications", "Side effects / Contraindications"],
"Drug Group — 15 Marks",
["Introduction", "Classification (with examples)", "Mechanism of action", "Pharmacokinetics (ADME)", "Pharmacodynamics", "Therapeutic uses", "Side effects", "Contraindications", "Drug interactions", "Dosage / Route", "PT relevance", "Conclusion"],
lbg=LTPURPLE, rbg=LTBLUE, lc=PURPLE, rc=TEAL
))
story.append(Spacer(1, 0.3*cm))
story.append(formula_box(
"Pharmacology 5-Mark Formula: D — C — M — U — S\n"
"Definition | Classification | Mechanism | Uses | Side effects",
bg=LTPURPLE
))
story.append(PageBreak())
# ── GOLDEN RULES ─────────────────────────────────────────────────────────────
story.append(chapter_banner("SECTION 9 — GOLDEN RULES FOR ALL SUBJECTS", NAVY))
story.append(Spacer(1, 0.3*cm))
rules = [
["Underline all headings", "Makes answer structured and easy to scan for examiner"],
["Use bullet points", "For all lists — never write long paragraphs"],
["Draw labeled diagrams", "Compulsory for 15 marks, adds 1-2 marks in 5-mark answers"],
["Bold key terms", "Organism names, drug names, technical terms, values"],
["Add PT relevance", "Always end with physiotherapy link — examiners reward this"],
["Write mark breakup", "At start of 15-mark answer: e.g., [3+5+7]"],
["Neat presentation", "Clean handwriting + margins = better impression"],
["No blank spaces", "Fill purposefully — use flow charts if running short"],
["Start fresh page", "Begin each long answer on a new page"],
["Time management", "2 min/mark — 10 min for 5, 25 min for 15-mark answer"],
]
header = [Paragraph('<b>Rule</b>', S('RH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold')),
Paragraph('<b>Why it matters</b>', S('RH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold'))]
rule_data = [header]
for r in rules:
rule_data.append([Paragraph(r[0], body), Paragraph(r[1], body)])
rt = Table(rule_data, colWidths=[5*cm, 12*cm])
rt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, NAVY),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(rt)
story.append(Spacer(1, 0.5*cm))
# Final formula summary
story.append(Paragraph("Quick Formula Summary", sec_title))
formulas = [
("Microbiology", "M — C — V — P — C — L — T",
"Morphology | Culture | Virulence | Pathogenesis | Clinical | Lab Dx | Treatment"),
("Exercise Therapy","D — C — T — I — C",
"Definition | Classification | Technique | Indications | Contraindications"),
("Electrotherapy", "D — P — T — I — C",
"Definition | Principle | Technique | Indications | Contraindications"),
("Pharmacology", "D — C — M — U — S",
"Definition | Classification | Mechanism | Uses | Side effects"),
("Universal 5-Mark","D — C — K — D — R",
"Definition | Classification | Key points | Diagram | Relevance"),
]
for subj, abbr, full in formulas:
fdata = [[
Paragraph(f"<b>{subj}</b>", S('FS', fontSize=9, textColor=WHITE,
fontName='Helvetica-Bold', leading=12)),
Paragraph(f"<b>{abbr}</b>", S('FA', fontSize=9, textColor=NAVY,
fontName='Helvetica-Bold', leading=12)),
Paragraph(full, S('FF', fontSize=8.5, textColor=DARKGREY,
fontName='Helvetica', leading=12)),
]]
ft = Table(fdata, colWidths=[3.5*cm, 4.5*cm, 9*cm])
ft.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), TEAL),
('BACKGROUND', (1,0), (1,0), LTBLUE),
('BACKGROUND', (2,0), (2,0), GREY),
('BOX', (0,0), (-1,-1), 0.5, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
story.append(ft)
story.append(Spacer(1, 0.1*cm))
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph(
"Best of luck in your BPT examinations! Follow these formats consistently and you will write structured, high-scoring answers.",
S('Final', fontSize=10, textColor=NAVY, fontName='Helvetica-Bold',
alignment=TA_CENTER, leading=14)
))
# ── BUILD ────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
cd /tmp/workspace/bpt-pdf && python create_bpt_pdf.py
ls -lh /tmp/workspace/bpt-pdf/BPT_Answer_Writing_Formats.pdf
BPT Answer Writing Formats
PDF Document · PDF
| Section | Content |
|---|---|
| 1 | Universal Marks Format (2 / 5 / 10 / 15 marks) |
| 2 | Microbiology - all topic types |
| 3 | Exercise Therapy - all topic types |
| 4 | Electrotherapy - modalities format |
| 5 | Anatomy - joint / muscle / nerve / bone |
| 6 | Physiology - process / hormone / reflex |
| 7 | Pathology - cell injury / inflammation / tumour |
| 8 | Pharmacology - drug / drug group format |
| 9 | Golden Rules + Quick Formula Summary |
Create a PDF summary of answer writing formats for all BPT subjects
BPT Answer Writing Formats
PDF Document · PDF
| Section | Subject |
|---|---|
| 1 | Universal Format — 2 / 5 / 10 / 15 marks |
| 2 | Microbiology |
| 3 | Exercise Therapy |
| 4 | Electrotherapy |
| 5 | Anatomy |
| 6 | Physiology |
| 7 | Pathology |
| 8 | Pharmacology |
| 9 | Golden Rules + Formula Summary |
What is the format for biomechanics
1. Definition
2. Example / Key point
1. Definition
2. Types / Classification
3. Formula / Equation (if any)
4. Diagram
5. Clinical / PT application
1. Definition / Introduction
2. Joint structure (brief)
3. Forces acting on joint
4. Movements and axes
5. Clinical significance / PT relevance
1. Definition
2. Phases (brief)
3. Forces involved
4. Normal parameters / Values
5. Clinical significance
1. Definition
2. Types / Relationship
3. Mechanism / Graph
4. Factors affecting
5. Clinical significance
1. Definition
2. Types of levers (Class I, II, III)
3. Components (fulcrum, effort, load)
4. Example in human body
5. Diagram
1. Definition
2. Line of gravity / Centre of gravity
3. Normal posture alignment
4. Postural deviations
5. PT significance
1. Introduction + Definition
2. Classification / Types
3. Formula / Equation
4. Laws / Principles involved
5. Mechanism (detailed)
6. Factors affecting
7. Normal values / Parameters
8. Application in human body
9. Diagram / Graph
10. PT application / Clinical use
11. Advantages / Limitations
12. Conclusion
1. Introduction
2. Anatomy (brief - bones, joints)
3. Type of joint
4. Axes and planes of movement
5. Forces acting on joint
- Body weight
- Muscle force
- Ground reaction force
6. Joint reaction force
7. Movements and range
8. Kinematics (motion analysis)
9. Kinetics (force analysis)
10. Gait biomechanics of joint
11. Diagram (labeled)
12. Clinical significance / PT relevance
13. Conclusion
1. Introduction + Definition
2. Gait cycle (stance + swing phase)
3. Sub-phases of gait
4. Kinematics of gait
5. Kinetics of gait
6. Ground reaction forces
7. Centre of pressure
8. Muscle activity during gait
9. Normal gait parameters (table)
10. Gait deviations
11. Diagram
12. PT application
13. Conclusion
1. Introduction
2. Types of muscle contraction
3. Length-tension relationship
4. Force-velocity relationship
5. Muscle force production
6. Moment arm / Torque
7. Open vs closed chain
8. Factors affecting muscle force
9. Electromyography (EMG) brief
10. Diagram / Graph
11. PT clinical application
12. Conclusion
| Topic | Order |
|---|---|
| Force / Torque / Lever | Definition → Types → Formula → Diagram → Application |
| Joint Biomechanics | Definition → Structure → Forces → Movements → PT relevance |
| Gait | Definition → Phases → Forces → Parameters → Clinical use |
| Muscle | Definition → Relationship → Mechanism → Factors → Significance |
| Posture | Definition → COG/LOG → Normal → Deviations → PT significance |
| Kinematics | Definition → Types → Planes/Axes → Measurement → Application |
| Kinetics | Definition → Types of force → Newton's laws → Application → PT use |
| Topic | Must-mention terms |
|---|---|
| Force & Motion | Newton's laws, vectors, magnitude, direction |
| Lever | Fulcrum, effort arm, load arm, mechanical advantage |
| Joint | Kinematics, kinetics, joint reaction force, moment arm |
| Gait | Stance phase, swing phase, GRF, COG, double support |
| Muscle | Sarcomere, length-tension, force-velocity, EMG |
| Posture | COG, LOG, BOS (base of support), plumb line |
D — C — F — D — A Definition | Classification | Formula/Mechanism | Diagram | Application
I — C — P — M — F — A — D — PT — Con Intro | Classification | Principles | Mechanism | Factors | Application | Diagram | PT relevance | Conclusion
Send the format as pdf
ls /tmp/workspace/bpt-pdf/
~/bpt-pdf/create_biomechanics_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT
OUTPUT = "/tmp/workspace/bpt-pdf/BPT_Biomechanics_Answer_Format.pdf"
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm
)
# ── Colours ──────────────────────────────────────────────────────────────────
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#0077b6")
LTBLUE = colors.HexColor("#caf0f8")
ORANGE = colors.HexColor("#e07b39")
LTORANGE = colors.HexColor("#fff3e0")
GREEN = colors.HexColor("#2d6a4f")
LTGREEN = colors.HexColor("#d8f3dc")
PURPLE = colors.HexColor("#5a189a")
LTPURPLE = colors.HexColor("#f3e8ff")
GREY = colors.HexColor("#f0f4f8")
DARK = colors.HexColor("#444444")
WHITE = colors.white
RED = colors.HexColor("#c0392b")
LTRED = colors.HexColor("#fde8e8")
# ── Styles ────────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, parent=styles['Normal'], **kw)
title_s = S('T', fontSize=24, textColor=WHITE, alignment=TA_CENTER,
fontName='Helvetica-Bold', leading=30, spaceAfter=4)
sub_s = S('Su', fontSize=11, textColor=LTBLUE, alignment=TA_CENTER,
fontName='Helvetica', spaceAfter=2)
ch_s = S('Ch', fontSize=14, textColor=WHITE, alignment=TA_CENTER,
fontName='Helvetica-Bold', leading=18)
sec_s = S('Se', fontSize=12, textColor=NAVY, fontName='Helvetica-Bold',
spaceBefore=10, spaceAfter=4)
body_s = S('Bo', fontSize=9, textColor=DARK, fontName='Helvetica',
leading=14, spaceAfter=2)
step_s = S('St', fontSize=9, textColor=colors.black, fontName='Helvetica',
leading=13, leftIndent=10, spaceAfter=1)
note_s = S('No', fontSize=8.5, textColor=GREEN, fontName='Helvetica-Oblique',
leading=12, leftIndent=8, spaceAfter=4)
form_s = S('Fo', fontSize=10, textColor=PURPLE, fontName='Helvetica-Bold',
alignment=TA_CENTER, leading=15, spaceAfter=4)
small_s = S('Sm', fontSize=8.5, textColor=DARK, fontName='Helvetica', leading=12)
# ── Helpers ───────────────────────────────────────────────────────────────────
def banner(text, color=NAVY):
t = Table([[Paragraph(text, ch_s)]], colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), color),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
('LEFTPADDING', (0,0), (-1,-1), 14),
]))
return t
def box(title, steps, bg=GREY, tc=NAVY):
hdr = [[Paragraph(title, S('BH', fontSize=10, textColor=WHITE,
fontName='Helvetica-Bold', leading=13))]]
ht = Table(hdr, colWidths=[16.4*cm])
ht.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), tc),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
]))
rows = [[ht]]
for i, s in enumerate(steps, 1):
rows.append([Paragraph(f"<b>{i}.</b> {s}", step_s)])
t = Table(rows, colWidths=[16.4*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,1), (-1,-1), bg),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 6),
('BOX', (0,0), (-1,-1), 0.5, tc),
('LINEBELOW', (0,0), (0,0), 0.5, tc),
]))
return t
def two_col(lt, ls, rt, rs, lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN):
def cell(title, steps, bg, tc):
lines = [Paragraph(f"<b>{title}</b>",
S('C2', fontSize=9.5, textColor=WHITE,
fontName='Helvetica-Bold', leading=13))]
for i, s in enumerate(steps, 1):
lines.append(Paragraph(f"<b>{i}.</b> {s}", step_s))
inner = [[l] for l in lines]
t = Table(inner, colWidths=[7.8*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), tc),
('BACKGROUND', (0,1), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 0.5, tc),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 6),
]))
return t
row = [[cell(lt, ls, lbg, lc), cell(rt, rs, rbg, rc)]]
outer = Table(row, colWidths=[8.1*cm, 8.1*cm], hAlign='LEFT')
outer.setStyle(TableStyle([
('VALIGN', (0,0), (-1,-1), 'TOP'),
('LEFTPADDING', (0,0), (-1,-1), 0),
('RIGHTPADDING', (0,0), (-1,-1), 4),
]))
return outer
def formula_box(text, bg=LTPURPLE, bc=PURPLE):
t = Table([[Paragraph(text, form_s)]], colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 1.2, bc),
('TOPPADDING', (0,0), (-1,-1), 9),
('BOTTOMPADDING', (0,0), (-1,-1), 9),
]))
return t
def hr():
return HRFlowable(width="100%", thickness=0.4,
color=colors.HexColor("#cccccc"), spaceAfter=5)
# ════════════════════════════════════════════════════════════════════════════
story = []
# ── COVER ─────────────────────────────────────────────────────────────────────
cover = Table([[Paragraph(
"BPT — Biomechanics<br/>Answer Writing Format", title_s)]],
colWidths=[17*cm])
cover.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), NAVY),
('TOPPADDING', (0,0), (-1,-1), 30),
('BOTTOMPADDING', (0,0), (-1,-1), 30),
('LEFTPADDING', (0,0), (-1,-1), 16),
('RIGHTPADDING', (0,0), (-1,-1), 16),
]))
story.append(cover)
story.append(Spacer(1, 0.3*cm))
sub = Table([[Paragraph(
"BPT 2nd Year | 2 Marks | 5 Marks | 15 Marks | All Topic Types",
sub_s)]], colWidths=[17*cm])
sub.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), TEAL),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
]))
story.append(sub)
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph(
"This guide covers the exact order of headings to write for every Biomechanics "
"question type in BPT university examinations. Follow these formats consistently "
"to write structured, high-scoring answers.",
body_s))
story.append(Spacer(1, 0.5*cm))
# ── SECTION 1: MARKS OVERVIEW ─────────────────────────────────────────────────
story.append(banner("SECTION 1 — MARKS OVERVIEW", NAVY))
story.append(Spacer(1, 0.3*cm))
hdr = [Paragraph(f"<b>{h}</b>",
S('MH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold'))
for h in ["Marks", "Length", "Time", "Format"]]
rows = [hdr,
[Paragraph("2 Marks", body_s), Paragraph("4–6 lines", body_s), Paragraph("3–4 min", body_s), Paragraph("Definition → Key point → Example", body_s)],
[Paragraph("5 Marks", body_s), Paragraph("1–1.5 pages", body_s), Paragraph("8–10 min", body_s), Paragraph("Definition → Classification → Formula/Mech → Diagram → Application", body_s)],
[Paragraph("15 Marks", body_s), Paragraph("4–5 pages", body_s), Paragraph("20–25 min",body_s), Paragraph("Intro → Classification → Principles → Mechanism → Factors → Application → Diagram → PT relevance → Conclusion", body_s)],
]
mt = Table(rows, colWidths=[2.2*cm, 3*cm, 2.8*cm, 9*cm])
mt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, NAVY),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 6),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(mt)
story.append(Spacer(1, 0.4*cm))
# 2-mark box
story.append(box("2-Mark Format",
["Definition (1–2 lines)", "Key feature / Example", "One clinical point"],
bg=LTBLUE, tc=TEAL))
story.append(Spacer(1, 0.3*cm))
# ── SECTION 2: 5-MARK FORMATS ────────────────────────────────────────────────
story.append(banner("SECTION 2 — 5-MARK FORMATS (BY TOPIC TYPE)", TEAL))
story.append(Spacer(1, 0.3*cm))
story.append(two_col(
"Concept / Principle\n(Force, Torque, Lever, COG)",
["Definition", "Types / Classification",
"Formula / Equation (if any)", "Diagram",
"Clinical / PT application"],
"Joint Biomechanics\n(Knee, Hip, Shoulder, Spine)",
["Definition / Introduction", "Joint structure (brief)",
"Forces acting on joint", "Movements and axes",
"Clinical significance / PT relevance"],
lbg=LTBLUE, rbg=LTGREEN, lc=TEAL, rc=GREEN
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col(
"Gait Biomechanics\n(GRF, Gait cycle, Phases)",
["Definition", "Phases (brief)",
"Forces involved", "Normal parameters / Values",
"Clinical significance"],
"Muscle Biomechanics\n(Length-tension, Force-velocity)",
["Definition", "Types / Relationship",
"Mechanism / Graph", "Factors affecting",
"Clinical significance"],
lbg=LTORANGE, rbg=LTPURPLE, lc=ORANGE, rc=PURPLE
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col(
"Lever System\n(Class I, II, III)",
["Definition", "Types of levers (Class I, II, III)",
"Components (fulcrum, effort, load)",
"Example in human body", "Diagram"],
"Posture Biomechanics\n(COG, LOG, BOS)",
["Definition", "Line of gravity / Centre of gravity",
"Normal posture alignment",
"Postural deviations", "PT significance"],
lbg=LTGREEN, rbg=LTORANGE, lc=GREEN, rc=ORANGE
))
story.append(Spacer(1, 0.3*cm))
story.append(two_col(
"Kinematics\n(Motion, Planes, Axes)",
["Definition", "Types (linear / angular)",
"Planes and axes of movement",
"Measurement tools (goniometer)",
"PT application"],
"Kinetics\n(Forces, Newton's laws)",
["Definition", "Types of forces",
"Newton's three laws (with examples)",
"Moments / Torque",
"PT clinical application"],
lbg=LTBLUE, rbg=LTRED, lc=TEAL, rc=RED
))
story.append(Spacer(1, 0.3*cm))
story.append(formula_box(
"5-Mark Universal Formula: D — C — F — D — A\n"
"Definition | Classification | Formula / Mechanism | Diagram | Application",
bg=LTPURPLE, bc=PURPLE
))
story.append(PageBreak())
# ── SECTION 3: 15-MARK FORMATS ───────────────────────────────────────────────
story.append(banner("SECTION 3 — 15-MARK FORMATS (BY TOPIC TYPE)", GREEN))
story.append(Spacer(1, 0.3*cm))
story.append(box("Concept / Principle — 15 Marks\n(Force, Torque, Lever, Newton's Laws, COG)",
["Introduction + Definition",
"Classification / Types",
"Formula / Equation (with units)",
"Laws / Principles involved",
"Mechanism (detailed)",
"Factors affecting",
"Normal values / Parameters",
"Application in human body (examples)",
"Diagram / Graph (labeled)",
"PT application / Clinical use",
"Advantages / Limitations",
"Conclusion"],
bg=LTBLUE, tc=TEAL))
story.append(Spacer(1, 0.3*cm))
story.append(box("Joint Biomechanics — 15 Marks\n(Knee / Hip / Shoulder / Spine / Ankle)",
["Introduction",
"Anatomy (brief — bones, joint type)",
"Axes and planes of movement",
"Forces acting on joint (body weight, muscle force, GRF)",
"Joint reaction force",
"Kinematics (motion analysis — ROM, velocity)",
"Kinetics (force analysis — torque, moment arm)",
"Gait biomechanics of that joint",
"Muscles acting and their biomechanical role",
"Normal values / Parameters",
"Labeled Diagram (compulsory)",
"Clinical significance / PT relevance",
"Conclusion"],
bg=LTGREEN, tc=GREEN))
story.append(Spacer(1, 0.3*cm))
story.append(box("Gait Biomechanics — 15 Marks",
["Introduction + Definition",
"Gait cycle (stance phase + swing phase)",
"Sub-phases of gait (initial contact, loading response, mid-stance, etc.)",
"Kinematics of gait (joint angles, ROM during gait)",
"Kinetics of gait (forces, moments)",
"Ground Reaction Force (GRF) — vertical, horizontal, mediolateral",
"Centre of pressure (COP)",
"Muscle activity during each phase",
"Normal gait parameters (table — cadence, step length, velocity)",
"Gait deviations and causes",
"Diagram (gait cycle diagram)",
"PT application / Gait re-education",
"Conclusion"],
bg=LTORANGE, tc=ORANGE))
story.append(Spacer(1, 0.3*cm))
story.append(box("Muscle Biomechanics — 15 Marks",
["Introduction + Definition",
"Types of muscle contraction (isometric, isotonic, isokinetic)",
"Muscle architecture (pennation angle, PCSA)",
"Length-tension relationship (active + passive)",
"Force-velocity relationship",
"Muscle torque and moment arm",
"Open kinetic chain vs closed kinetic chain",
"Electromyography (EMG) — brief",
"Factors affecting muscle force production",
"Diagram / Graph (length-tension curve)",
"PT clinical application",
"Conclusion"],
bg=LTPURPLE, tc=PURPLE))
story.append(PageBreak())
story.append(banner("SECTION 3 — 15-MARK FORMATS (CONTINUED)", GREEN))
story.append(Spacer(1, 0.3*cm))
story.append(box("Lever System — 15 Marks",
["Introduction + Definition",
"Components of lever (fulcrum, effort, load, effort arm, load arm)",
"Mechanical advantage — formula and significance",
"Class I lever — definition, example in body, diagram",
"Class II lever — definition, example in body, diagram",
"Class III lever — definition, example in body, diagram",
"Comparison table (Class I vs II vs III)",
"Velocity ratio",
"Practical examples in human movement",
"Diagram (all three classes labeled)",
"PT clinical application",
"Conclusion"],
bg=LTBLUE, tc=TEAL))
story.append(Spacer(1, 0.3*cm))
story.append(box("Posture Biomechanics — 15 Marks",
["Introduction + Definition",
"Types of posture (static / dynamic)",
"Centre of gravity (COG) — definition, location in body",
"Line of gravity (LOG) — definition, direction",
"Base of support (BOS) — definition, significance",
"Normal posture (anterior, posterior, lateral view)",
"Factors affecting posture",
"Postural deviations (kyphosis, lordosis, scoliosis)",
"Effects of poor posture",
"Postural assessment methods",
"Corrective exercises",
"Diagram (plumb line / normal posture)",
"Conclusion"],
bg=LTGREEN, tc=GREEN))
story.append(PageBreak())
# ── SECTION 4: TOPIC-WISE 5-MARK ORDER TABLE ─────────────────────────────────
story.append(banner("SECTION 4 — TOPIC-WISE 5-MARK ORDER (QUICK REFERENCE)", NAVY))
story.append(Spacer(1, 0.3*cm))
th = [Paragraph(f"<b>{h}</b>",
S('TH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold'))
for h in ["Topic", "Writing Order (5 Marks)"]]
tdata = [th]
rows5 = [
("Force / Torque / Lever", "Definition → Types → Formula → Diagram → Application"),
("Joint Biomechanics", "Definition → Structure → Forces → Movements → PT relevance"),
("Gait", "Definition → Phases → Forces → Parameters → Clinical use"),
("Muscle Biomechanics", "Definition → Relationship → Mechanism → Factors → Significance"),
("Posture", "Definition → COG/LOG → Normal → Deviations → PT significance"),
("Kinematics", "Definition → Types → Planes/Axes → Measurement → Application"),
("Kinetics", "Definition → Types of force → Newton's laws → Application → PT use"),
("Lever System", "Definition → Types → Components → Body example → Diagram"),
("Open/Closed Kinetic Chain","Definition → Differences → Examples → Effects → PT use"),
("Friction", "Definition → Types → Coefficient → Examples in gait → Significance"),
]
for t, o in rows5:
tdata.append([Paragraph(t, body_s), Paragraph(o, body_s)])
tt = Table(tdata, colWidths=[4.5*cm, 12.5*cm])
tt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, NAVY),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(tt)
story.append(Spacer(1, 0.4*cm))
# ── SECTION 5: KEY TERMS TABLE ────────────────────────────────────────────────
story.append(banner("SECTION 5 — KEY TERMS TO INCLUDE (BY TOPIC)", TEAL))
story.append(Spacer(1, 0.3*cm))
kth = [Paragraph(f"<b>{h}</b>",
S('KH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold'))
for h in ["Topic", "Must-Mention Key Terms"]]
kdata = [kth]
krows = [
("Force & Motion", "Newton's laws, vectors, scalar, magnitude, direction, resultant"),
("Lever", "Fulcrum, effort arm, load arm, mechanical advantage, velocity ratio"),
("Joint", "Kinematics, kinetics, joint reaction force, moment arm, torque"),
("Gait", "Stance phase, swing phase, GRF, COG, double support, cadence, step length"),
("Muscle", "Sarcomere, length-tension, force-velocity, EMG, PCSA, pennation"),
("Posture", "COG, LOG, BOS (base of support), plumb line, stability"),
("Kinematics", "Displacement, velocity, acceleration, angular motion, planes, axes"),
("Kinetics", "Force, mass, inertia, momentum, torque, friction, pressure"),
]
for t, k in krows:
kdata.append([Paragraph(t, body_s), Paragraph(k, body_s)])
kt = Table(kdata, colWidths=[3.5*cm, 13.5*cm])
kt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), TEAL),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(kt)
story.append(Spacer(1, 0.4*cm))
# ── SECTION 6: FORMULA SUMMARY ───────────────────────────────────────────────
story.append(banner("SECTION 6 — FORMULA SUMMARY", PURPLE))
story.append(Spacer(1, 0.3*cm))
story.append(formula_box(
"5-Mark Formula: D — C — F — D — A\n"
"Definition | Classification | Formula/Mechanism | Diagram | Application",
bg=LTPURPLE, bc=PURPLE
))
story.append(Spacer(1, 0.2*cm))
story.append(formula_box(
"15-Mark Formula: I — C — P — M — F — A — D — PT — Con\n"
"Intro | Classification | Principles | Mechanism | Factors | Application | Diagram | PT relevance | Conclusion",
bg=LTBLUE, bc=TEAL
))
story.append(Spacer(1, 0.3*cm))
# ── SECTION 7: GOLDEN RULES ──────────────────────────────────────────────────
story.append(banner("SECTION 7 — GOLDEN RULES FOR BIOMECHANICS EXAM", ORANGE))
story.append(Spacer(1, 0.3*cm))
grh = [Paragraph(f"<b>{h}</b>",
S('GH', fontSize=9, textColor=WHITE, fontName='Helvetica-Bold'))
for h in ["Rule", "Detail"]]
grdata = [grh]
grules = [
("Always draw diagrams", "Lever diagrams, gait cycle, force diagrams — carry 2–3 marks"),
("Use formulas", "Write the formula first, then explain each variable"),
("Give body examples", "Every concept must have a real human body example"),
("Use tables", "Comparison tables (kinematics vs kinetics, lever classes) save time"),
("Mention normal values", "Gait parameters — cadence 90–120 steps/min, step length 35–41 cm"),
("Draw axes & planes", "Always label sagittal / frontal / transverse planes in movement answers"),
("PT relevance last", "End every answer with how biomechanics applies to physiotherapy"),
("Underline headings", "Structured answers score more than dense paragraphs"),
("Write mark breakup", "At top of 15-mark answer: e.g., [3 + 5 + 7]"),
("Time: 2 min per mark", "5 marks = 10 min, 15 marks = 25 min — stick to this"),
]
for r, d in grules:
grdata.append([Paragraph(r, body_s), Paragraph(d, body_s)])
grt = Table(grdata, colWidths=[4.5*cm, 12.5*cm])
grt.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), ORANGE),
('ROWBACKGROUNDS',(0,1), (-1,-1), [WHITE, GREY]),
('BOX', (0,0), (-1,-1), 0.5, ORANGE),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story.append(grt)
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph(
"Best of luck in your BPT Biomechanics examination! "
"Follow these formats consistently for structured, high-scoring answers.",
S('Final', fontSize=10, textColor=NAVY, fontName='Helvetica-Bold',
alignment=TA_CENTER, leading=14)
))
doc.build(story)
print(f"PDF created: {OUTPUT}")
cd /tmp/workspace/bpt-pdf && python create_biomechanics_pdf.py
ls -lh /tmp/workspace/bpt-pdf/
BPT Biomechanics Answer Format
PDF Document · PDF
| Section | Content |
|---|---|
| 1 | Marks overview — 2 / 5 / 15 marks at a glance |
| 2 | 5-Mark formats for all topic types |
| 3 | 15-Mark formats for all topic types |
| 4 | Topic-wise 5-mark quick reference table |
| 5 | Key terms to include per topic |
| 6 | Formula summary (5-mark + 15-mark shortcuts) |
| 7 | Golden rules for Biomechanics exam |
1. Supination/Pronation twist (all forms) 2. Osteokinematics & Arthrokinematics 3. Determinants / Parameters of gait 4. Scapulo-humeral rhythm 5. Meniscus / Functions of menisci 6. Bursae around knee joint 7. Ligamentum flavum 8. Sliding filament theory 9. Linear force system 10. Sensory receptors (muscle) 11. TFCC (Triangular Fibro-Cartilage Complex) 12. Patello-femoral joint reaction force 13. Composition of connective tissue 14. Loading of the foot 15. Arches of foot & its biomechanics 16. Pelvic tilt 17. Scoliosis 18. Load deformation curve 19. Grip and grasp / Power grip 20. Active & Passive insufficiency 21. Angles of hip joint 22. Anterior cruciate ligament (ACL) 23. Supra humeral arch 24. Ideal / Optimal posture 25. Anatomical pulleys / Patella as anatomical pulley 26. Pivot joint 27. Importance of angles/curves in femur 28. Extensor mechanism / Expansion of wrist & fingers 29. Shoulder joint stability / Static stabilization 30. Factors affecting muscle functions Send the answer for these 5 mark questions in pdf
~/bpt-pdf/biomechanics_answers.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/tmp/workspace/bpt-pdf/BPT_Biomechanics_5Mark_Answers.pdf"
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm
)
# ── Colours ──────────────────────────────────────────────────────────────────
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#0077b6")
LTBLUE = colors.HexColor("#caf0f8")
ORANGE = colors.HexColor("#e07b39")
LTORANGE= colors.HexColor("#fff3e0")
GREEN = colors.HexColor("#2d6a4f")
LTGREEN = colors.HexColor("#d8f3dc")
PURPLE = colors.HexColor("#5a189a")
LTPURPLE= colors.HexColor("#f3e8ff")
GREY = colors.HexColor("#f0f4f8")
DARK = colors.HexColor("#333333")
WHITE = colors.white
RED = colors.HexColor("#c0392b")
LTRED = colors.HexColor("#fde8e8")
GOLD = colors.HexColor("#b8860b")
LTGOLD = colors.HexColor("#fffacd")
# ── Styles ────────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, parent=styles['Normal'], **kw)
title_s = S('T', fontSize=22, textColor=WHITE, alignment=TA_CENTER,
fontName='Helvetica-Bold', leading=28, spaceAfter=4)
sub_s = S('Su', fontSize=10, textColor=LTBLUE, alignment=TA_CENTER,
fontName='Helvetica', spaceAfter=2)
qnum_s = S('QN', fontSize=11, textColor=WHITE, fontName='Helvetica-Bold',
leading=15)
qtitle_s = S('QT', fontSize=11, textColor=WHITE, fontName='Helvetica-Bold',
leading=15)
head_s = S('Hd', fontSize=9.5, textColor=TEAL, fontName='Helvetica-Bold',
spaceBefore=5, spaceAfter=2, leading=13)
body_s = S('Bo', fontSize=9, textColor=DARK, fontName='Helvetica',
leading=14, spaceAfter=1)
bullet_s = S('Bu', fontSize=9, textColor=DARK, fontName='Helvetica',
leading=13, leftIndent=12, spaceAfter=1)
note_s = S('No', fontSize=8.5, textColor=GREEN, fontName='Helvetica-Oblique',
leading=12, leftIndent=8, spaceAfter=3)
# ── Helpers ───────────────────────────────────────────────────────────────────
def banner(text, color=NAVY):
t = Table([[Paragraph(text, S('Bn', fontSize=13, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_CENTER,
leading=17))]],
colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), color),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
]))
return t
def q_header(num, title, color=NAVY):
row = [[
Paragraph(f"Q{num}.", qnum_s),
Paragraph(title, qtitle_s)
]]
t = Table(row, colWidths=[1.1*cm, 15.9*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), color),
('TOPPADDING', (0,0), (-1,-1), 6),
('BOTTOMPADDING', (0,0), (-1,-1), 6),
('LEFTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
return t
def section(title):
return Paragraph(title, head_s)
def pt(text):
return Paragraph(text, body_s)
def bp(text):
return Paragraph(f"• {text}", bullet_s)
def note(text):
return Paragraph(f"★ PT Relevance: {text}", note_s)
def sp(h=0.15):
return Spacer(1, h*cm)
def hr():
return HRFlowable(width="100%", thickness=0.4,
color=colors.HexColor("#bbbbbb"), spaceAfter=4)
# colour cycle for question headers
COLORS = [NAVY, TEAL, GREEN, ORANGE, PURPLE, RED, colors.HexColor("#0d6e8a"),
colors.HexColor("#7b3f00"), colors.HexColor("#1b4332"),
colors.HexColor("#4a0e8f")]
def qc(n):
return COLORS[(n-1) % len(COLORS)]
# ════════════════════════════════════════════════════════════════════════════
# ALL 30 ANSWERS
# ════════════════════════════════════════════════════════════════════════════
questions = []
# Each entry: (number, title, content_builder_function)
def q1():
return [
section("Definition"),
pt("Supination and pronation are rotational movements of the forearm occurring at the proximal and distal radio-ulnar joints."),
section("Forms of Supination / Pronation"),
bp("<b>Forearm Supination:</b> Rotation of radius over ulna so palm faces upward (anteriorly). Range: 0–90°."),
bp("<b>Forearm Pronation:</b> Rotation of radius over ulna so palm faces downward (posteriorly). Range: 0–90°."),
bp("<b>Subtalar Supination:</b> Combined inversion + adduction + plantarflexion of foot."),
bp("<b>Subtalar Pronation:</b> Combined eversion + abduction + dorsiflexion of foot."),
bp("<b>Forearm twist mechanism:</b> Radius rotates around the fixed ulna; head of radius spins in annular ligament proximally and pivots at DRUJ distally."),
section("Muscles Responsible"),
bp("Supination: Supinator, Biceps brachii (most powerful when elbow flexed 90°)."),
bp("Pronation: Pronator teres, Pronator quadratus."),
section("Clinical / PT Relevance"),
note("Loss of forearm rotation affects activities of daily living (eating, writing). Assessed with goniometer; strengthened via resisted rotation exercises."),
]
def q2():
return [
section("Definition"),
pt("Osteokinematics refers to the motion of bones in space (visible limb movement). Arthrokinematics refers to the motion occurring between joint surfaces (accessory joint motion)."),
section("Osteokinematics"),
bp("Describes movement of a bone's shaft through space — flexion, extension, abduction, adduction, rotation."),
bp("Occurs in sagittal, frontal, and transverse planes around coronal, sagittal, and vertical axes."),
bp("Measured with goniometer."),
section("Arthrokinematics — Joint Surface Motions"),
bp("<b>Roll:</b> Multiple points on one surface contact multiple points on the other (like a wheel rolling). Direction same as bone movement."),
bp("<b>Slide (Glide):</b> One point on moving surface contacts multiple points on fixed surface. Direction depends on concave-convex rule."),
bp("<b>Spin:</b> Rotation of moving surface around a stationary axis (e.g., radial head spin)."),
section("Concave-Convex Rule"),
bp("Convex surface on concave: slide is OPPOSITE to bone movement."),
bp("Concave on convex: slide is in SAME direction as bone movement."),
note("Understanding arthrokinematics is essential for joint mobilization techniques (Maitland, Kaltenborn) in physiotherapy."),
]
def q3():
return [
section("Definition"),
pt("Gait parameters (determinants) are the biomechanical elements that minimize vertical displacement of COG during walking, reducing energy expenditure."),
section("Six Classic Determinants of Gait (Saunders et al.)"),
bp("<b>1. Pelvic rotation:</b> Pelvis rotates ~4° each side; increases step length, reduces COG drop."),
bp("<b>2. Pelvic tilt (lateral):</b> Hip drops ~5° on swing side; smoothens arc of COG."),
bp("<b>3. Knee flexion in stance:</b> 15° knee flexion at mid-stance absorbs COG rise."),
bp("<b>4. Foot and ankle mechanisms:</b> Heel rocker, ankle rocker, forefoot rocker smooth forward progression."),
bp("<b>5. Knee-ankle-foot interaction:</b> Coordinated motion reduces abrupt COG shifts."),
bp("<b>6. Lateral displacement of COG:</b> Physiological valgus + tibial torsion keep COG near midline."),
section("Normal Gait Parameters"),
bp("Cadence: 90–120 steps/min | Step length: 35–41 cm | Stride length: 1.4–1.6 m | Walking speed: 1.2–1.4 m/s | Stance: 60%, Swing: 40%."),
note("Gait analysis identifies deviations; gait re-education is a core PT intervention in neuro and ortho conditions."),
]
def q4():
return [
section("Definition"),
pt("Scapulohumeral rhythm is the coordinated movement between the scapula and humerus during shoulder abduction, ensuring smooth full-range elevation."),
section("Ratio"),
bp("For every 3° of shoulder abduction: 2° occurs at glenohumeral (GH) joint + 1° occurs at scapulothoracic (ST) joint."),
bp("Total 180° abduction = 120° GH + 60° ST."),
section("Phases"),
bp("<b>Phase 1 (0–30°):</b> Predominantly GH motion; scapula relatively fixed (setting phase)."),
bp("<b>Phase 2 (30–180°):</b> Combined GH + ST movement in 2:1 ratio."),
section("Muscles Responsible"),
bp("GH abduction: Supraspinatus (initiates), Deltoid (middle)."),
bp("Scapular upward rotation: Serratus anterior (lower angle), Upper + Lower trapezius (force couple)."),
section("Clinical Significance"),
bp("Disrupted rhythm → impingement syndrome, rotator cuff pathology."),
bp("Scapular dyskinesia leads to shoulder pain and instability."),
note("PT assesses rhythm with visual observation; scapular stabilization exercises restore normal rhythm."),
]
def q5():
return [
section("Definition"),
pt("Menisci are C-shaped (semilunar) fibrocartilaginous discs located within the knee joint between femoral condyles and tibial plateau."),
section("Types"),
bp("<b>Medial meniscus:</b> C-shaped, less mobile, firmly attached to MCL."),
bp("<b>Lateral meniscus:</b> More circular, more mobile, loosely attached."),
section("Functions of Menisci"),
bp("<b>1. Load transmission:</b> Transmit 50–70% of compressive load across knee; distribute stress over larger area."),
bp("<b>2. Shock absorption:</b> Viscoelastic properties absorb impact forces during walking and running."),
bp("<b>3. Joint stability:</b> Deepen tibial surface; resist anterior-posterior and rotational forces."),
bp("<b>4. Joint lubrication:</b> Help distribute synovial fluid across articular cartilage."),
bp("<b>5. Proprioception:</b> Contain mechanoreceptors that provide sensory feedback."),
bp("<b>6. Congruency:</b> Improve fit between convex femoral condyle and flat tibial plateau."),
note("Meniscal tears cause pain, locking, and instability. PT focuses on quadriceps strengthening and functional rehabilitation post-meniscectomy."),
]
def q6():
return [
section("Definition"),
pt("Bursae are fluid-filled sacs lined with synovial membrane that reduce friction between tissues around a joint."),
section("Major Bursae Around the Knee Joint"),
bp("<b>1. Prepatellar bursa:</b> Between skin and anterior surface of patella. Affected in 'housemaid's knee' (prepatellar bursitis)."),
bp("<b>2. Infrapatellar bursa (superficial):</b> Between skin and patellar ligament. Affected in 'clergyman's knee.'"),
bp("<b>3. Deep infrapatellar bursa:</b> Between patellar ligament and tibia."),
bp("<b>4. Suprapatellar bursa:</b> Between femur and quadriceps tendon; communicates with knee joint cavity."),
bp("<b>5. Semimembranosus bursa:</b> Posterior aspect, between semimembranosus and medial head of gastrocnemius. Enlarges to form Baker's cyst."),
bp("<b>6. Popliteal bursa:</b> Posterior knee between popliteus and lateral condyle."),
bp("<b>7. Anserine bursa:</b> Medial knee, beneath pes anserinus tendons."),
section("Clinical Significance"),
note("Bursitis causes localized pain and swelling. PT uses ice, rest, ultrasound, and activity modification for management."),
]
def q7():
return [
section("Definition"),
pt("Ligamentum flavum is a paired, highly elastic ligament in the vertebral column connecting adjacent laminae from C2 to S1."),
section("Structure"),
bp("Composed of 80% elastin + 20% collagen — highest elastin content of any ligament in the body."),
bp("Yellow in colour (flava = yellow in Latin)."),
bp("Runs from anterior surface of superior lamina to posterior surface of inferior lamina."),
section("Functions"),
bp("<b>1. Spinal stability:</b> Resists excessive flexion of the spine."),
bp("<b>2. Elastic recoil:</b> High elastin content stores energy during flexion and assists return to extension."),
bp("<b>3. Joint compression:</b> Pre-stresses facet joints, contributing to spinal stability."),
bp("<b>4. Posture maintenance:</b> Assists erector spinae in maintaining upright posture."),
bp("<b>5. Protective:</b> Prevents the ligament from buckling into spinal canal during extension."),
section("Clinical Significance"),
bp("Hypertrophy/calcification of ligamentum flavum → lumbar spinal stenosis → neurogenic claudication."),
note("PT treats related conditions with spinal decompression exercises, core strengthening, and posture correction."),
]
def q8():
return [
section("Definition"),
pt("The sliding filament theory (Huxley & Hanson, 1954) explains muscle contraction as the sliding of actin filaments over myosin filaments, shortening the sarcomere without changing individual filament length."),
section("Mechanism — Steps"),
bp("<b>1. Neural activation:</b> Motor nerve impulse → neuromuscular junction → ACh release."),
bp("<b>2. Action potential:</b> Depolarization spreads along sarcolemma into T-tubules."),
bp("<b>3. Ca²⁺ release:</b> Sarcoplasmic reticulum releases Ca²⁺ ions."),
bp("<b>4. Troponin-tropomyosin shift:</b> Ca²⁺ binds troponin → tropomyosin moves → exposes active sites on actin."),
bp("<b>5. Cross-bridge formation:</b> Myosin head binds to actin active site."),
bp("<b>6. Power stroke:</b> Myosin head pivots (ADP + Pi released) → actin slides inward → sarcomere shortens."),
bp("<b>7. Detachment:</b> ATP binds myosin head → cross-bridge breaks → cycle repeats."),
section("Key Points"),
bp("Z-lines come closer; H-zone and I-band shorten; A-band stays constant."),
note("Understanding this theory explains why muscles fatigue, how strength training works, and guides PT exercise prescription."),
]
def q9():
return [
section("Definition"),
pt("A linear force system is one in which all forces act along the same line of action (collinear forces). They may be concurrent or parallel."),
section("Types"),
bp("<b>Collinear forces:</b> Act along the exact same line; can be in the same or opposite directions."),
bp("<b>Parallel force system:</b> Forces act along parallel lines (not the same line); common in the musculoskeletal system."),
section("Resultant of Linear Forces"),
bp("Same direction: Resultant = sum of forces (F₁ + F₂)."),
bp("Opposite direction: Resultant = difference (F₁ − F₂); acts in direction of larger force."),
section("Examples in the Body"),
bp("Traction applied along long axis of a limb — pure linear force system."),
bp("Gravity (body weight) and ground reaction force acting along the same vertical line during standing."),
bp("Cervical traction: distraction force and body weight act linearly."),
section("Significance"),
bp("Basis for understanding joint compression and distraction forces."),
bp("Applied in manual therapy, traction techniques, and assistive device biomechanics."),
note("Clinically used in traction therapy for disc decompression and joint mobilization in PT."),
]
def q10():
return [
section("Definition"),
pt("Sensory receptors in muscles are specialized mechanoreceptors that monitor muscle length, tension, and velocity, providing proprioceptive feedback to the CNS."),
section("Types of Muscle Sensory Receptors"),
bp("<b>1. Muscle Spindle (Intrafusal fibre):</b>"),
pt(" • Located within muscle belly; sensitive to changes in muscle LENGTH and rate of length change."),
pt(" • Afferents: Ia (annulospiral — dynamic) and II (flower spray — static)."),
pt(" • Efferent: Gamma motor neuron controls spindle sensitivity."),
pt(" • Reflex: Stretch reflex (monosynaptic)."),
bp("<b>2. Golgi Tendon Organ (GTO):</b>"),
pt(" • Located at musculotendinous junction; sensitive to muscle TENSION."),
pt(" • Afferent: Ib fibers."),
pt(" • Reflex: Autogenic inhibition (protective — relaxes muscle when tension is excessive)."),
bp("<b>3. Pacinian Corpuscles:</b> Deep fascia; detect rapid pressure changes and vibration."),
bp("<b>4. Free nerve endings:</b> Pain and temperature in muscle tissue."),
section("Significance"),
note("Proprioceptive training in PT targets these receptors. Impaired receptor function leads to instability; exercises like balance boards re-educate them."),
]
def q11():
return [
section("Definition"),
pt("The TFCC (Triangular Fibrocartilage Complex) is a complex of fibrocartilage and ligaments on the ulnar side of the wrist that stabilizes the distal radioulnar joint (DRUJ) and ulnocarpal joint."),
section("Components of TFCC"),
bp("<b>1. Articular disc (central):</b> Triangular fibrocartilage pad; main load-bearing structure."),
bp("<b>2. Dorsal and palmar radioulnar ligaments:</b> Stabilize DRUJ."),
bp("<b>3. Ulnocarpal ligaments:</b> Ulnolunate and ulnotriquetral ligaments."),
bp("<b>4. Extensor carpi ulnaris (ECU) subsheath</b> and <b>meniscus homologue.</b>"),
section("Functions"),
bp("Stabilizes DRUJ during forearm pronation and supination."),
bp("Transmits 20% of axial load from wrist to ulna (80% through radius)."),
bp("Cushions ulnocarpal joint — acts as shock absorber."),
bp("Provides ulnar-side stability during gripping and weight-bearing through wrist."),
section("Clinical Significance"),
bp("TFCC tears cause ulnar-sided wrist pain, clicking, and DRUJ instability."),
bp("Common in racquet sports, FOOSH injuries, and repeated forearm rotation."),
note("PT management: wrist stabilization, forearm strengthening, and activity modification. May require surgical repair in complete tears."),
]
def q12():
return [
section("Definition"),
pt("Patellofemoral joint reaction force (PFJRF) is the compressive force acting between the posterior surface of the patella and the femoral trochlea during knee movement."),
section("Formula"),
pt("PFJRF depends on: Quadriceps force (Q) × 2 × sin(θ/2), where θ = angle of knee flexion."),
section("PFJRF at Different Knee Angles"),
bp("0° (full extension): PFJRF ≈ 0 (minimal compression)."),
bp("30° knee flexion: PFJRF ≈ 0.5× body weight."),
bp("60° knee flexion: PFJRF ≈ 1× body weight."),
bp("90° knee flexion: PFJRF ≈ 3× body weight (e.g., sitting to standing)."),
bp("Stair climbing: PFJRF ≈ 3.3× body weight."),
bp("Deep squatting (>120°): PFJRF ≈ 7–8× body weight."),
section("Factors Increasing PFJRF"),
bp("Increased knee flexion angle, increased quadriceps force, obesity, patellar malalignment, Q-angle abnormality."),
section("Clinical Significance"),
bp("Patellofemoral pain syndrome — pain aggravated by squatting, stairs, prolonged sitting."),
note("PT advises avoiding deep knee flexion; VMO strengthening and patellar taping reduce PFJRF and improve tracking."),
]
def q13():
return [
section("Definition"),
pt("Connective tissue is the most abundant tissue in the body, providing structural support, binding, and protection to organs and musculoskeletal structures."),
section("Components of Connective Tissue"),
bp("<b>1. Cells:</b>"),
pt(" • Fibroblasts — produce collagen and elastin."),
pt(" • Mast cells — produce histamine (inflammation)."),
pt(" • Macrophages — phagocytosis."),
pt(" • Adipocytes, chondrocytes, osteocytes."),
bp("<b>2. Fibres:</b>"),
pt(" • <b>Collagen fibres:</b> Type I (tendons, ligaments — high tensile strength), Type II (cartilage), Type III (loose CT)."),
pt(" • <b>Elastin fibres:</b> Elastic recoil (ligamentum flavum, skin)."),
pt(" • <b>Reticular fibres:</b> Form scaffolding in lymph nodes and liver."),
bp("<b>3. Ground Substance (Extracellular Matrix):</b>"),
pt(" • Proteoglycans (GAGs — hyaluronic acid, chondroitin sulfate)."),
pt(" • Glycoproteins (fibronectin, laminin)."),
pt(" • Water — responsible for viscoelastic properties."),
note("Connective tissue adapts to mechanical loading; immobilization causes atrophy and fibrosis. PT uses mobilization and exercise to maintain CT health."),
]
def q14():
return [
section("Definition"),
pt("Loading of the foot refers to the sequential transfer of body weight across the foot from heel strike to toe-off during the stance phase of gait."),
section("Phases of Foot Loading (Rocker Mechanism)"),
bp("<b>1. Heel rocker (0–10% stance):</b> Heel contacts ground; ankle plantarflexes; tibialis anterior controls descent. Load = 110–120% BW at heel."),
bp("<b>2. Ankle rocker (10–30% stance):</b> Tibia pivots over fixed foot; body moves forward. Controlled by calf muscles eccentrically."),
bp("<b>3. Forefoot rocker (30–60% stance):</b> Heel rises; weight shifts to metatarsal heads; toe spring assists push-off."),
section("Ground Reaction Force (GRF) During Loading"),
bp("Double bump pattern on vertical GRF: 1st peak (~110% BW) at heel strike; dip at mid-stance; 2nd peak (~110% BW) at push-off."),
section("Pressure Distribution"),
bp("Heel: 60% of load | Metatarsal heads: 28% | Toes: 12%."),
section("Foot Pronation During Loading"),
bp("Subtalar pronation (eversion + dorsiflexion + abduction) unlocks midfoot → shock absorption during loading."),
note("Flat foot (pes planus) alters load distribution and increases medial stress. PT uses orthoses, intrinsic foot muscle strengthening, and gait retraining."),
]
def q15():
return [
section("Definition"),
pt("The arches of the foot are curved structures formed by tarsal and metatarsal bones held together by ligaments, muscles, and fascia. They provide shock absorption, stability, and propulsion."),
section("Types of Arches"),
bp("<b>1. Medial longitudinal arch (MLA):</b> Highest and most important. Calcaneus → talus → navicular → cuneiforms → 1st–3rd metatarsals. Height: 15–18 mm."),
bp("<b>2. Lateral longitudinal arch:</b> Lower and flatter. Calcaneus → cuboid → 4th–5th metatarsals. Provides lateral stability."),
bp("<b>3. Transverse arch:</b> Runs across metatarsal heads and cuneiforms in coronal plane."),
section("Biomechanical Functions"),
bp("Shock absorption: Arch flattens on loading, storing elastic energy."),
bp("Propulsion: Arch recoils during push-off via windlass mechanism (toe dorsiflexion tightens plantar fascia)."),
bp("Stability: Distributes body weight through tripod (heel + 1st + 5th metatarsal heads)."),
bp("Adaptation to uneven surfaces."),
section("Maintenance of Arch"),
bp("Static: Plantar fascia, spring ligament, long plantar ligament."),
bp("Dynamic: Tibialis posterior (key arch supporter), Peroneus longus, intrinsic muscles."),
note("Pes planus (flat foot) and pes cavus (high arch) alter biomechanics. PT prescribes orthoses and arch-strengthening exercises."),
]
def q16():
return [
section("Definition"),
pt("Pelvic tilt is the movement/orientation of the pelvis in the sagittal or frontal plane relative to the femur or lumbar spine."),
section("Types of Pelvic Tilt"),
bp("<b>1. Anterior pelvic tilt:</b> ASIS moves forward and down; lumbar lordosis increases. Normal: 8–10° in females, 4–7° in males."),
pt(" • Muscles responsible: Hip flexors (iliopsoas, rectus femoris) — tight; Abdominals and gluteus maximus — weak."),
bp("<b>2. Posterior pelvic tilt:</b> ASIS moves backward and up; lumbar lordosis flattens."),
pt(" • Caused by: Tight hamstrings, weak hip flexors."),
bp("<b>3. Lateral pelvic tilt:</b> One iliac crest higher than other (in frontal plane). Seen during gait (Trendelenburg)."),
pt(" • Caused by: Weak ipsilateral hip abductors (gluteus medius)."),
section("Biomechanical Effects of Anterior Pelvic Tilt"),
bp("Increases lumbar lordosis → increased facet joint compression."),
bp("Shifts COG anteriorly → increases lumbar extensor muscle demand."),
bp("Shortens hip flexors → reduced hip extension in gait."),
section("Clinical Significance"),
bp("Pelvic tilt is assessed by ASIS-PSIS level; corrected via core strengthening and flexibility exercises."),
note("PT corrects pelvic tilt through core stabilization, hip flexor stretching, and gluteal activation programs."),
]
def q17():
return [
section("Definition"),
pt("Scoliosis is a three-dimensional (3D) lateral curvature of the spine greater than 10° (Cobb angle), associated with vertebral rotation in the transverse plane."),
section("Classification"),
bp("<b>By cause:</b> Idiopathic (most common, 80%), Congenital, Neuromuscular, Degenerative."),
bp("<b>By age:</b> Infantile (<3 yr), Juvenile (3–10 yr), Adolescent (>10 yr)."),
bp("<b>By curve pattern:</b> C-curve (single curve), S-curve (double/compensatory curve)."),
section("Biomechanical Features"),
bp("Primary curve: Structural, rotated vertebrae, rib hump (convex side)."),
bp("Compensatory curve: Non-structural, forms to maintain trunk balance."),
bp("Vertebral rotation: Spinous processes rotate toward concavity; ribs rotate posteriorly on convex side → rib hump (Adam's forward bend test)."),
section("Measurement"),
bp("Cobb angle: Angle between end vertebrae of the curve on X-ray. Mild: <25°, Moderate: 25–45°, Severe: >45°."),
section("Biomechanical Consequences"),
bp("Asymmetric loading of discs and facets; reduced chest expansion; cosmetic deformity."),
note("PT uses Schroth method (3D corrective breathing + posture), SEAS, and bracing (Milwaukee, Boston) for curves 25–40°."),
]
def q18():
return [
section("Definition"),
pt("The load-deformation curve (stress-strain curve) represents the mechanical behavior of biological tissues (bone, cartilage, ligament, tendon) when subjected to increasing loads."),
section("Regions of the Curve"),
bp("<b>1. Toe region:</b> Initial non-linear region; crimped collagen fibres uncrimp and straighten. Low stiffness, high deformation. Normal physiological range."),
bp("<b>2. Linear (elastic) region:</b> Stress and strain are proportional (Hooke's law). Tissue returns to original shape if load is removed. High stiffness."),
bp("<b>3. Yield point (elastic limit):</b> Maximum stress before permanent deformation begins. Beyond this = micro-tears."),
bp("<b>4. Plastic region:</b> Permanent deformation occurs even after load removal. Progressive failure of fibres."),
bp("<b>5. Failure point:</b> Complete rupture of tissue."),
section("Key Concepts"),
bp("Stiffness = slope of the linear region (Force / Deformation)."),
bp("Area under curve = energy stored or dissipated."),
bp("Viscoelastic tissues (ligament, tendon) show creep and stress relaxation."),
note("Clinically important in understanding ligament sprain grades, fracture risk, and designing progressive loading rehabilitation programs in PT."),
]
def q19():
return [
section("Definition"),
pt("Grip and grasp are hand prehension patterns involving the fingers and thumb to hold, manipulate, or carry objects."),
section("Types of Grip / Prehension"),
bp("<b>1. Power Grip:</b> Forceful grip; fingers and palm wrap around object; thumb reinforces. Used for hammering, carrying bags."),
pt(" • Sub-types: Cylindrical grip, Spherical grip, Hook grip, Fist."),
bp("<b>2. Precision Grip (Pinch):</b> Fine control; tips or pads of fingers and thumb. Used for writing, picking small objects."),
pt(" • Sub-types: Tip pinch, Palmar (chuck) pinch, Lateral (key) pinch."),
section("Power Grip — Biomechanics"),
bp("MCP + PIP joints flex 90°; DIP flexes ~45°; thumb adducts and flexes across palm."),
bp("Primary muscles: FDS, FDP, interossei, hypothenar muscles, adductor pollicis."),
bp("Grip strength: Normal male ≈ 46–47 kg, female ≈ 25–26 kg (dynamometer)."),
bp("Grip force varies with: wrist position (max at 0–15° extension), elbow angle, forearm rotation."),
section("Clinical Significance"),
bp("Grip strength is a biomarker of overall health; reduced in RA, median/ulnar nerve palsy, lateral epicondylitis."),
note("PT uses dynamometry to assess grip; therapeutic putty, resistance exercises, and splints improve grip strength."),
]
def q20():
return [
section("Definition"),
pt("Active and passive insufficiency are conditions in which a two-joint (biarticular) muscle loses its ability to generate or allow full movement at both joints simultaneously."),
section("Active Insufficiency"),
bp("Occurs when a two-joint muscle is stretched to shorten maximally at both joints at the same time, reaching its shortest length and losing tension."),
bp("Example: Hamstrings — cannot fully flex the knee while the hip is already extended (short hamstring on both ends simultaneously)."),
bp("Example: Finger flexors — cannot make a tight fist when wrist is maximally flexed."),
section("Passive Insufficiency"),
bp("Occurs when a two-joint muscle is lengthened maximally across both joints simultaneously, restricting full range of motion."),
bp("Example: Hamstrings — when hip is fully flexed + knee extension attempted (straight leg raise limited by passive tension of hamstrings)."),
bp("Example: Rectus femoris — passive insufficiency limits full hip extension + knee flexion simultaneously."),
section("Biomechanical Significance"),
bp("Explains why optimal force is generated in mid-range positions."),
bp("Basis of length-tension relationship in clinical testing."),
note("PT uses active and passive insufficiency concepts in muscle testing, flexibility assessment (SLR, Thomas test), and exercise design."),
]
def q21():
return [
section("Definition"),
pt("The hip joint has several important structural angles that determine the biomechanics of the joint, gait pattern, and load distribution."),
section("Key Angles of the Hip Joint"),
bp("<b>1. Angle of inclination (Neck-shaft angle):</b>"),
pt(" • Angle between femoral neck and femoral shaft in the frontal plane."),
pt(" • Normal: 120–135° in adults."),
pt(" • <b>Coxa valga</b> (>135°): Adduction tendency, limb lengthening, lateral hip instability."),
pt(" • <b>Coxa vara</b> (<120°): Abduction tendency, Trendelenburg gait, limb shortening."),
bp("<b>2. Angle of anteversion (Torsion angle):</b>"),
pt(" • Anterior twist of femoral neck relative to femoral condyles in the transverse plane."),
pt(" • Normal: 8–15° anteversion in adults."),
pt(" • Excessive anteversion → toe-in gait, increased risk of hip dislocation."),
pt(" • Retroversion → toe-out gait."),
bp("<b>3. Wiberg's Centre-Edge (CE) angle:</b>"),
pt(" • Measures lateral coverage of femoral head by acetabulum. Normal: >25°. Low → hip dysplasia."),
bp("<b>4. Acetabular angle (Sharp's angle):</b> Normal 38–42°; measures acetabular inclination."),
note("These angles guide surgical and PT management decisions in hip dysplasia, Perthes disease, and hip arthroplasty rehabilitation."),
]
def q22():
return [
section("Definition"),
pt("The anterior cruciate ligament (ACL) is an intra-articular, extrasynovial ligament of the knee joint that runs from the anterior intercondylar area of the tibia to the posterior medial surface of the lateral femoral condyle."),
section("Structure"),
bp("Two bundles: Anteromedial (AM) bundle (taut in flexion) and Posterolateral (PL) bundle (taut in extension)."),
bp("Length: ~38 mm; Width: ~11 mm. Composed of Type I collagen. Poor intrinsic healing capacity due to synovial bath."),
section("Biomechanical Functions"),
bp("<b>1. Primary restraint</b> to anterior tibial translation (85% of restraint force)."),
bp("<b>2. Secondary restraint</b> to internal tibial rotation and valgus stress."),
bp("<b>3. Proprioception:</b> Contains mechanoreceptors — contributes to neuromuscular control."),
bp("<b>4. Limits hyperextension</b> of the knee."),
section("ACL Loading Scenarios"),
bp("Maximum load at: 0–30° flexion, combined valgus + internal rotation (pivot shift mechanism)."),
bp("ACL tension increases during deceleration, landing from jump, cutting maneuvers."),
section("Clinical Significance"),
bp("ACL tear: Lachman test positive (most sensitive), anterior drawer test, pivot shift test."),
note("PT manages ACL injuries with hamstring strengthening, neuromuscular training, and proprioception rehabilitation. ACL reconstruction followed by 9–12 month PT protocol."),
]
def q23():
return [
section("Definition"),
pt("The suprhumeral arch (coracoacromial arch) is an osseoligamentous structure forming the roof of the shoulder, beneath which the rotator cuff tendons and subacromial bursa lie."),
section("Components"),
bp("<b>1. Acromion process</b> of scapula (superior)."),
bp("<b>2. Coracoacromial ligament</b> (connecting coracoid to acromion)."),
bp("<b>3. Coracoid process</b> of scapula."),
bp("The subacromial space lies between the arch superiorly and the humeral head + rotator cuff inferiorly."),
section("Normal Subacromial Space"),
bp("Normal: 7–14 mm on X-ray."),
bp("Reduced (<6 mm) → subacromial impingement syndrome."),
section("Biomechanical Significance"),
bp("The arch acts as a secondary restraint to superior humeral head migration."),
bp("During abduction, supraspinatus, subacromial bursa, and biceps long head pass beneath the arch."),
bp("Acromial morphology types (Bigliani): Type I (flat), Type II (curved), Type III (hooked) — Type III most associated with impingement."),
section("Clinical Significance"),
bp("Hooked acromion, rotator cuff weakness, or poor scapular rotation → impingement of supraspinatus."),
bp("Hawkins-Kennedy and Neer impingement tests provoke pain under the arch."),
note("PT uses posterior capsule stretching, rotator cuff strengthening, and scapular stabilization to increase subacromial space and reduce impingement."),
]
def q24():
return [
section("Definition"),
pt("Ideal (optimal) posture is the alignment of body segments in a position that places minimum stress on joints, ligaments, and muscles while requiring the least amount of muscular effort to maintain."),
section("Criteria for Ideal Posture"),
bp("The line of gravity (LOG) passes through specific landmarks in lateral view."),
section("Lateral View — LOG Passes Through:"),
bp("Earlobe → Tip of shoulder (acromioclavicular joint) → Middle of trunk → Greater trochanter → Just anterior to knee joint → Just anterior to lateral malleolus."),
section("Anterior/Posterior View"),
bp("Bilateral symmetry: equal height of ASIS, iliac crests, shoulders, and eyes."),
bp("Spine — no lateral curvature (scoliosis absent)."),
section("Characteristics of Ideal Posture"),
bp("Normal spinal curves: Cervical lordosis, thoracic kyphosis, lumbar lordosis, sacral kyphosis."),
bp("Pelvis in neutral tilt (ASIS and PSIS at same horizontal level)."),
bp("Knees: 0° (no recurvatum or flexion contracture)."),
bp("Feet: Parallel, slight outward rotation (8–10°)."),
section("Significance"),
bp("Deviations → muscle imbalances, pain syndromes, early degenerative changes."),
note("PT performs postural assessment using plumb line and grid; corrects deviations through stretching, strengthening, and ergonomic advice."),
]
def q25():
return [
section("Definition"),
pt("An anatomical pulley is a bony or fibrous structure around which a tendon wraps, changing the direction of the muscle's line of pull and increasing mechanical advantage."),
section("Examples of Anatomical Pulleys"),
bp("<b>1. Patella as anatomical pulley (most important):</b>"),
pt(" • The patella wraps the quadriceps tendon around the distal femur, redirecting the force of quadriceps anteriorly."),
pt(" • Increases moment arm of quadriceps force, enhancing knee extension torque by ~30–50%."),
pt(" • Acts as a pulley to change direction of quadriceps pull, improving mechanical advantage especially in early extension (0–30°)."),
bp("<b>2. Medial malleolus:</b> Acts as pulley for tibialis posterior tendon."),
bp("<b>3. Lateral malleolus:</b> Pulley for peroneus longus and brevis."),
bp("<b>4. Hook of hamate / flexor retinaculum (carpal tunnel):</b> Pulley for finger flexor tendons."),
bp("<b>5. Olecranon process:</b> Pulley for triceps brachii."),
section("Biomechanical Advantage of the Patella"),
bp("Displaces patellar tendon anteriorly → increases moment arm → reduces quadriceps force needed for same torque."),
bp("Protects the quadriceps tendon from friction against the femur."),
note("After patellectomy, quadriceps efficiency reduces by ~30%. PT focuses on VMO strengthening to compensate."),
]
def q26():
return [
section("Definition"),
pt("A pivot joint (trochoid joint) is a uniaxial synovial joint in which a rounded peg (pivot) of one bone rotates within a ring formed by another bone and associated ligament. Movement: rotation only."),
section("Examples in the Body"),
bp("<b>1. Proximal radioulnar joint (PRUJ):</b> Head of radius rotates within the ring of the radial notch of ulna + annular ligament. Allows pronation/supination."),
bp("<b>2. Distal radioulnar joint (DRUJ):</b> Head of ulna rotates within ulnar notch of radius."),
bp("<b>3. Atlanto-axial joint (median):</b> Dens (odontoid process) of C2 rotates within the ring of the anterior arch of atlas + transverse ligament. Allows head rotation (nodding 'no' movement, ~45° each side)."),
section("Biomechanical Features"),
bp("Single axis of motion: longitudinal (vertical) axis."),
bp("Degree of freedom: 1 (rotation only)."),
bp("No sliding or rolling — pure spin movement."),
section("Muscles Responsible"),
bp("PRUJ/DRUJ: Supinator, Biceps (supination); Pronator teres, Pronator quadratus (pronation)."),
bp("Atlanto-axial: SCM (contralateral rotation), Splenius capitis (ipsilateral rotation)."),
note("Pivot joint injuries (e.g., radial head dislocation in children — nursemaid's elbow; atlanto-axial instability in Down syndrome) are managed in PT."),
]
def q27():
return [
section("Definition"),
pt("The femur has several structural angles and curves that are biomechanically important in load transmission, gait, and joint health."),
section("Key Angles of the Femur"),
bp("<b>1. Neck-shaft angle (angle of inclination):</b> 120–135° normal. Coxa valga (>135°) or coxa vara (<120°) alter load and gait. (Discussed in Q21.)"),
bp("<b>2. Angle of anteversion:</b> 8–15° normal. Affects hip rotation and gait alignment."),
bp("<b>3. Q-angle (quadriceps angle):</b> Angle between line from ASIS to centre of patella and line from centre of patella to tibial tubercle. Normal: 12–15° (male), 15–18° (female)."),
pt(" • Increased Q-angle → lateral patellar tracking → patellofemoral pain syndrome."),
section("Curves / Structural Features of Femur"),
bp("<b>Anterior bowing (bow of femur):</b> Femoral shaft has slight anterior convexity, accommodating quadriceps pull and allowing lengthened moment arm for knee extension."),
bp("<b>Physiological valgus at knee (6–9°):</b> Distal femur inclines medially, placing foot under the COG — reduces lateral displacement of COG during gait."),
bp("<b>Medial condyle lower than lateral:</b> Knee in slight valgus in anatomical position, creating oblique alignment."),
section("Biomechanical Importance"),
bp("These angles and curves optimise load distribution and reduce the lateral sway of COG during gait."),
note("Abnormal angles lead to malalignment syndromes. PT assesses these via visual analysis and corrects through exercises."),
]
def q28():
return [
section("Definition"),
pt("The extensor mechanism of the hand is a complex tendinous network on the dorsum of the hand and fingers that extends the MCP, PIP, and DIP joints. The dorsal expansion (extensor hood/apparatus) is the fibrous expansion over the proximal phalanx."),
section("Components"),
bp("<b>1. Extensor digitorum (ED):</b> Primary extensor; splits into central slip (extends PIP) and two lateral slips (extend DIP)."),
bp("<b>2. Dorsal interossei and lumbricals:</b> Insert into lateral bands of extensor hood; flex MCP, extend IP joints."),
bp("<b>3. Extensor hood (dorsal digital expansion):</b> Fibrous aponeurosis that envelops proximal phalanx."),
bp("<b>4. Central slip:</b> Inserts into base of middle phalanx → extends PIP."),
bp("<b>5. Lateral bands:</b> Join and insert into base of distal phalanx → extend DIP."),
bp("<b>6. Retinacular ligament (Landsmeer):</b> Links PIP and DIP extension."),
section("Wrist Extensor Mechanism"),
bp("ECRL, ECRB extend and radially deviate wrist; ECU extends and ulnarly deviates."),
section("Clinical Significance"),
bp("<b>Boutonniere deformity:</b> Central slip rupture → PIP flexion + DIP hyperextension."),
bp("<b>Mallet finger:</b> Terminal extensor tendon rupture → DIP flexion deformity."),
note("PT uses splinting and tendon gliding exercises in extensor mechanism injuries."),
]
def q29():
return [
section("Definition"),
pt("Shoulder joint (glenohumeral joint) stability is achieved by dynamic and static mechanisms that maintain the humeral head within the shallow glenoid cavity."),
section("Static Stabilizers"),
bp("<b>1. Bony architecture:</b> Glenoid labrum deepens socket from 5 mm to 9 mm (vertical) and 5 mm to 5 mm (AP). Small glenoid: humeral head ratio (1:3) inherently unstable."),
bp("<b>2. Glenohumeral ligaments:</b>"),
pt(" • SGHL: Resists inferior translation with arm at side."),
pt(" • MGHL: Resists anterior translation at 45° abduction."),
pt(" • IGHL (most important — 3 bands):\n - Anterior band: Resists anterior translation at 90° abduction + external rotation.\n - Posterior band: Resists posterior translation.\n - Axillary pouch."),
bp("<b>3. Glenoid labrum:</b> Fibrocartilaginous rim; deepens glenoid; serves as anchor for GH ligaments."),
bp("<b>4. Joint capsule:</b> Twice the surface area of humeral head; negative intra-articular pressure (suction cup effect)."),
bp("<b>5. Coracohumeral ligament:</b> Resists inferior translation and external rotation."),
section("Clinical Significance"),
bp("Labral tears (Bankart lesion), IGHL laxity → recurrent dislocation."),
note("PT uses rotator cuff strengthening (dynamic stabilization) and proprioceptive training to supplement static stabilizers."),
]
def q30():
return [
section("Definition"),
pt("Muscle function depends on multiple structural, neural, and mechanical factors that influence the force, speed, and endurance of muscle contraction."),
section("Factors Affecting Muscle Function"),
bp("<b>1. Cross-sectional area (CSA):</b> Larger CSA → greater force. Hypertrophy increases force."),
bp("<b>2. Muscle fibre type:</b> Type I (slow twitch) — endurance; Type II (fast twitch) — power and speed."),
bp("<b>3. Length-tension relationship:</b> Maximum force at resting length; reduced force at very short or long lengths."),
bp("<b>4. Force-velocity relationship:</b> Greater concentric velocity → reduced force. Eccentric: force increases with velocity."),
bp("<b>5. Pennation angle:</b> Larger angle → more fibres per unit area → greater force but reduced range of shortening."),
bp("<b>6. Moment arm:</b> Larger moment arm → greater torque for same muscle force."),
bp("<b>7. Neural factors:</b> Motor unit recruitment, firing rate (rate coding), synchronisation."),
bp("<b>8. Muscle temperature:</b> Warm muscle contracts faster; cold → sluggish, more prone to injury."),
bp("<b>9. Fatigue:</b> Accumulation of metabolites, reduced Ca²⁺ sensitivity → decreased force."),
bp("<b>10. Age and gender:</b> Peak strength in 20–30s; males greater absolute strength due to testosterone."),
bp("<b>11. Pre-stretch (stretch-shortening cycle):</b> Eccentric phase before concentric increases force via elastic energy storage."),
note("PT uses progressive resistance exercise, plyometrics, and electrical stimulation to optimise these factors in rehabilitation."),
]
# Map of Q number to builder and title
QLIST = [
(1, "Supination / Pronation Twist (All Forms)", q1),
(2, "Osteokinematics & Arthrokinematics", q2),
(3, "Determinants / Parameters of Gait", q3),
(4, "Scapulohumeral Rhythm", q4),
(5, "Meniscus / Functions of Menisci", q5),
(6, "Bursae Around Knee Joint", q6),
(7, "Ligamentum Flavum", q7),
(8, "Sliding Filament Theory", q8),
(9, "Linear Force System", q9),
(10, "Sensory Receptors (Muscle)", q10),
(11, "TFCC (Triangular Fibrocartilage Complex)", q11),
(12, "Patellofemoral Joint Reaction Force", q12),
(13, "Composition of Connective Tissue", q13),
(14, "Loading of the Foot", q14),
(15, "Arches of Foot & Its Biomechanics", q15),
(16, "Pelvic Tilt", q16),
(17, "Scoliosis", q17),
(18, "Load Deformation Curve", q18),
(19, "Grip and Grasp / Power Grip", q19),
(20, "Active & Passive Insufficiency", q20),
(21, "Angles of Hip Joint", q21),
(22, "Anterior Cruciate Ligament (ACL)", q22),
(23, "Suprhumeral Arch", q23),
(24, "Ideal / Optimal Posture", q24),
(25, "Anatomical Pulleys / Patella as Anatomical Pulley", q25),
(26, "Pivot Joint", q26),
(27, "Importance of Angles / Curves in Femur", q27),
(28, "Extensor Mechanism / Expansion of Wrist & Fingers", q28),
(29, "Shoulder Joint Stability / Static Stabilization", q29),
(30, "Factors Affecting Muscle Functions", q30),
]
# ════════════════════════════════════════════════════════════════════════════
# BUILD STORY
# ════════════════════════════════════════════════════════════════════════════
story = []
# Cover
cover = Table([[Paragraph(
"BPT Biomechanics<br/>5-Mark Questions & Answers", title_s)]],
colWidths=[17*cm])
cover.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), NAVY),
('TOPPADDING', (0,0), (-1,-1), 30),
('BOTTOMPADDING', (0,0), (-1,-1), 30),
('LEFTPADDING', (0,0), (-1,-1), 16),
('RIGHTPADDING', (0,0), (-1,-1), 16),
]))
story.append(cover)
story.append(sp(0.3))
sub = Table([[Paragraph(
"30 Important Topics | Exam-Oriented Answers | PT Relevance for Every Topic",
sub_s)]], colWidths=[17*cm])
sub.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), TEAL),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
]))
story.append(sub)
story.append(sp(0.4))
story.append(pt("Format followed for every answer: Definition → Classification/Types → Key Points → Diagram note → PT Relevance."))
story.append(sp(0.3))
story.append(HRFlowable(width="100%", thickness=1, color=NAVY, spaceAfter=8))
# Build each question
for (num, title, builder) in QLIST:
block = []
block.append(q_header(num, title, qc(num)))
block.append(sp(0.15))
for elem in builder():
block.append(elem)
block.append(sp(0.2))
block.append(HRFlowable(width="100%", thickness=0.4,
color=colors.HexColor("#cccccc"), spaceAfter=6))
story.append(KeepTogether(block[:6])) # keep header + first few lines together
story.extend(block[6:])
# Final note
story.append(sp(0.4))
story.append(Paragraph(
"Best of luck in your BPT Biomechanics examination! "
"Write these answers using the given headings and always end with PT Relevance for maximum marks.",
S('Final', fontSize=10, textColor=NAVY, fontName='Helvetica-Bold',
alignment=TA_CENTER, leading=14)
))
doc.build(story)
print(f"PDF created: {OUTPUT}")
cd /tmp/workspace/bpt-pdf && python biomechanics_answers.py
ls -lh /tmp/workspace/bpt-pdf/BPT_Biomechanics_5Mark_Answers.pdf
BPT Biomechanics 5Mark Answers
PDF Document · PDF
| Q | Topic |
|---|---|
| 1 | Supination / Pronation Twist |
| 2 | Osteokinematics & Arthrokinematics |
| 3 | Determinants / Parameters of Gait |
| 4 | Scapulohumeral Rhythm |
| 5 | Meniscus / Functions of Menisci |
| 6 | Bursae Around Knee Joint |
| 7 | Ligamentum Flavum |
| 8 | Sliding Filament Theory |
| 9 | Linear Force System |
| 10 | Sensory Receptors (Muscle) |
| 11 | TFCC |
| 12 | Patellofemoral Joint Reaction Force |
| 13 | Composition of Connective Tissue |
| 14 | Loading of the Foot |
| 15 | Arches of Foot & Biomechanics |
| 16 | Pelvic Tilt |
| 17 | Scoliosis |
| 18 | Load Deformation Curve |
| 19 | Grip and Grasp / Power Grip |
| 20 | Active & Passive Insufficiency |
| 21 | Angles of Hip Joint |
| 22 | ACL |
| 23 | Suprhumeral Arch |
| 24 | Ideal / Optimal Posture |
| 25 | Anatomical Pulleys / Patella |
| 26 | Pivot Joint |
| 27 | Angles / Curves in Femur |
| 28 | Extensor Mechanism of Wrist & Fingers |
| 29 | Shoulder Joint Stability |
| 30 | Factors Affecting Muscle Functions |
Add diagrams flow chart content to reduce the writing work the 5 marks should have content to write 3 pages And do you know the format for how to answer for the bio mechanics questions ?
1. Definition (3-4 lines)
2. Classification / Types (with table or list)
3. Diagram / Labeled figure (half page)
4. Flowchart / Mechanism
5. Key points / Explanation (bullet points)
6. Normal values / Formula (if any)
7. Clinical significance
8. PT Relevance (2-3 lines)
Key rule for Biomechanics: Diagrams + Flowcharts + Tables = 40% of your 3 pages. This reduces writing and fills pages faster while scoring more marks.
First send for the 15 questions
Send the answer