160 lines
4.6 KiB
JSON
160 lines
4.6 KiB
JSON
{
|
|
"meta": {
|
|
"_comment": "Diese Zeiel erklärt im folgenden wie die einzelnen Fragetypen definiert werden können und was für features diese mit sich bringen.",
|
|
"id": "questionnaire_0_readme"
|
|
},
|
|
"questions": [
|
|
|
|
|
|
{
|
|
"id": "q1",
|
|
"_comment": "Frage mit Radio Buttons. In diesem Fragetypen kann man maximal eine Antwort wählen. Über nextQuestionId kann man die nächste Frage definieren., Über pointsMap kann man die Punkte für die Antwort der Frage festlegen.",
|
|
"layout": "radio_question",
|
|
"question": "consent_instruction",
|
|
"options": [
|
|
{ "key": "consent_signed"},
|
|
{ "key": "consent_not_signed",
|
|
"nextQuestionId": "last_page"}
|
|
],
|
|
"pointsMap": {
|
|
"consent_signed": 0,
|
|
"consent_not_signed": 0
|
|
}
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q2",
|
|
"_comment": "Frage nach dem Code des Coaches.",
|
|
"layout": "client_not_signed",
|
|
"textKey1": "no_consent_entered",
|
|
"textKey2": "no_consent_note",
|
|
"question": "coach_code_request",
|
|
"hint": "coach_code"
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q3",
|
|
"_comment": "Frage mit Spinner, dessen Antwortmöglichkeiten über options selbst definiert werden können.",
|
|
"layout": "string_spinner",
|
|
"question": "other_accommodation",
|
|
"options": ["Unterkunft 1", "Unterkunft 2", "Unterkunft 3"]
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q3b",
|
|
"_comment": "Freitext-Eingabe (einzeilig oder mehrzeilig). maxLength und hint sind optional. Eingaben werden gegen SQL-Injection-Muster gefiltert.",
|
|
"layout": "free_text",
|
|
"question": "other_accommodation",
|
|
"hint": "enter_text_to_continue",
|
|
"maxLength": 500,
|
|
"multiline": true
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q4",
|
|
"_comment": "Datumsfrage. precision: full (YYYY-MM-DD), year_month (YYYY-MM), year (YYYY).",
|
|
"layout": "date_spinner",
|
|
"question": "departure_country",
|
|
"precision": "year_month"
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q5",
|
|
"_comment": "Datumsfrage mit constraints. precision steuert Tag/Monat/Jahr-Spinner.",
|
|
"layout": "date_spinner",
|
|
"question": "since_in_germany",
|
|
"precision": "year_month",
|
|
"constraints": {
|
|
"notBefore": "departure_country",
|
|
"notAfter": "departure_country"
|
|
}
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q5b",
|
|
"_comment": "Glas-Skala (Symptome als Zeilen, 5 Stufen). scaleType: glass (Standard) oder thermometer.",
|
|
"layout": "glass_scale_question",
|
|
"question": "example_symptom_scale",
|
|
"scaleType": "thermometer",
|
|
"symptoms": ["symptom_a", "symptom_b"]
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q6",
|
|
"_comment": "Frage mit Spinner, dessen Antwortmöglichkeiten über range selbst definiert werden können.",
|
|
"layout": "value_spinner",
|
|
"question": "number_family_members",
|
|
"range": {
|
|
"min": 1,
|
|
"max": 15
|
|
}
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q7",
|
|
"_comment": "Frage nach dem Code des Klienten und den Code des Coaches.",
|
|
"layout": "client_coach_code_question",
|
|
"question": "client_code_entry_question",
|
|
"hint1": "client_code",
|
|
"hint2": "coach_code"
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q8",
|
|
"_comment": "Frage mit Checkboxen, dessen Antwortmöglichkeiten über options selbst definiert werden können. Über pointsMap können die Punkte für die jeweiligen Antworten festgelegt werden. Über minSelection kann die minimal Anzahl an auszufüllenden Antworten festgelegt werden.",
|
|
"layout": "multi_check_box_question",
|
|
"question": "languages_spoken",
|
|
"options": [
|
|
{ "key": "language_albanian" },
|
|
{ "key": "language_pashto" },
|
|
{ "key": "language_russian" },
|
|
{ "key": "language_other"}
|
|
],
|
|
"pointsMap": {
|
|
"language_albanian": 1,
|
|
"language_pashto": 1,
|
|
"language_russian": 1,
|
|
"language_other": 1
|
|
},
|
|
"minSelection": 1
|
|
},
|
|
|
|
|
|
{
|
|
"id": "q9",
|
|
"_comment":"Glass scale frage, bei der es für jede Frage, welche über symptoms festgelegt werden kann eine Antwort festgelegt werden muss. Die Antwort ganz links gibt immer 0 Punkte und die Antwort ganz rechts gibt immer 4 Punkte.",
|
|
"layout": "glass_scale_question",
|
|
"question": "glass_explanation",
|
|
"symptoms": [
|
|
"q1_symptom",
|
|
"q2_symptom",
|
|
"q3_symptom",
|
|
"q4_symptom",
|
|
"q5_symptom",
|
|
"q6_symptom",
|
|
"q7_symptom",
|
|
"q8_symptom",
|
|
"q9_symptom"
|
|
]
|
|
},
|
|
|
|
|
|
{
|
|
"id": "last_page",
|
|
"_comment":"Letzte Seite, welche den Abschluss des Fragebogens markiert.",
|
|
"layout": "last_page",
|
|
"textKey": "finish_data_entry",
|
|
"question": "data_final_warning"
|
|
}
|
|
]
|
|
}
|