{{ progressPercentage }}%
  • {{ q.id }}. {{ q.text }}
{{ resultText.title }}
{{ resultText.depressionLabel }} · {{ depressionSeverity }} {{ resultText.anxietyLabel }} · {{ anxietySeverity }} {{ resultText.stressLabel }} · {{ stressSeverity }}

  • {{ line }}

{{ resultText.answersHeading }}
# {{ resultText.questionCol }} {{ resultText.answerCol }}
{{ a.id }} {{ a.text }} {{ a.answer }}

Introduction

Depression, anxiety, and stress describe how often mood changes, worry spikes, and physical tension show up; the 21-item Depression Anxiety Stress Scales checklist translates the past week's experiences into three comparable scores so you can see which cluster is most active.

Three bars representing depression, anxiety, and stress levels

Each prompt asks how often a statement applied, using anchors from "Did not apply to me at all" through "Applied to me very much, or most of the time." Answering with your first honest impression keeps the scale aligned with the proportion of days those feelings actually appeared.

You provide 21 quick responses, and the tool returns domain totals plus severity language so you can compare how mood loss, fear cues, and physiological tension move relative to one another. Seeing stress stay normal while anxiety jumps, for example, hints that racing thoughts are outrunning your current calming routines.

Treat unusually hectic or restful weeks as context notes when you interpret scores, and consider switching to the 42-item version in this catalog when you need a fuller item set for clinical documentation. Persistent high bands or escalating scores are cues to reach out to qualified health-care professionals rather than self-managing alone.

Technical Details

The Depression Anxiety Stress Scales (DASS-21) groups seven prompts per domain, covering loss of pleasure, nervous energy, breathlessness, irritability, and other cues surfaced in the questionnaire text. Responses are coded as integers from 0 to 3 so the four frequency anchors remain intact in storage.

The component sums each domain's raw scores and then doubles them so every area sits on a 0-42 range that aligns with the longer DASS-42 form. Let the raw sums across depression, anxiety, and stress items be denoted by ΣDep, ΣAnx, and ΣStr; their doubled values produce the displayed scores.

Severity bands mirror the cut-points encoded in the script: depression is Normal at 0-9, Mild at 10-13, Moderate at 14-20, Severe at 21-27, and Extremely Severe at 28 or above; anxiety uses 0-7, 8-9, 10-14, 15-19, and ≥ 20; stress uses 0-14, 15-18, 19-25, 26-33, and ≥ 34. These labels drive the colored chips, the "worst band" badge, and the next-step guidance.

As you answer, the tool flags any response of 2 or 3 as a driver, highlights values of 0 or 1 as relative strengths, and pairs them with domain-specific action ideas. Keeping the recall window to the past seven days makes repeated administrations comparable while still sensitive to weekly shifts.

D = 2×iDepri A = 2×iAnxri S = 2×iStrri
Symbols and sources
Symbol Meaning Unit / datatype Source
ri Response to item i on the 0-3 frequency scale integer Input
D Depression score after doubling 0-42 Derived
A Anxiety score after doubling 0-42 Derived
S Stress score after doubling 0-42 Derived
Severity interpretation
Domain Normal Mild Moderate Severe Extremely Severe
Depression 0 to 9 10 to 13 14 to 20 21 to 27 ≥ 28
Anxiety 0 to 7 8 to 9 10 to 14 15 to 19 ≥ 20
Stress 0 to 14 15 to 18 19 to 25 26 to 33 ≥ 34

Doubling the raw sums keeps interpretation aligned with the DASS-42 conventions; it also means each one-point change in the raw average shifts the doubled score by two points. Driver and strength lists stem directly from the thresholds in driverItems and strengthItems, helping you focus coaching conversations on the statements that mattered most.

This tool provides informational estimates and does not substitute professional advice. Treat Severe and Extremely Severe bands, or sudden spikes compared with last week, as signals to seek qualified support promptly.

Variables & Parameters

Parameters
Parameter Meaning Unit Typical range Sensitivity
ΣDep Raw sum of depression items before doubling points 0-21 Drives D
ΣAnx Raw sum of anxiety items before doubling points 0-21 Drives A
ΣStr Raw sum of stress items before doubling points 0-21 Drives S
Driver flag Responses scored ≥ 2 (considerable or most of the time) level 2-3 Populates driver list
Strength flag Responses scored ≤ 1 (none or some of the time) level 0-1 Feeds strengths list

