0 votes
in SoSci Survey (English) by s294357 (110 points)

I am using s SoSci Survey as a screening for an in-person study: I want to evaluate which participants are eligible.

For this purpose, I would like to access the data that so far has been collected by the survey at several time points and evaluate single participant's answers independent of the other participants' answers. Then, ideally, I would like to somehow mark the datasets that have been evaluated already.

I have accessed the collected data via API, which works perfectly fine: I have created a JSON-link via Collected Data → API for Data Retrieval. Then I have written a short python code using the requests.get(myLink) command and accessed and evaluated the data.

I thought about changing a single datapoint in every participant's record that has been evaluated already and then upload the modified dataset via requests.post(myLink, json=data). My python code looks like such:

import requests

path = 'https://www.soscisurvey.de/myLink'

# get data
response = requests.get(path)
data = response.json()

# manipulate data
thisCase = 'C01' # participant that has been evaluated
thisQuestion = 'AB01_01' # random question that I use to store the information
data['data'][thisCase][thisQuestion ] = 'has been evaluated already'

# post update to server
response = requests.post(path, json=data)
# or post update without metadata, both doesn't work for me
response = requests.post(path, json=data['data'])

This handy page shows me that the data I send to the server is exactly what I want to send. Yet, the data stored on the server never changes. Is this an intentional restriction? How could I circumvent that?

Thank you in advantage for every helpful answer :)

1 Answer

0 votes
by SoSci Survey (329k points)

When you're sending some "data" object to the server, it does not know what to do about that. That's actually a good thing: imagine, I sent the same requests to your questionnaire. Would you like me and anybody else on earth to have the option to change your collected data?

So, first thing is that you would need some authentification. And then some API to allow for changing the collected data. Long story short: SoSci Survey does not have one for that application, yet. However, that feature (among many others) is planned. So tell me: What is your schedule for the project?

An alternative solution would be to store an array locally in your python, listing all cases that have been handled.

by s294357 (110 points)
Ah I thought that it would be something like this.
The project will start during the next weeks but is expected to take at least a year or maybe two (it is a bit of an ambitious project) - so I will keep myself updated about SoSci updates :)

For now I will look into solutions to store an array locally or on the university's server or something like that.

Thank you for the quick answer anyway!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...