What this demonstration is, and is not
It is a workflow sketch. It does not evaluate an educational intervention or establish knowledge gain, effectiveness, behavior change, causation, clinical safety, or publication-ready evidence, and it gives no clinical advice. The six items are standalone indicators: none of them is part of a composite score.
Records are pseudonymously linked on this device using a code, phase, and timestamp. Anyone who knows the code or accesses this browser/export may link records. This is not anonymous.
What the linkage design actually demonstrates
A questionnaire that only ever collects anonymous, unconnected responses can tell you what a group looked like at one moment. It can never tell you whether the same person answered differently later, because there is nothing tying the two answers together. That limitation is not a privacy feature — it is a measurement dead end.
The alternative most systems reach for is an identity: a name, an email, an account. That solves the linkage problem by creating a much larger one, because now the record is directly attributable and every downstream copy carries a person's identity with it.
This sandbox demonstrates the third option, the one used in most pre/post survey research: a participant-generated linkage code. You invent an eight-character code, you use it twice, and the two records become a pair. The instrument never learns who you are, and it never has to.
What a pair buys you
- Within-person comparison instead of between-group comparison
- Two records under one code are the same respondent twice, so the comparison is not contaminated by the fact that different people answer differently to begin with. This is the entire reason the code exists.
- Visible attrition
- Codes with a PRE and no POST are countable. Unlinked collection hides that loss completely, and the people who drop out are rarely a random sample of the people who started.
- A record you can carry without carrying your name
- The export is complete enough to hand to someone else, and contains no identifier the instrument did not receive from you.
What a pair does not buy you
A transition from “Somewhat disagree” to “Agree” on one item is a description of two answers. It is not evidence that anything worked. At minimum, four rival explanations survive, and this design rules out none of them:
- Response shift
- The respondent's internal yardstick for the question moved. Someone who learns how much they did not know can rate their own preparedness lower after a genuinely useful conversation — a documented contaminant of pre/post self-report (Howard & Dailey, 1979; Sprangers & Schwartz, 1999).
- Testing effect
- Answering the six items the first time is itself an exposure. It draws attention to interactions, disclosure, and timing, and can move the second answer with no other intervention at all.
- Social-desirability bias
- Intention and comfort items on a sensitive topic invite the answer the respondent believes is expected, and the pressure is not necessarily equal before and after (Krumpal, 2013).
- Everything else that happened in between
- No control condition, no randomization, no fixed interval, no exposure record. Any event in the gap is a candidate cause, and regression to the mean alone will move extreme first answers back toward the middle (Barnett et al., 2004).
Read the full design rationale, including a worked example of one pair →
Questionnaire record
Choose a code you can reproduce later, or generate one. Use the same code for both phases; use a different code for a different respondent.
Eight characters, letters and digits. Never use a name, a date of birth, initials plus a birthday, or a medical-record number.
Local records
Paired records
Item-by-item label transitions for codes that have both a PRE and a POST record. Labels only — no total, no change score, no effect estimate.
Take the records with you
Everything below runs inside this page. Files are produced in the browser and never uploaded; importing reads a file you choose from your own device.
Imported records are validated against the same schema as stored ones. Anything malformed, duplicated, or out of range is discarded rather than repaired.