Domain scores respond most sharply when several driver items shift together; single-item changes move the doubled total by two points.

Rounding Policy

All raw sums and doubled scores remain as integers. Progress and percentage displays use Math.round to nearest whole numbers, and the ECharts bar labels mirror the exact integer totals.

Input & Validation

Validation rules
Field Accepted values Notes Placeholder
Items 1-21 0, 1, 2, 3 Rendered as radio groups; results unlock only after every item is answered. None
Query parameter r [0-3-]{21} Hyphen stores blanks; invalid strings are ignored and reset. N/A

The shareable code updates after each valid change, and partial entries retain hyphens until you finish.

I/O Formats & Encoding

Inputs and outputs
Channel Content Encoding Precision
User interface Ordinal frequency choices (0-3) Integer Exact
URL parameter r 21-character response string String Exact
Computed outputs Domain scores, severities, driver/strength lists Number / string Exact

Query parameters remain untouched until you interact, preventing unsolicited URL changes on initial load.

Networking & Storage

All calculations and visualisations run locally; the component does not call remote APIs, analytics, or trackers.

Responses persist only in memory and in the optional encoded query string. Reloading without the code clears the data immediately.

Performance & Complexity

Processing cost grows linearly with the 21 items (O(21)); once complete, rendering the bar chart is the only additional work. Memory usage stays minimal because results are stored as small arrays.

Diagnostics & Determinism

Identical answer patterns always yield the same domain rankings, badges, and next-step suggestions. Tie-breaking follows severity rank first and raw score second, ensuring consistent summaries.

Security Considerations

Inputs are constrained to known enumerations, encoded URLs accept only digits 0-3 or hyphens, and no user-supplied HTML is injected. The tool avoids cookies and leaves no server-side logs.

Assumptions & Limitations

  • Heads-up This screening is informational and cannot confirm or rule out clinical diagnoses.
  • Self-report accuracy depends on answering the prompt text as written; aspirational answers undercut trend detection.
  • Items referencing breathing difficulty or heart racing can be elevated by illness or recent exercise rather than anxiety.
  • Weekly recall may miss rapid swings inside the week; jot context notes when unusual events occur.
  • Doubling assumes the DASS-21 to DASS-42 scaling; alternate scoring conventions are not supported here.
  • Driver and strength heuristics ignore subtle shifts of one point; review the full item list when nuance matters.
  • Sharing the encoded URL forwards every response as entered; reset before demonstrating the tool to others.
  • Comparisons across people can be misleading because the interface is optimised for within-person tracking.

Edge Cases & Error Sources

  • Leaving any item blank keeps its contribution at zero until you answer, temporarily understating severity.
  • Editing the r parameter with characters outside 0-3 or '-' resets the entire response string.
  • Refreshing before completing the last item clears partial answers because the chart only renders after full completion.
  • Answering every item with the same value produces flat charts; interpret these as data-entry artefacts.
  • Switching devices or browsers drops cached responses since nothing writes to storage.
  • Rapidly clicking navigation can scroll past the active item before the focus helper settles.
  • Browser translation or accessibility overlays might paraphrase prompts, shifting how you interpret the anchors.
  • Running the assessment multiple times in a single day adds noise because the wording targets the whole week.
  • Copying the share link to someone else's device loads your answers; clear the form before lending hardware.
  • Large score jumps between sessions can stem from misreading one or two items; review the drivers list when this happens.

Scientific & Standards Backing

Severity ranges and terminology follow the cut-point arrays [9, 13, 20, 27], [7, 9, 14, 19], and [14, 18, 25, 33] embedded in script.js, matching the conventional DASS-21 conversion table.

Domain-specific next steps reuse the guidance defined in nextSteps() so the narrative feedback stays aligned with the encoded care playbooks.

Privacy & Compliance

No responses leave the browser unless you share the encoded query string. Organisations embedding this assessment should add their own consent language and retention policies to meet jurisdictional requirements.