initial prototype based on nat-as-server
Some checks failed
PHPUnit / test (push) Has been cancelled
Some checks failed
PHPUnit / test (push) Has been cancelled
This commit is contained in:
158
website/temp-assets/questionnaire_0_readme.json
Normal file
158
website/temp-assets/questionnaire_0_readme.json
Normal file
@ -0,0 +1,158 @@
|
||||
{
|
||||
"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": "Client- und Coach-Code (z. B. wenn Einwilligung nicht unterschrieben).",
|
||||
"layout": "client_coach_code_question",
|
||||
"question": "no_consent_entered",
|
||||
"hint1": "client_code",
|
||||
"hint2": "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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user