Hiding and instance within an repeat?

06-13-2018 06:54 AM
New Contributor III

For Survey123, is there currently any way to hide an instance (set of data) within a repeat once that instance has been completed?

For example, what I want to do is create a continuing use form to perform recurring monitoring activities at various sites.  I want to create the form for each site once before the initial visit to said site, but have within it a series of repeats to store the data collected on each successive visit (e.g. by date).  Doing this will eliminate the variability of the GPS sensitivity when a point is taken on successive visits and maintain consistent loc data, eliminate silly misspellings of things like site names, states, etc, and also eliminate the need to "pulldata" from an external CVS file which would need to be maintained and which field staff may not have access to redownload at or before the time of next monitoring for various reasons.  Basically just wanting to eliminate the possibility of as many human and technical errors as possible. Hence, the one site, one form (recurring) format.

One of the sorts of items to be collected will be "Open Items" or items that need resolution.  It will contain various info such as photos, comments, a "priority level", the date the problem was noted, the date the problem was resolved, how long it took to resolve, etc.

However, over time, these "Open Items" will progress to "Resolved Items".  At this time they no longer need to show up in the form (at least by default) any more as they are, well, resolved.  The data will still be present for the supervisors and backend users to pull and look at as it will still be in the database, but the person out in the field doesn't need to see it or scroll through potentially 20 resolved items to see the one "Open Item" that he or she needs to look at on this visit.

I have tried to do this using a series of relevant statements and calculations that set fields to certain values and then display them based on whether or not those fields are true or not.  But often get stuck at some point because eventually a cell that needs hidden refers back to itself and creates a dreaded circular reference that "Breaks the parser".

When I get around that issue, I run smack dab into another conundrum, which is that while the fields are 'hidden' the record itself is still visible.  So, for example, if there are five records (1, 2, 3, 4, and 5) and 1, 2, 3, and 4 are resolved, they are still being displayed but simply as blank records with no visible fields.  So now I have to scroll through 4 "blank" records, which aren't really blank, but just all hidden, to get to the remaining open item.

Not what I am looking for.

If any one has any solutions based on their experience, any guidance would be appreciated. I'm looking for something simple and elegant.  But not adverse to something complicated and messy if that is what it takes.


Tags (3)
1 Reply
Occasional Contributor III

Hi Jeff,

I am presuming you are using the Inbox in Survey123 for this?

If so, I think what you are looking for is bind::esri:parameters - this column lets you filter the records returned inside of a repeat through the Inbox. See the following as an example (input in the bind::esri:parameters column of the begin repeat row):

query="Status <> 'Completed'" orderBy="DateAdded DESC"

You can find further information relating to this in the documentation here.

Is this what you're after?

Kind regards,


0 Kudos