Conditional Field Ordering

07-22-2022 06:05 AM
Status: Open
Labels (2)
Occasional Contributor II

Hey all,

This post is a long time coming. After speaking with a couple of Survey123 developers at the UC last week, I'm finally getting around to posting this idea to the community. 

TL;DR - Reorder fields in Survey123 based on an input set by the user. 

Survey123's success in my organization can be partially attributed to the ability to show & hide fields based on a condition set in Survey123 Connect. As an example, a lengthy maintenance inspection that differs from year to year can be consolidated into one mobile form. What was once 7 different forms on a different platform is now 1 form in Survey123. Less to manage, easier to maintain, and reliable offline capabilities. But I digress. 

In the effort to standardize this process, I have fielded feedback from multiple users asking to change the order of the fields in Survey123. Their reasoning is based in efficiency in the inspection process, as well as the ease of training others on how to perform the inspection.

For context - this is related to electrical substation inspections. As I have come to find out, not all substations are created equal. Some have components that others don't have. Some have different layouts & different points of access. In an effort to streamline this process as best as possible, I have built relevant expressions to address the former, but have no good way of addressing the latter. 

Below, Substation A represents a custom field reordering, given one substation's needs. Substation B shows what the original survey looks like. 


Substation ASubstation B
Screen Shot 2022-07-22 at 8.46.30 AM.png Screen Shot 2022-07-22 at 8.54.19 AM.png



In the spirit of consolidating this process (rather than create 30+ unique substation inspection surveys), I'm requesting a solution for reordering of fields in Survey123, conditionally based on user input. 


Thanks all, and special shout out to Barbara & Derek at the Survey123 booth(es) at the 2022 UC. 

@JamesTedrick for visibility

@DavidForbuss1 had a similar request

1 Comment

I will add my scenario as another use-case as well. We have a generic work order form that dynamically changes based on the type of work order.

For example, a "Meter Upgrade" would preferably have all the grouped meter related fields at the beginning, while a "Service Install" would have meter related fields at the end.


I did end up adding "dummy" fields that auto-populate the actual hidden feature layer field (assuming only one "dummy" field will be visible at a time). You would probably have to copy and paste all your groups multiple times in all the possible orders you would want and set all fields to null. Then, at the bottom of your form could be all the (hidden and not in groups) feature layer fields that auto-fill from whichever "active" group was populated.

I can give more detail if needed, I believe it would technically work, but I think in your use case it would be way to convoluted and not worth the effort. 

So here's my vote!