See here for more functions and expressions you can use.
Tip: if your calculation does not seem to work correctly, try adding white space around the operator, e.g. instead of "=($field_1+5)" use "=($field_1 + 5)"
|selected(string list, string value)||Returns true if the given value was selected from the given multi-select list, otherwise returns false.||=selected($select_symptom, "cough")|
|selected-at(string list, number index)||Returns the value of the item at the 0-based index of the given list or returns an empty string if the item does not exist (including for negative index and index 0).||=selected-at($select_symptom, 1) returns the second selected item in the list|
|count-selected(list)||Returns the number of items selected in the given list.||=count-selected($select_symptom)|
Add a select many field for selecting all relevant symptoms and use the select functions above.
Use the Preview to view how it will display on the handset:
|repeat-index()||Returns the iteration index of the current repeating group.||See example below|
|indexed-repeat()||Indexed-repeat is a function that allows you to get information from a specific iteration of a repeat group and use in another area of the form.||=indexed-repeat($field, $group, repeat-index())|
See example here.
After entering the number of household members that live in a household, a repeating group is used to capture the details of each member. The fieldworker needs to keep track of which household member they are currently capturing information for.
- In the display text type '=', then select repeat-index()
- Once the household member's name is captured you can refer to the person by name to capture their other details.
- On the device it will display as follows for the second member:
|count(list)||Returns the number of objects in the argument set||=count($repeat_group)|
Returns the number of repeats in a group
|count-non-empty(list)||Returns the number of non-empty objects in the argument set.|
|position(.. )||Returns the current iteration within a repeating group, similar to the =repeat-index() function.||See example above|
The fieldworker must make sure that they have enumerated all members of a household. Display how many members they have captured by counting the number of times they have repeated the member details group.
- The total number of household members has been captured in the $HH_Number field.
- $Member_name is a required field in the member details group.
- In the display text type '=', then select count(), then enter $Member_name as the argument.
- After editing, the function and field references will be highlighted as follows:
Add location fields for selecting capturing coordinates and use the geographic functions above.