The status field allows users to set the “state” of a record, which sets the pin color based on the value selected in the status field. This can be used to give the data collector or viewer a high-level overview of the record without having to interact with it.
One big difference between the status field and other field types is how the field is set up. Instead of dragging the field into the layout, the button to enable and set up the status field is in the App Settings menu on the right side of the App Designer page. Once enabled, the status field will be displayed at the top of every record in your app.
Example Use Case
In this example, we are going to set up the status field for a Fire Hydrant Inspection Survey app. The Survey will take place in three possible stages:
During the first stage, all the fire hydrants will be located and inspected. The field member will either record that the fire hydrant passed the inspection or that the hydrant requires repairs. Stage two is performed if the hydrant requires repairs. Stage three is a quality control step and is done to verify the hydrant is in good working order.
Setting Up Your Status Field
When you click the Status Field button in the App Designer, a modal appears which will allow you to setup the status field and its options. First, let's create some status options. In our case, those needed for the fire hydrant inspection process: Not Inspected, Inspected, Needs Repair, and Verified.
To do this, click on the Add Status Choice four times, making one field for each status. Next, we enter the values mentioned above (Not Inspected, Inspected, Needs Repair, and Verified). Once the choices have been entered, we can assign a color to a status by clicking on the color in the row for the status option. By default, all status options start with red. In this example, we choose red for not inspected, blue for inspected, yellow for needs repair, and green for verified.
Now that we have all the status options created and colors assigned, we can move to the status field settings section on the right side of the modal. First, we will want to enable the status field by clicking the box next to "Enabled". Next, we can add the Label (Hydrant State was used), the Description (used to provide instructions), and the Data Name (this works the same way as the Value in above example).
Now you can set your Default Value. The default value is the initial value of the status field when new records are created.
The last three options are the Read-only, Hidden, and Default to previous value checkboxes. Typically, Read-only and Hidden are not used in the status field. If these options are enabled the only way to change the status is though the importer or by disabling these options.
Default to previous value could help the data collectors save time by setting the status to the last one used in their previous record. This is especially useful if most of the records will have the same status.
If you wish to restrict who can edit the status field you can create a custom role that does not have change status enabled.
Status Field in Action
Now that the status field has been enabled, we can begin to collect data. When a record is first created the status will automatically be populated with the default status that we set earlier (not inspected). After the inspection of the hydrant is completed, the status can be set to either inspected or needs repair, and so on until the final step is completed and the hydrant record is set to "verified."
Below is an image of what a creating a new record looks like with the status field enabled. The status field is already set to red and has not inspected selected, as it was the default value we opted for.
Filtering Data by Status
On all platforms (Android, iOS, and Web) you can quickly filter records by specific record statuses. This can reduce noise for the data collector in the field and allow them to only focus on records that are set to a specific status.
In the image below we can see what the map view looks like on an iOS device without any filters enabled.
Compare this to the image below, where the app is set to filter the data to only show records that have a status of needs repair.