Kinesiophobia — TSK-11
Status:
stableCategory:fear_avoidanceAdded:2026-04-20Last reviewed:2026-04-21
Summary
The Tampa Scale for Kinesiophobia — 11-item short form (TSK-11) is
Trinity's general fear-of-movement instrument. Eleven items,
each scored 1–4, summing to a 11–44 total. Higher scores
indicate stronger kinesiophobia.
⚠ Item-scoring orientation
The TSK-11 as published contains several items whose wording is "reversed" relative to the construct (agreeing with the item reflects less kinesiophobia). Standard scoring reverses those items before summing.
Trinity performs a straight simple_sum over all eleven
items as submitted — it does not internally reverse any items.
To produce the standard TSK-11 interpretation, the caller must
submit values that are already oriented so that higher = more
kinesiophobia. In practice, this means:
- For items whose wording aligns with kinesiophobia (stronger agreement = stronger fear), submit the response value directly.
- For items whose wording is reversed (for example, "My pain
would probably be relieved if I were to exercise"), submit the
response value that would result from applying the TSK-11
reversal convention (
5 - valueon the published1–4scale).
If you administer the TSK-11 verbatim and forward raw responses, your scores will not match published norms — Trinity's sum will include reverse-worded item contributions without flipping them.
This gotcha is real and can yield misleading bands. Read the
instrument wording on /questions carefully; decide whether your
integration pre-reverses or re-implements the reverse-scoring
rules before ingesting scores.
Resource identity
| Field | Value |
|---|---|
| Category | fear_avoidance |
| Resource | kinesiophobia |
| Instrument ID | kinesiophobia |
| Rubric version | 1.0.0 |
| Path prefix | /api/fear_avoidance/kinesiophobia |
Operations
| Operation | Method | Path | Contract |
|---|---|---|---|
| Questions | GET | /api/fear_avoidance/kinesiophobia/questions | patterns-questions.md |
| Score | POST | /api/fear_avoidance/kinesiophobia/score | patterns-score.md |
Items
Eleven items, each on a 1–4 scale.
| ID | Prompt (paraphrased) |
|---|---|
item_1 | I am afraid that I might injure myself if I exercise. |
item_2 | If I were to try to overcome it, my pain would increase. |
item_3 | My body is telling me I have something dangerously wrong. |
item_4 | My pain would probably be relieved if I were to exercise. |
item_5 | People are not taking my medical condition seriously enough. |
item_6 | My accident has put my body at risk for the rest of my life. |
item_7 | Pain always means I have injured my body. |
item_8 | Just because something aggravates my pain does not mean it is dangerous. |
item_9 | I am afraid that I might injure myself accidentally. |
item_10 | Simply being careful that I do not make any unnecessary movements is the safest thing I can do to prevent my pain. |
item_11 | I would not have this much pain if there were not something potentially dangerous going on in my body. |
Answer choices per item:
| Value | Label |
|---|---|
1 | Strongly disagree |
2 | Disagree |
3 | Agree |
4 | Strongly agree |
Items whose wording is commonly reverse-scored in published TSK-11
scoring rules: item_4 and item_8. See the orientation
note above.
Scoring
| Field | Value |
|---|---|
| Method | simple_sum over all eleven items, as submitted (no internal reversal). |
| Score range | 11 – 44. |
Bands
| Band | Range (inclusive) | Clinical meaning |
|---|---|---|
low | 11 – 21 | Low kinesiophobia. |
high | 22 – 44 | Elevated kinesiophobia. |
The 22 threshold sits near the widely-cited clinical cutoff
(literature commonly cites 22–24 depending on population).
Required items
All eleven items are required for a strict /score call.
Worked example
Every item answered with 3 ("agree"), forwarded as-is without
reversal. See quickstart.md for per-language
scaffolding and patterns-score.md for the
shared /score contract.
Send:
POST /api/fear_avoidance/kinesiophobia/score HTTP/1.1
Host: engine.tripod-health.com
apikey: $ENGINE_API_KEY
Content-Type: application/json
X-Request-ID: docs-kinesiophobia-score-basic
{
"responses": {
"item_1": 3, "item_2": 3, "item_3": 3, "item_4": 3, "item_5": 3,
"item_6": 3, "item_7": 3, "item_8": 3, "item_9": 3, "item_10": 3,
"item_11": 3
}
}
Receive (200 OK):
{
"instrument": "kinesiophobia",
"category": "fear_avoidance",
"finding": {
"algorithm_id": "kinesiophobia",
"algorithm_version": "1.0.0",
"score": 33,
"band": "high",
"raw": {
"rubric_version": "1.0.0",
"responded_items": 11
},
"context": null,
"imputed": false,
"sd": null,
"prior_source": null
},
"confidence": {
"overall": 1,
"tier": "high",
"breakdown": {
"input_completeness": 1,
"imputation_variance": null,
"model_certainty": null
}
},
"recommendations": null,
"depth": "basic",
"catalog_version": "0.13.0",
"request_id": "docs-kinesiophobia-score-basic",
"timestamp": "2026-04-21T23:15:00.922789+00:00"
}
Computation: 11 × 3 = 33 → high band (22–44). Same subject with
items 4 and 8 pre-reversed (client sends 5 - 3 = 2 instead of 3):
9 × 3 + 2 × 2 = 31 — still high but three points lower. The
client-side reversal of items 4 and 8 makes a meaningful difference
at the cutoff; see the note in the Scoring section.
Calling in your language
curl
curl -sS -X POST "https://engine.tripod-health.com/api/fear_avoidance/kinesiophobia/score" \
-H "apikey: $ENGINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"responses":{"item_1":3,"item_2":3,"item_3":3,"item_4":3,"item_5":3,"item_6":3,"item_7":3,"item_8":3,"item_9":3,"item_10":3,"item_11":3}}'
Python (requests)
# Uses the call() helper from quickstart.md.
responses = {f"item_{i}": 3 for i in range(1, 12)}
result = call("POST", "/api/fear_avoidance/kinesiophobia/score",
{"responses": responses})
print(result["finding"]["score"], result["finding"]["band"])
Node.js (native fetch)
// Uses the call() helper from quickstart.md.
const responses = Object.fromEntries(
Array.from({ length: 11 }, (_, i) => [`item_${i + 1}`, 3]),
);
const result = await call("POST",
"/api/fear_avoidance/kinesiophobia/score", { responses });
console.log(result.finding.score, result.finding.band);
TypeScript
// Uses the typed call<T>() helper from quickstart.md.
const responses = Object.fromEntries(
Array.from({ length: 11 }, (_, i) => [`item_${i + 1}`, 3]),
);
const result = await call<ScoreResponse>(
"POST",
"/api/fear_avoidance/kinesiophobia/score",
{ responses },
);
Go
// Uses the call() helper from quickstart.md.
responses := make(map[string]int, 11)
for i := 1; i <= 11; i++ {
responses[fmt.Sprintf("item_%d", i)] = 3
}
result, err := call("POST",
"/api/fear_avoidance/kinesiophobia/score",
map[string]any{"responses": responses}, 3)
if err != nil {
panic(err)
}
finding := result["finding"].(map[string]any)
fmt.Printf("TSK-11: %v (%v)\n", finding["score"], finding["band"])
Java
// Uses the call() helper from quickstart.md.
StringBuilder body = new StringBuilder("{\"responses\":{");
for (int i = 1; i <= 11; i++) {
if (i > 1) body.append(",");
body.append("\"item_").append(i).append("\":3");
}
body.append("}}");
String result = call("POST",
"/api/fear_avoidance/kinesiophobia/score",
body.toString(), 3);
System.out.println(result);
C# (.NET HttpClient)
// Uses the Call() helper from quickstart.md.
var responses = Enumerable.Range(1, 11)
.ToDictionary(i => $"item_{i}", _ => 3);
var result = await Call(HttpMethod.Post,
"/api/fear_avoidance/kinesiophobia/score",
new { responses });
var finding = result.GetProperty("finding");
Console.WriteLine($"TSK-11: {finding.GetProperty("score").GetDouble()} ({finding.GetProperty("band").GetString()})");
PowerShell
# Uses the Invoke-Engine helper from quickstart.md.
$responses = @{}
1..11 | ForEach-Object { $responses["item_$_"] = 3 }
$result = Invoke-Engine -Method Post -Path "/api/fear_avoidance/kinesiophobia/score" -Body @{ responses = $responses }
"TSK-11: $($result.finding.score) ($($result.finding.band))"
Clinical interpretation
- What it measures. Fear of movement or re-injury — the belief that activity will worsen pain or cause harm.
- Psychosocial flag. Elevated TSK-11 scores predict poorer physical-activity adherence and slower functional recovery in musculoskeletal pain populations.
- Complementary to FABQ-W. TSK-11 measures general kinesiophobia; FABQ-W is specific to work-related beliefs. The two overlap but tap different constructs.
Intended use
- Identifying candidates for graded-exposure or cognitive-functional therapy in musculoskeletal pain care.
- Monitoring change in kinesiophobia across a rehabilitation course.
- Feeding the CDRI composite as the general fear-of-movement signal.
Mistaken use
- Do not submit raw values without considering reverse-scored items. Trinity's sum does not reverse items 4 or 8.
- Do not use TSK-11 as a substitute for FABQ-W. They measure overlapping but distinct constructs.
- Do not interpret
highas "will not participate in physical therapy." It flags elevated fear of movement — a treatable target, not an outcome. - Do not compare raw TSK-11 scores across clients who handled reverse-scoring differently. Without a shared orientation convention, the numbers are not comparable.
Debugging
- Capture
request_id. Present in every response body. - Score seems inconsistent with published norms. Investigate whether items 4 and 8 need reversal on your side. See the orientation note above.
400 ValidationErrorwithmissing_items. Send all eleven items.- Score reads
11for a subject you expected to be high. Every response was sent as1. Confirm your UI is not inadvertently defaulting to "strongly disagree" for unanswered items.
Related
- patterns-questions.md, patterns-score.md — shared contracts.
- instruments-fear_avoidance_beliefs.md — FABQ-W; fear-avoidance specific to work.
- instruments-yellow_flag_screen.md — OSPRO-YF; breadth screen covering kinesiophobia as one flag.
- instruments-orebro.md — multi-domain yellow-flag screen.
- composite-cdri-compute.md — composite.
Change history
| Date | Change |
|---|---|
| 2026-04-20 | Initial publication. |