Select to view content in your preferred language

How to populate a field in Survey123 when integrating with Quick Capture

347
3
Jump to solution
09-23-2024 10:04 PM
AnaisSchaenzel
Esri Contributor

I am trying to auto-populate a field in my Survey123 using a Project user Input from Quick Capture.

I understand this should be possible by linking the Survey123 and linking the field to the 'Survey questions' section in Quick Capture and then linking the Project User Input - however, the field I want to auto-populate does not show as an option in the 'Survey questions section'.

 

My Survey123 is using a submission URL linked to a Hosted feature service. The feature service contains the field I wish to auto-populate and the survey123 has a hidden field for that field as well. I have tried adding a domain to the field in the feature service and survey123, and tried making the field a text field.

 

What I want to know, what are the requirements to allow Quick Capture to auto-populate a field/question in Survey123 using a Project User Input?

 
0 Kudos
1 Solution

Accepted Solutions
AnaisSchaenzel
Esri Contributor

I have managed to find a solution.

To give a bit of background. The QuickCapture is capturing points data and the Survey123 is capturing line data. The points and lines data are two different layers in the same hosted feature service. Some of the fields between the points and lines layers match e.g. status.

The feature service was ordered with the points layer being the first layer and the lines layer the second.

What I believe was happening - within QuickCapture it was identifying all fields that matched between the points layer (due to this layer being the first layer in the service) and field names in the Survey123, resulting in fields like 'status' showing as a Survey Question in Quick Capture. However, the Survey123 is using the lines layer so not all fields matched. The field I wanted to populate with a Project User Input only existed in the lines layer (and as a question in the survey123), and did not exist in the points layer so did not show as a survey question in Quick Capture.

My solution was to republish the service with the lines layer being the first layer in the layer order and update the unique ID's to be line = 0, point = 1.

Now when linking QuickCapture with Survey123 it is matching the first layer in the service (line layer) with the Survey123 (also using the lines layer) and returning matching fields as Survey questions in Quick Capture, which includes the field/question I wish to populate with a Project User Input.

Suggestion for QuickCapture - when linking QuickCapture to Survey123, have the ability to specify which service and layer the Survey123 is using. 

View solution in original post

0 Kudos
3 Replies
ChristopherCounsell
MVP Regular Contributor

Quick Capture and Survey123 are both designed by default to add data. It sounds like you have configured them both to point at the same service URL that is great, but they'll both be adding data separately.

If you are looking to capture data in QuickCapture and then update it in Survey123, you will need to edit the existing data.

https://doc.arcgis.com/en/survey123/browser/get-answers/editexistingdata.htm

https://doc.arcgis.com/en/survey123/desktop/get-answers/editexistingdata.htm

The data from QuickCapture will exist in the survey and you can edit the other fields/questions as required.

0 Kudos
AnaisSchaenzel
Esri Contributor

Hi Christopher, 

Thanks for your response.

You are correct that my solution is using the same service URL to add data in Quick Capture and Survey123 - adding data in both Quick Capture and Survey123 is by design, and we are not looking to update data in Survey123. 

The workflow we are wanting is as follows:

  1. Open Quick Capture and be prompted to fill in a Project user Input
  2. Select a button linking to our Survey123
  3. Auto-populate a field in Survey123 with the value input from the Project User input
  4. Fill in and submit the Survey
  5. Return to Quick Capture.

The issue we are having is at Step 3 - we are unable to see the field in QuickCapture that we wish to link with the Project user Input. 

We have been able to successfully populate other fields in the same Survey123 using this workflow.

0 Kudos
AnaisSchaenzel
Esri Contributor

I have managed to find a solution.

To give a bit of background. The QuickCapture is capturing points data and the Survey123 is capturing line data. The points and lines data are two different layers in the same hosted feature service. Some of the fields between the points and lines layers match e.g. status.

The feature service was ordered with the points layer being the first layer and the lines layer the second.

What I believe was happening - within QuickCapture it was identifying all fields that matched between the points layer (due to this layer being the first layer in the service) and field names in the Survey123, resulting in fields like 'status' showing as a Survey Question in Quick Capture. However, the Survey123 is using the lines layer so not all fields matched. The field I wanted to populate with a Project User Input only existed in the lines layer (and as a question in the survey123), and did not exist in the points layer so did not show as a survey question in Quick Capture.

My solution was to republish the service with the lines layer being the first layer in the layer order and update the unique ID's to be line = 0, point = 1.

Now when linking QuickCapture with Survey123 it is matching the first layer in the service (line layer) with the Survey123 (also using the lines layer) and returning matching fields as Survey questions in Quick Capture, which includes the field/question I wish to populate with a Project User Input.

Suggestion for QuickCapture - when linking QuickCapture to Survey123, have the ability to specify which service and layer the Survey123 is using. 

0 Kudos