What this is, and who it is for
There are three ways to find out whether a form works, from quickest to most reliable: the issues list (the builder tells you what is wrong in the design), the preview (you fill the form in as a participant's data collector would, without saving anything) and a UAT cycle (the real form, in a test workspace, with test participants, signed off by three people). This page covers the first two and says what only the third can show.
Where to find it
- Preview: the Preview button in the builder's toolbar, or Ctrl+P. The form's own page (Study → Build → Forms → the form) shows a Preview panel too, and the builder's top bar has a Preview link.
- Issues: the red and amber error and warning counts beside the save state in the toolbar. Choosing one opens the issues list in place of the properties panel.
What you can do
Read the issues list
Each issue is a numbered card (errors first) saying what is wrong, how to fix it, and a Go to field button that selects the field and opens the properties tab where it is fixed. The same number appears on the field on the canvas. Filters: All, Errors, Warnings. The header says N errors, N warnings and how many fields were checked, or No issues. A variable used by several fields is one issue naming all of them.
Errors block making the form active; warnings never do. A form with errors cannot be activated.
Use the preview
The preview opens over the builder as Runtime preview, with a badge Not saved, the form's name, code and version, and three modes:
| Mode | What it is |
|---|---|
| Live entry | Interactive: fill the form in as the person entering data would. Formulas calculate, conditions show and hide fields, checks show their messages, tables add rows. A bar shows n/m answered and Reset clears what you typed |
| Read-only | A locked view: see the form without being able to change it |
| Print view | A clean single-page layout of the form for paper |
Nothing typed in a preview is saved. Close it with the ×.
- A released design is read-only in Build: changes go through an amendment.
- The preview is a read-only render; nothing entered in it is saved.
Every option
What the builder checks (the issues list)
Errors (block activation):
| Issue | When |
|---|---|
| Duplicate variable | Two fields (or columns) share a variable name |
| No options | A Radio, Dropdown or Multi-Select has none |
| Broken logic reference | A condition, rule or range refers to a deleted field |
| Deprecated logic reference | A condition refers to a field set aside: participants are served a form without it, so the rule never fires |
| Circular logic, circular formula | Fields that depend on each other |
| Unknown formula variable, deprecated formula variable, formula parse error | A formula that cannot be evaluated; also for a calculated column |
| Table has no columns, calculated column has no formula | Incomplete table |
| Auto-populate with no TRUE condition | The rule would never set the value |
| Invalid regular expression | A pattern that does not compile |
| Normal range inverted, two ranges apply to the same subjects, range depends on a missing field | See Units and normal ranges |
Warnings (never block): a variable name that is not 8 characters or fewer of letters, digits and underscores starting with a letter (only matters for SDTM and SAS v5 transport); a field with no label; an option with no label or no stored value; a table with no row identifier column; a table column with no header; a fixed table with no rows; a normal range row with no limits.
What the server also refuses when a form is made active
The server repeats the checks it can make without parsing a formula and refuses activation for: no data fields; a field order that names a field not in the form; duplicate variables; a field with no type or no variable; a choice field with no options; a table with no columns or (fixed) no rows; a column with no variable; a dropdown column with no options; an inverted or duplicated normal range; a condition that refers to a field that is not there; and a form that could produce more than 5,000 values in one record. Formula checks are made only by the builder (and by the Make active dialog, which lists them), because the parser lives there.
What a version's build check adds when it is submitted to UAT
Submitting a version runs further checks on the whole design and refuses with the whole list at once: the design is empty; two forms (or visits) share a code; a binding names a form or visit the version does not have; a rule refers to one it does not have; a form no visit holds (unless sites can add it as needed); a visit that holds no form; no protocol on file for the study; an event form that does not say what it is, lacks the standard fields, or is a second of its kind; an adverse event form without a serious adverse event form (or the reverse); a check severity that is not a known word; a field removed since the Live version; and, in an amendment, a breaking change to a field that holds Live data (Versions, reopening and publishing).
What a preview does not show
The preview runs the form engine in your browser: visibility, formulas, value assignment, and the checks the browser makes (required, limits, pattern, date limits, normal range). It does not run the server's checks (email, phone and time format, code lists, file type, multi-select counts), does not recalculate on the server, does not open queries, does not use a real participant's sex or age (a normal range by value shows the general range), and is not evidence that the form was tested. The test that counts is the UAT cycle.
What the system records
A preview leaves no trace: nothing is saved, audited or counted. The issues list is computed from the saved design on screen. The refusals above are recorded as the refusal itself (an error to the person who tried), not as events.
What you cannot do, and why
- Activate a form with errors. A form that duplicates variables or has a broken formula would collect wrong or no data.
- Treat the preview as validation. It shows how the design behaves in your browser, not how the signed-off system behaves.
- Preview with a participant's sex and age. A preview has no participant.
- Preview what a role other than yours sees. Roles see data in other screens; the form is the same.
Compliance Q&A
Yes, in layers. The builder lists design errors and blocks activation; the server repeats the structural checks; submitting the version runs the whole-design checks and freezes a hash-stamped snapshot; and a UAT cycle runs that snapshot with test participants before three different people sign it off. The preview is a convenience, not part of the evidence.
Limits: what to test and how many cycles is the study team's validation plan; the system enforces that a cycle passed and was signed, not that it was thorough.
Evidence: server versions module (submit to UAT: build checks, snapshot and hashUAT cyclethree sign-offs)client PreviewDialog and diagnostics
Related
Overview · Versions, reopening and publishing · Test a version in UAT · Design forms · Validation, edit checks and their severities