On Wednesday, July 16th, 2025, a new upgrade was applied to our instance of REDCap. Within this upgrade, the developers of the REDCap application introduced a bug fix that alters behavior some users had incorporated into their workflows. This bug fix will impact any existing logic within REDCap that relies on form/survey completion status. This includes logic that is used within field branching logic, report logic, form display logic, Automated Survey Invitations (ASIs), Alerts & Notifications, etc.
Jump to:
Background
Every instrument within REDCap is automatically assigned a form/survey completion status variable. The naming of this variable is automated, and is locked when an instrument is moved to production, or created when a project is in production. The naming convention of this variable follows the naming convention of "instrument_name" (in snake case), followed by "_complete". This variable is used to store information on form/survey completion status.
You can identify the name of a form/survey completion status variable by looking at the final row associated with an instrument within your project's codebook.
This field will not appear within the designer.
The form/survey completion status appears uniquely on any instrument from a data entry form view, appearing at the bottom of the instrument, underneath the "Form Status" section header. It acts as a dropdown, and offers the response options of:
- Incomplete (raw value 0)
- Unverified (raw value 1)
- Complete (raw value 2)
This variable does NOT appear from a survey view, but survey entry does influence the value output into this field. A "Completed Survey Response" is generated when a survey has been successfully submitted.
From a data entry form view, this just appears as a "Complete" value, and is also coded with a raw value of 2.
A "Partial Survey Response" status is triggered when any of the following situations occur:
- A survey has "Save & Return Later" functionality enabled, and a survey respondent clicks this button without submitting their survey.
- A survey has "Pagination" enabled and multiple pages configured, and the survey respondent clicks the "Next page >>" button at least one time without submitting the survey.
- A survey has required fields, and the participant attempts to submit the survey without entering data into these fields.
From a data entry form view, this form status will appear the same as "Incomplete", with a raw value of 0.
These different completion statuses are associated with different radio button appearances in the legend that is displayed on the "Record Status Dashboard" and "Record Home Page" within a REDCap project.
The "Incomplete (no data saved)" status, which appears as a blank bubble, is assigned to all instruments by default. This will remain the default value of instrument until a new status has been entered. This status can also be achieved if all data is cleared from a form, by clicking the "Delete data for THIS FORM only" button from the data entry view of the instrument.
Description of Bug Fix
Prior to the implemented bug fix, a blank form/survey completion status was treated slightly differently than other variables within logic in REDCap. Specifically, the definition of incomplete when used in any logic (branching, reports, form display logic, etc.) would previously capture all of the following form/survey statuses:
- Incomplete (no data saved)
- Incomplete
- Partial Survey Response
The bug fix aligns the functionality of this field with standard dropdown fields, where "blank" is a potential value. This means that "Incomplete (no data saved)" will now be represented as the [blank]/null/"" option, while incomplete and partial survey responses will still be grouped under the definition of "incomplete".
Examples
Before bug fix
The following are examples of how these conditions would be met prior to the bug fix -
Basic report logic editor - Show if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
Basic report logic editor - Do not show if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
Advanced (written) logic - Show if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
([instrument_name_complete] = "0")
Advanced (written) logic - Do not show if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
([instrument_name_complete] <> "0")
After bug fix
The bug fix implemented now treats "Incomplete (no data saved)" (no raw value) as a blank (""). The following examples of how these conditions would be met after the bug fix -
Basic report logic editor - Show if "Incomplete (no data saved)":
Basic report logic editor - Do not show if "Incomplete (no data saved)":
Advanced (written) logic - Show if "Incomplete (no data saved)":
([instrument_name_complete] = "")
Advanced (written) logic - Do not show if "Incomplete (no data saved)":
([instrument_name_complete] <> "")
In cases where you want logic to act as it did prior to this bug fix (capturing "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response"), you may reference the following examples -
Basic report logic editor - Show field if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
Basic report logic editor - Hide field if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
Advanced (written) logic - Show if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
([instrument_name_complete] = "") OR ([instrument_name_complete] = "0")
Advanced (written) logic - Hide if "Incomplete (no data saved)", "Incomplete", and "Partial Survey Response":
([instrument_name_complete] <> "") AND ([instrument_name_complete] <> "0")