How to calculate form filling percentage
What is form filling percentage
Form filling percentage is a proportion of a form that has been completed by a user. It is a metric commonly used in UX research, web analytics, and digital form management to evaluate how users interact with forms — whether on websites, applications, or platforms such as surveys, patient intake forms, or insurance claim submissions.
Why it matters
Data completeness is essential for downstream use (e.g., analytics, clinical decision support).
User feedback: Form filling percentage gives users a sense of progress and can reduce drop-off rates.
Example Use Case
A patient intake app displays a FHIR Questionnaire for demographics and medical history. The QuestionnaireResponse captures patient input. You want to show “78% complete” based on how many fields the patient filled before submission.
Solution
In this tutorial, we will calculate a form filling percentage using the following formula:
Form Filling Percentage=(Number of Answered Items/ Total Enabled Questionnaire Items)×100
To show the form filling progress, we define a special Questionnaire.item which calculates the form filling percentage.
Warning
This solution will work correctly with Aidbox version v2503 or later (available from March 25, 2025, if you're using the Edge channel)
Steps to calculate the form filling percentage
To calculate the form filling progress, we have to create an item with
type = integer
and setreadOnly = true
.This item must be placed at the end of the Questionnaire.item array and include a calculatedExpression with the following value:
This expression identifies all items that should be answered and that have been already answered.
Specifics of the approach:
Considers nested items (e.g., groups of questions)
For Questionnaire with enableWhen logic (conditional questions that appear based on previous answers): only enabled items are taken into account when calculating the form filling percentage. This may result in form filling percentage decrease when a user answer triggers a new section of answers to be enabled.
Questionnaire.item which are excluded when calculating Total Questionnaire Items:
hidden items
disabled items
computed items
readonly items
group items
display items
Final Questionnaire with example items.
In this example we replace typical numerical widget with slider to make it more visual but feel free to revert back:
Last updated
Was this helpful?