Show a follow-up question only when it applies. Let the form calculate BMI, eGFR, QTc and age so nobody types a derived value. Capture does both in the visual builder, with no code, and edit checks catch what is left.
Free sandbox · No credit card · 21 CFR Part 11 aligned
Entered by site
Height
Weight
Systolic BP
Diastolic BP
Calculated, read-only
BMI
Mean arterial pressure
Pulse pressure
What this page covers
Why it matters
Most data queries come from three sources: a site answered something that did not apply, a site calculated something by hand and got it wrong, or a site entered a value that is out of range. Each has its own fix. Skip logic removes questions that do not apply. Calculated fields remove calculations. Edit checks catch the genuinely suspicious entries that remain. Design the first two properly and the third has far less to do.
Paper CRFs had none of these tools, which is why they carry instructions such as "if yes, go to question 12" and blank boxes for BMI. Copying that layout into an electronic form keeps every limitation and adds none of the benefits. The guide to designing an eCRF and the page on paper CRF to eCRF conversion cover redesigning rather than replicating.
Skip logic and calculations also shape the data you analyse. A hidden question is an answer that was not needed, not an answer that was forgotten, and a calculated value always agrees with its inputs. That is cleaner than a spreadsheet of mixed hand calculations, and it is easier for a statistician to defend.
Skip logic and branching
In the visual builder you attach a condition to a question: show it when an earlier answer matches. A follow-up about hospital admission appears only when the event was serious. A pregnancy test appears only for participants where it is relevant. The site sees a shorter form with no dead ends.
Event term
Serious?
Seriousness criteria
Shown only when Serious is Yes
Causality (study treatment)
Required for serious events
Possibly relatedDesign rules
| Situation | Use | Example |
|---|---|---|
| A question only makes sense after another answer | Skip logic | Seriousness criteria only when the event is serious |
| A value is a formula of other fields | Calculated field | BMI from height and weight |
| A value must stay in a plausible range | Edit check (range high or low) | Systolic BP above the protocol limit raises a query |
| A value must match a specific rule | Edit check (custom value rule) | Date of onset after date of consent |
| A repeating set of measurements | Table section | Lab analytes as rows with unit, result and reference range |
Calculated fields never need a range check on the calculated value itself if the inputs are checked. Check the inputs.
Calculated fields
Turn any field into a calculated one. Choose a formula, map its inputs to questions on the form, and the value fills in during entry as read-only. Capture suggests the inputs from your question labels.
BMI (Body Mass Index)
Auto-derivedHeight (cm)
172
Weight (kg)
68.5
Result
23.2 kg/m²
Reference: WHO · shown read-only during data entry
Worked example
Demo participant: woman, date of birth 1972-03-09, visit on 2026-10-02, height 172 cm, weight 78.4 kg, BP 128/82 mmHg, serum creatinine 1.0 mg/dL, QT 392 ms, heart rate 68 beats/min. Results rounded for display.
| Field | Formula | Result |
|---|---|---|
| Age from DOB | Whole years between date of birth and visit date | 54 years |
| BMI | weight (kg) ÷ height (m)² | 26.5 kg/m² |
| BSA, Mosteller | √(height cm × weight kg ÷ 3600) | 1.94 m² |
| BSA, Du Bois | 0.007184 × weight^0.425 × height^0.725 | 1.92 m² |
| Mean arterial pressure | diastolic + (systolic − diastolic) ÷ 3 | 97.3 mmHg |
| Pulse pressure | systolic − diastolic | 46 mmHg |
| QTc, Bazett | QT ÷ √RR, with RR = 60 ÷ heart rate in seconds | 417 ms |
| QTc, Fridericia | QT ÷ RR^(1/3) | 409 ms |
| eGFR, CKD-EPI 2021 | 142 × min(Scr/κ, 1)^α × max(Scr/κ, 1)^−1.200 × 0.9938^age × 1.012 if female; κ 0.7 and α −0.241 for women, κ 0.9 and α −0.302 for men | 67 mL/min/1.73 m² |
| Creatinine clearance, Cockcroft-Gault | (140 − age) × weight ÷ (72 × Scr), × 0.85 if female | 79.6 mL/min |
Check which formula your protocol specifies. Bazett over-corrects at high heart rates, which is why many protocols prefer Fridericia. The eGFR and QTc pages have interactive versions: [eGFR CKD-EPI calculator](/solutions/egfr-ckd-epi-calculator) and [QTc calculator](/solutions/qtc-calculator).
Add height, weight and blood pressure to a sample form in the free sandbox, map the BMI and MAP calculators and enter a participant.
Design advice
First, do not branch on free text. Skip logic works best on structured answers such as yes or no, a dropdown or a number, because the condition is then exact. Second, do not hide anything the protocol requires. If a question is mandatory for every participant, it should not sit behind a condition. Third, keep the chain short. Three levels of nested conditions are hard for sites to follow and hard for you to test, so split the form instead.
Fourth, put the units on the inputs and keep them fixed. A calculated BMI is only right if height is in centimetres and weight in kilograms, so collect them that way and do not leave unit choice to the site. Fifth, decide with your statistician which derived values are calculated at collection and which in analysis. A clinical derivation the site needs to see, such as eGFR for eligibility, belongs on the form. A complex endpoint derived across visits is better built in analysis programs, where the rules are written once and version-controlled.
Finally, test it. In the free sandbox, enter boundary values, change an earlier answer after a dependent question was filled in, and confirm the form behaves as the protocol expects. A form that passes your own testing is far cheaper than a form amended after the first participant. See the vital signs eCRF template for a form that already uses calculated BMI, MAP and pulse pressure as a starting point.
Before go-live
Answer each trigger both ways and confirm the dependent questions show and hide.
Height in cm, weight in kg, creatinine in the unit the formula expects.
Bazett or Fridericia, Mosteller or Du Bois, as written in the protocol.
Range checks on height, weight, BP and creatinine so a bad input does not produce a plausible-looking result.
Only approved forms appear in the casebook, and approved forms are locked for live use.
Skip logic shows or hides questions depending on earlier answers, so sites see only the questions that apply. For example, seriousness criteria appear only when an adverse event is marked serious.
BMI, BSA (Mosteller and Du Bois), waist-hip ratio, mean arterial pressure, pulse pressure, eGFR (CKD-EPI 2021), creatinine clearance (Cockcroft-Gault), QTc (Bazett and Fridericia), QTcF from heart rate, age from date of birth, and minutes or hours between two date-times.
No. Calculated fields are shown read-only during entry, so the value always agrees with its inputs and cannot be mistyped.
Skip logic controls which questions appear. Edit checks validate the values that are entered, with range high, range low and custom value rules that raise an auto-query with a priority you choose.
No. Skip logic, calculated fields and edit checks are all set up in the visual builder. You pick a formula, map the inputs to questions on the form and the value fills itself in.
Use the one your protocol specifies. Fridericia is often preferred in drug safety studies because Bazett over-corrects at higher heart rates. Capture provides both, so the choice follows the protocol.
Yes. The free sandbox includes every feature, so you can build the form, enter sample data, test every branch and check the calculations. There is no credit card and no time limit, and you pay only once you go live.
Keep exploring
Build the form, add skip logic and calculated fields, and test every branch in the free sandbox. No credit card, no time limit.