Data entry checks
Ranges, “if - then” rules, show-if, “no data”, critical fields, automatic queries.
Checks catch mistakes while the data is being entered, not weeks later at the monitoring visit. They are set up in the eCRF builder, and the same checks run everywhere: in the browser as the investigator types, on the server when the form is saved, for an Excel import and for the forms patients fill in themselves (ePRO).
1. Allowed range: an error
Set in the properties of a number field. A value outside it cannot be saved. Use it for physically impossible values, typing slips: a heart rate of 720, a height of 17 cm. In REG-DIAB-01 systolic BP is allowed from 50 to 300 mmHg.
2. Expected range: a query
Also in the field properties. The value is saved, but a query opens automatically: “outside the expected range, confirm or correct it”. Use it for rare but possible values. In the demo systolic BP is expected between 90 and 180 mmHg: 85 is saved, with a query. When the investigator corrects the value, the query closes by itself.
3. “If - then” checks
Built at the bottom of the form page from drop-down lists, without formulas or programming:
- Eight conditions: equals, does not equal, is greater than, is greater than or equal to, is less than, is less than or equal to, is empty, is filled in.
- Compare with a value or with another field of the form: systolic with diastolic BP, the end date of an adverse event with its start date.
- Dates have the word
today: “Date of diagnosis is greater than today → error”. - For choice fields you pick the answer itself: “Serious adverse event equals Yes → query”. They take equals, does not equal, is empty and is filled in.
- “Is empty” and “is filled in” catch gaps in related fields.
- A check may compare with a field of another form or the patient's card (“the AE start date is before screening”) and run only when AND / OR conditions hold. More: AND / OR conditions and checks across forms.
- Each check has a message for the investigator. A check can be switched off without deleting it, and switched back on.

4. Checks and calculated fields by formula
When a check needs more than one field and one value, switch the new check to Formula and write it the way you would in a spreadsheet: SBP - DBP < 20, DAYS(AE_START, AE_END) > 30, BMI >= 40 AND PATIENT.SITE = "01". Then choose the field the query or the error goes to. A calculated field has the same: choose “Free formula” in its properties, for example SQRT(HEIGHT * WEIGHT / 3600) for the body surface area or IF(SMOKER = 1, CIGS * YEARS / 20, 0).
- What a formula names: fields of the form (
SBP), fields of other forms (DM.AGE, the patient's latest value) and the patient's card (PATIENT.SEX,PATIENT.BIRTH_YEAR,PATIENT.ENROLLED_ON,PATIENT.SITE, the site number). A patient form names only patient forms, and an unblinded form is named only by unblinded forms. - Operators and functions:
+ - * / ^, comparisons,AND OR NOT(alsoИ ИЛИ НЕ),IF,ROUND,MIN,MAX,SUM,MEAN,COUNT,COALESCE,ISBLANK,FILLED,HASfor a multiple choice, datesTODAY,DATE,DAYS,MONTHS,YEARS, andSQRT,LN,LOG10,EXP. “How to write” under the formula lists them with examples, and the two lists put a field or a function in where the cursor is. - Missing data: an empty value makes the arithmetic empty, a comparison with it is unknown, and a check by formula never fires on missing data. To speak about a gap, write
ISBLANK(WEIGHT)orFILLED(WEIGHT). - Checked as you type: the builder says at once whether the formula reads, shows it with the field names, and refuses a field that does not exist, a field the form may not name, a calculated field that uses itself or calculated fields that use each other in a circle.
- Try it: type values as for a test patient under the formula, and the result shows at once: the number of a calculated field, or whether the check fires. Nothing is saved. The form preview runs the same formulas, together with the values of other forms and the patient's card typed for it.
- Safe and audited: a formula is a small language of its own, read by the portal and never run as a program. Adding or changing it is recorded in the audit trail with its text, a calculated value is saved and audited like any other value, and the DVP shows each formula with the form codes.

Error or query?
Error: the value is certainly wrong; the form is not saved until it is corrected. Query: the value is suspicious but possible; the data is saved, and the investigator and the monitor see the question on the “Queries” page. An automatic query closes by itself once the value no longer triggers the check.
Other rules of entry
- Required fields must be filled in, or marked “no data”, for the form to be complete.
- Show-if conditions: a hidden field is neither checked nor required, and its value is cleared. A condition may have several rows joined by AND / OR and name other forms and the patient's card.
- “No data”: where allowed, the investigator marks ND (not done), UNK (unknown) or NA (not applicable), and the empty field raises no question.
- Critical fields (the SDV flag) are what the monitor verifies against the source first.
- Numbers are checked as numbers and dates as dates: “12,5” is accepted, “31.02.2026” is not.
The same checks everywhere
The browser runs the checks as you type: the message appears under the field before anything is sent. The server runs the same checks again when the form is saved, so they cannot be bypassed, and also for an Excel import and for the forms patients fill in themselves.
Check in the preview
“Preview” on the form page opens the form as the investigator sees it. The checks run as you type, the panel on the right lists every check of the form, and “Check as when saving” shows what would happen on saving. Nothing is saved.

