Fear-Avoidance Beliefs
Status:
stableCategory:fear_avoidanceAdded:2026-04-20Last reviewed:2026-04-21
Summary
Trinity exposes the work subscale of the Fear-Avoidance
Beliefs Questionnaire (FABQ-W). Seven items, each scored 0–6,
summing to a 0–42 total. Higher scores indicate stronger
fear-avoidance beliefs about work and a greater risk of work-related
disability and delayed return to work.
⚠ Work subscale only
The published FABQ has two subscales: physical activity (FABQ-PA)
and work (FABQ-W). Trinity implements only the work
subscale despite the resource being named
fear_avoidance_beliefs. If your integration expects physical-
activity items (lifting, bending, exercise), they are not part
of this endpoint.
To confirm: the /questions response for this resource contains
seven items covering work-related beliefs only. There is no separate
endpoint for FABQ-PA today.
Resource identity
| Field | Value |
|---|---|
| Category | fear_avoidance |
| Resource | fear_avoidance_beliefs |
| Instrument ID | fear_avoidance_beliefs |
| Rubric version | 1.0.0 |
| Path prefix | /api/fear_avoidance/fear_avoidance_beliefs |
Operations
| Operation | Method | Path | Contract |
|---|---|---|---|
| Questions | GET | /api/fear_avoidance/fear_avoidance_beliefs/questions | patterns-questions.md |
| Score | POST | /api/fear_avoidance/fear_avoidance_beliefs/score | patterns-score.md |
Items
Seven items from the work subscale, each on a 0–6 scale.
| ID | Prompt (paraphrased) |
|---|---|
item_1 | My pain was caused by my work. |
item_2 | My work aggravated my pain. |
item_3 | I should not do my normal work with my present pain. |
item_4 | My normal work makes or would make my pain worse. |
item_5 | My work might harm my back. |
item_6 | I should not do my normal work until my pain is treated. |
item_7 | I do not think that I will be back to my normal work within 3 months. |
Answer choices per item:
| Value | Label |
|---|---|
0 | Completely disagree |
1 | Disagree |
2 | Slightly disagree |
3 | Unsure |
4 | Slightly agree |
5 | Agree |
6 | Completely agree |
Note: Trinity's item IDs (item_1–item_7) are flat; they do
not preserve the original FABQ numbering (items 6, 7, 9, 10, 11,
12, and 15 in the full FABQ).
Scoring
| Field | Value |
|---|---|
| Method | simple_sum over all seven items. |
| Score range | 0 – 42. |
Bands
| Band | Range (inclusive) | Clinical meaning |
|---|---|---|
low | 0 – 28 | Low fear-avoidance beliefs about work. |
high | 29 – 42 | Elevated fear-avoidance beliefs about work. |
The 29 cutoff is the widely-cited FABQ-W threshold predicting
extended work disability in musculoskeletal pain populations.
Required items
All seven items are required for a strict /score call.
Worked example
Every item answered with 4 ("slightly agree"). See
quickstart.md for per-language scaffolding and
patterns-score.md for the shared /score
contract.
Send:
POST /api/fear_avoidance/fear_avoidance_beliefs/score HTTP/1.1
Host: engine.tripod-health.com
apikey: $ENGINE_API_KEY
Content-Type: application/json
X-Request-ID: docs-fear_avoidance_beliefs-score-basic
{
"responses": {
"item_1": 4, "item_2": 4, "item_3": 4, "item_4": 4,
"item_5": 4, "item_6": 4, "item_7": 4
}
}
Receive (200 OK):
{
"instrument": "fear_avoidance_beliefs",
"category": "fear_avoidance",
"finding": {
"algorithm_id": "fear_avoidance_beliefs",
"algorithm_version": "1.0.0",
"score": 28,
"band": "low",
"raw": {
"rubric_version": "1.0.0",
"responded_items": 7
},
"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-fear_avoidance_beliefs-score-basic",
"timestamp": "2026-04-21T23:14:59.255789+00:00"
}
Computation: 7 × 4 = 28 → low band at the upper edge (0–28).
Shift every answer to 5: 7 × 5 = 35 → high band (29–42) —
illustrating how close to the cutoff a common response pattern can
sit.
Calling in your language
curl
curl -sS -X POST "https://engine.tripod-health.com/api/fear_avoidance/fear_avoidance_beliefs/score" \
-H "apikey: $ENGINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"responses":{"item_1":4,"item_2":4,"item_3":4,"item_4":4,"item_5":4,"item_6":4,"item_7":4}}'
Python (requests)
# Uses the call() helper from quickstart.md.
responses = {f"item_{i}": 4 for i in range(1, 8)}
result = call("POST",
"/api/fear_avoidance/fear_avoidance_beliefs/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: 7 }, (_, i) => [`item_${i + 1}`, 4]),
);
const result = await call("POST",
"/api/fear_avoidance/fear_avoidance_beliefs/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: 7 }, (_, i) => [`item_${i + 1}`, 4]),
);
const result = await call<ScoreResponse>(
"POST",
"/api/fear_avoidance/fear_avoidance_beliefs/score",
{ responses },
);
Go
// Uses the call() helper from quickstart.md.
responses := make(map[string]int, 7)
for i := 1; i <= 7; i++ {
responses[fmt.Sprintf("item_%d", i)] = 4
}
result, err := call("POST",
"/api/fear_avoidance/fear_avoidance_beliefs/score",
map[string]any{"responses": responses}, 3)
if err != nil {
panic(err)
}
finding := result["finding"].(map[string]any)
fmt.Printf("FABQ-W: %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 <= 7; i++) {
if (i > 1) body.append(",");
body.append("\"item_").append(i).append("\":4");
}
body.append("}}");
String result = call("POST",
"/api/fear_avoidance/fear_avoidance_beliefs/score",
body.toString(), 3);
System.out.println(result);
C# (.NET HttpClient)
// Uses the Call() helper from quickstart.md.
var responses = Enumerable.Range(1, 7)
.ToDictionary(i => $"item_{i}", _ => 4);
var result = await Call(HttpMethod.Post,
"/api/fear_avoidance/fear_avoidance_beliefs/score",
new { responses });
var finding = result.GetProperty("finding");
Console.WriteLine($"FABQ-W: {finding.GetProperty("score").GetDouble()} ({finding.GetProperty("band").GetString()})");
PowerShell
# Uses the Invoke-Engine helper from quickstart.md.
$responses = @{}
1..7 | ForEach-Object { $responses["item_$_"] = 4 }
$result = Invoke-Engine -Method Post -Path "/api/fear_avoidance/fear_avoidance_beliefs/score" -Body @{ responses = $responses }
"FABQ-W: $($result.finding.score) ($($result.finding.band))"
Clinical interpretation
- What it measures. Beliefs that work causes or worsens pain, and that return to work is inadvisable or unlikely.
- Predictive value. High FABQ-W scores are among the stronger predictors of prolonged work disability in musculoskeletal-pain populations.
- Treatment implication. Elevated FABQ-W suggests that graded-activity, reassurance, and cognitive-functional approaches may outperform pure symptom-targeted interventions.
Intended use
- Return-to-work risk stratification in musculoskeletal complaints.
- Targeting cognitive-functional therapy — high FABQ-W often flags candidates for such approaches.
- Tracking belief change over time during a rehabilitation course.
- Feeding the CDRI composite as a fear-avoidance signal specific to work.
Mistaken use
- Do not interpret FABQ-W as general fear of movement. Use
kinesiophobia(TSK-11) for general kinesiophobia not tied to work. - Do not expect the FABQ physical-activity subscale. It is
not in Trinity. Do not paste FABQ-PA item responses into the
FABQ-W
item_1–item_7slots; the scoring is subscale-specific and the result would be meaningless. - Do not compare raw scores across rubric versions without
checking
version— item sets, weights, and cutoffs can change. - Do not infer "willingness to work" from a low FABQ-W. It
measures beliefs, not intent or ability. A
lowband does not mean a subject will return to work quickly; it only indicates that fear-avoidance beliefs about work are not the bottleneck.
Debugging
- Capture
request_id. Present in every response body. - Subject reported fear-related physical-activity responses
that do not match your items. You are probably thinking of
FABQ-PA. Check the item text against the
/questionsresponse; all items here are work-related. 400 ValidationErrorwithmissing_items. Send all seven items.
Related
- patterns-questions.md, patterns-score.md — shared contracts.
- instruments-kinesiophobia.md — TSK-11; general fear-of-movement, not work-specific.
- instruments-yellow_flag_screen.md — OSPRO-YF; broader multi-domain yellow-flag screen.
- instruments-orebro.md — Örebro; multi-domain pain-screening tool covering work expectations alongside other constructs.
- composite-cdri-compute.md — composite.
Change history
| Date | Change |
|---|---|
| 2026-04-20 | Initial publication. |