I have a survey that users are accessing through embedding the form in a dashboard using URL parameters so that users only see the entries assigned to their jurisdiction. The form captures current capacity info at various facilities, including facility bed capacity, beds available and beds in use. We also need the form to track new admissions and new discharges each time the user submits a report for a given facility.
I have been trying to setup the form to capture the daily data updates using repeats so that a related table shows changes over time for each facility.
Is there a way to configure a URL parameter to open a survey in edit mode and only allow the user to submit a new repeat, without seeing any of the previous repeats? I've followed this post regarding the use of repeats and found the section on setting the bind::esri:parameters to allowUpdates=false and allowAdds=true. Does that functionality only work in the field app and not the web form?
Ideally, I want the user to see the embedded survey with a repeat section that looks similar to this:
So far, I've only been able to set up the repeat to display this way for a new form submission and not editing an existing one by setting the appearance for the begin repeat to minimal.
It's not a requirement to capture the daily change data in a repeat, so I am open to a better way to do this. My end goal is to capture the daily data updates so that we can have a record of change over time at each facility.
Solved! Go to Solution.
Hi. The bind::esri:parameters to allowUpdates=false applies only to the Survey123 field app. This parameter is used to control if records in a repeat loaded from the Inbox are editable. Editing of repeat records from the Survey123 web app is not supported.
For your workflow, a couple of ideas:
1- If you create a survey on top of your related table (you can use the FormID and submission_url columns in the XLSForm settings worksheet to have a survey work against a specific table or layer in your feature service) you should be able to add new records from the web app into the related table.
2- You could also use the Survey123 Power Automate or Integromat Connectors to log changes in your data every time your form is used to make an edit. These changes could be logged into a spreadsheet in Microsoft Office 365 or Google Sheets for example. If you take this approach, you would not need a repeat.
Hi. The bind::esri:parameters to allowUpdates=false applies only to the Survey123 field app. This parameter is used to control if records in a repeat loaded from the Inbox are editable. Editing of repeat records from the Survey123 web app is not supported.
For your workflow, a couple of ideas:
1- If you create a survey on top of your related table (you can use the FormID and submission_url columns in the XLSForm settings worksheet to have a survey work against a specific table or layer in your feature service) you should be able to add new records from the web app into the related table.
2- You could also use the Survey123 Power Automate or Integromat Connectors to log changes in your data every time your form is used to make an edit. These changes could be logged into a spreadsheet in Microsoft Office 365 or Google Sheets for example. If you take this approach, you would not need a repeat.
Thanks, Ismael! I was able to use the first option you recommended and create a survey on top of the related table.
In case it's useful to anyone trying to solve a similar problem, here's what I did to update the existing form to capture the new daily data updates.
This is important so that the new records in the related table are tied to the records from the parent table. Here's the feature service page showing the fields in this related table:
In the end, the final dashboard users see to submit their updates looks like this:
Your suggestion to create a survey atop the repeat table seems like it would help me in a similar case, but I have run into a roadblock. I've created a survey to allow multiple reviewers to evaluate the same proposed project, and so I have the review portion of the survey as a repeat. Using an XLSForm, I've created the survey and feature layer, and populated the feature layer with details of projects. The reviewers will use a separate review-only survey pointed at the same feature layer. Reviewers will access the survey via a dashboard where the survey is embedded. I have this working well, but I do not want project reviewers to see the responses of previous reviewers, both to avoid their having to scroll through prior responses and to avoid prejudicing their reviews.
To address this issue, I've followed your suggestion of having the review-only survey address the repeat table directly using the submission URL and FormID. When I attempt to publish the survey from Survey123 Connect I receive the following error message: "The custom feature service submission_url is not compatible with this survey. Parent layer id 0 not found for table criteriabeg." That is indeed the correct name for the table, and the parent feature layer is indeed shown to be 0 on its information page. The feature layer and the table are related via GlobalID and ParentGlobalID fields. Do you have any insights as to what is happening?
Hi Ismael,
I'm looking to do something similar. I have users that will be submitting to a survey with two repeats. However, they may need to go back and add additional repeats after the survey is originally submitted. I don't mind the idea of just having a separate form that holds the repeat table, but will this workflow create a totally separate entry in the Survey123 hub? My users want to be able see the related forms in the S123 app so they can print off reports from one place:
@IsmaelChivite I can edit a repeat in the web for one survey, but not another. However, the one I cannot edit has nested repeats. Could that be why? I get a big warning on one survey and for the editable one it works fine.