Tohle je mnohostránkové zobrazení této sekce. Klikněte sem pro tisk.

Zpět na běžné zobrazení stránky.

Sady otázek

Popis konfiguračního souboru

Formát souboru je JSON. Podrobný úvod do formátu je zde: https://www.json.org/json-cz.html, stručný úvod potom máme zde: Úvod do jazyka JSON

1 - Komplexní tabulka

Komplexní dotazníková tabulka

Její definice zahrnuje otázky (Qeustion) a koomplexní odpovědi (parametr se jmenuje values).

Parametry:

  • name - interní název tabulky jak budou její hodnoty interně uloženy a následně exportován
  • type - musí být complex_question_table
  • values - pole podotázek - tj. sloupců tabulky
  • questions - pole otázek - tj. řádků tabulky

Otázka

Samotná otázka už nemá vlastní typ, ale slouží pouze jako množina pod otázek, které se zobrazují v tabulce. Podotázky jsou definované pro celou tabulku, tj. pro celou sadu otázek.

Parametry:

  • typ - viz dále
  • name - interní název otázky jak budou její hodnoty interně uloženy a následně exportován.
  • text - co uvidí respondent
  • condition - za jakých okolností se má celá otázka (tj. celý řádek v tabulce zobrazit). Např. na potrat se neptáme mužů (i když i pro ně to může být traumatická událost)
  • TODO: omit_subquestions - zatím neimplementováno, které podotázky se mají přeskočit

Podotázky

Představují sloupce v tabulce. Parametry jsou následující:

  • typ - viz dále
  • name - název otázky jak budou její hodnoty interně uloženy a následně exportován. Mají následující typy:

single_choice podotázka

Vyber jednu hodnoty z pole hodnot. Každá hodnota se zobrazuje jako sloupec v tabulce

generic podotázka

Každý sloupec může mít samostatný typ - viz výběr níže.

Veber více hodnot z pole hodnot. Kazda hodnota se zobrazuje jako jako sloupec v tabulkce. Exportovaná hodnota je složena z vybraných hodnot spojených čárkou

selector

Vyber jednu hodnotu z drop down menu

string

Textové po pro vložení komentáře. POkukd má více sloupců (tj. cols hodnot), tak jsou výsledné hodnoty spojení čárkou.

Export finálních dat

Název proměnných v exportu je konstruován takto:

NameTabulky_NázevOtázky_NazevPodotazky

tj. např. Trauma_Valka_VekZacatku: 15

Náhodné řazení otázek

Do tabulky je možné přidat parametr "shuffle": true.

Potom se náhodně zamíchají otázky a vypíšou se v náhodném pořadí. Zároveň se vytvoří ještě jedna nová proměnná, do které se uloží pořadí otázek.

Ukázka definice komplexní tabulky:

{
  "name": "trauma",
  "type": "complex_question_table",
  "values": [
    {
      "type": "generic",
      "name": "age",
      "text": "Kolik Vám bylo let, když to začalo/když se to stalo",
      "cols": [
        {
          "name": "started",
          "text": "",
          "type": "numeric",
          "min": 0,
          "max": 100
        }
      ]
    },
    {
      "type": "generic",
      "name": "age",
      "text": "Kolik let to trvalo",
      "cols": [
        {
          "name": "duration",
          "text": "",
          "type": "numeric",
          "min": 0,
          "max": 100
        }
      ]
    },
    {
      "type": "single_choice",
      "name": "frequency",
      "text": "Stalo se to",
      "cols": [
        {
          "name": "once",
          "text": "1x"
        },
        {
          "name": "more_times",
          "text": "vícekrát"
        },
        {
          "name": "often",
          "text": "často"
        }
      ]
    },
    {
      "type": "single_choice",
      "name": "fear",
      "text": "Byl tento zážitek spojen s intenzivními pocity strachu hrůzy nebo bezmoci?",
      "cols": [
        {
          "name": "yes",
          "text": "Ano"
        },
        {
          "name": "no",
          "text": "Ne"
        }
      ]
    },
    {
      "type": "single_choice",
      "name": "fear_of_death",
      "text": "Když se ta událost stala, myslel/a jste si, že vy nebo někdo jiný by mohl být zabit nebo vážně zraněn?",
      "cols": [
        {
          "name": "yes",
          "text": "Ano"
        },
        {
          "name": "no",
          "text": "Ne"
        }
      ]
    },
    {
      "type": "single_choice",
      "name": "sharing",
      "text": "Měla/a jsem s kým o tom mluvit",
      "cols": [
        {
          "name": "yes",
          "text": "Ano"
        },
        {
          "name": "no",
          "text": "Ne"
        }
      ]
    },
    {
      "type": "single_choice",
      "name": "shame",
      "text": "Bral/a jsem si to za vinu nebo jsem se za to styděl/a",
      "cols": [
        {
          "name": "yes",
          "text": "Ano"
        },
        {
          "name": "no",
          "text": "Ne"
        }
      ]
    },
    {
      "type": "generic",
      "name": "influence",
      "text": "Na stupnici 0-10: Jak moc Vás to ovlivnilo :",
      "cols": [
        {
          "name": "life",
          "text": "V dalším životě",
          "type": "selector",
          "value_list": {
            "0": "0",
            "1": "1",
            "2": "2",
            "3": "3",
            "4": "4",
            "5": "5",
            "6": "6",
            "7": "7",
            "8": "8",
            "9": "9",
            "10": "10"
          }
        },
        {
          "name": "lastyear",
          "text": "V uplynulém roce",
          "type": "selector",
          "value_list": {
            "0": "0",
            "1": "1",
            "2": "2",
            "3": "3",
            "4": "4",
            "5": "5",
            "6": "6",
            "7": "7",
            "8": "8",
            "9": "9",
            "10": "10"
          }
        }
      ]
    }
  ],
  "questions": [
    {
      "name": "valka",
      "text": "Válka"
    },
    {
      "name": "terorismus",
      "text": "Teroristický útok"
    },
    {
      "name": "prepadeni",
      "text": "Loupežné přepadení"
    }
  ]
}

2 - Jednoduchá tabulka

Jednoduchá tabulka

Představuje typickou dotazníkovou tabulku, kde v řádcích jsou otázky a ve sloupcích potom možné hodnoty, které uživatel vyplňuje.

Tento konfigurační soubor:

{
  "name": "komunita",
  "type": "question_table",
  "text": "Do jaké míry souhlasíte s následujícími výroky?",
  "values": {
    "1": "Úplně souhlasím",
    "2": "Spíše souhlasím",
    "3": "Spíše nesouhlasím",
    "4": "Vůbec nesouhlasím"
  },
  "questions": [
    {
      "name": "1",
      "text": "Pravidla nastavená v mé komunitě mně osobně připadají mírná."
    },
    {
      "name": "2",
      "text": "Denní řád mé komunity mi celkově připadá zcela vyhovující."
    },
    {
      "name": "3",
      "text": "Denní řád mé komunity bych hodnotil/a jako velmi flexibilní.",
    {
      "name": "4",
      "text": "V mé komunitě platí stejná pravidla pro každého člena/každou členku."
    },
    {
      "name": "5",
      "text": "Ve srovnání s jinými řeholními společenstvími bych to své hodnotil/a jako velmi volné."
    },
    {
      "name": "6",
      "text": "Žitá realita mé komunity podle mne zcela odpovídá stanovám."
    },
    {
      "name": "7",
      "text": "Žitá realita mé komunity podle mne zcela odpovídá současným výzvám papeže Františka a Kongregace pro instituty zasvěceného života a společnosti apoštolského života."
    }
  ]
}

Vytvoří následující tabulku:

Question Table

Parametry

V konfiguraci jsou klíčové následující parametry:

  • values - objekt s hodnotami pro záhlaví tabulky (tj. sloupce tabullky), kde klíče jsou hodnoty k uložení a text se zobrazí uživateli.
  • questions - jednotlivé otázky v tabulce (tj. řádky tabulky)

Každý řádek v questions může být zobrazen podmínečně pomocí parametrů conditions:


{
  "name": "7",
  "text": "Žitá realita mé komunity podle mne zcela odpovídá současným výzvám papeže Františka a Kongregace pro instituty zasvěceného života a společnosti apoštolského života."
  "conditions": [
    {
      "field": "gender",
      "value": "1"
    }
  ]
}

V tomto případě by se řádek 7 zobrazil pouze pokud by předchozí hodnota pole gender byla 1, jinak se nezobrazí.

Dále question_table kompletně podporuje lokalizaci, jak u hodnot, tak u otázek. Viz Lokalizace dotazníků

Export hodnot

Názvy exportovaných hodnot se skládají z názvu tabulky a následně názvů jednotlivých otázek (parametry name). Takže výše uvedená tabulka bude generovat hodnoty:

  • komunita1: 1
  • komunita2: 2
  • komunita3: 3
  • komunita4: 3
  • komunita5: 3
  • komunita6: 2
  • komunita6: 3

Hodnoty odpovídají screenshotu.

Náhodné řazení otázek

Do tabulky je možné přidat parametr "shuffle": true.

Potom se náhodně zamíchají otázky a vypíšou se v náhodném pořadí. Zároveň se vytvoří ještě jedna nová proměnná, do které se uloží pořadí otázek. Pro dotazník DSES potom může proměnná vypadat takto:

Název Hodnota Typ otázky Datum a čas
DSES_2 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_8 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_13 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_11 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_15 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_4 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_10 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_6 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_12 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_5 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_3 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_14 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_7 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_9 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_1 1 TableLineQuestion 2021-04-06 16:58:36 UTC
DSES_order DSES_1,DSES_8,DSES_3,DSES_6,DSES_7,DSES_5,DSES_13,DSES_15,DSES_11,DSES_12,DSES_4,DSES_2,DSES_9,DSES_14,
DSES_10

3 - Wrapper

Wrapper je jednoduchá struktura, která umožňuje zabalit další otázky. Má dvojí využití.

  1. Je možné spojit logicky dohromady sadu otázek, tak že dostanou společný prefix v exportovaném názvu
  2. Pokud potřebujeme načíst naráz z modulu více otázek, aniž by se vkládaly jednotlivě, tak se zabalí do wrapperu a potom se vkládají už společně.

Wrapper musí mít následující parametry:

  • name - název, který se použije jako prefix u názvů dalších otázek
  • type: wrapper
  • items: pole s dalšími prvky - otázkami a dalšími. Původně se tento parameter jmenoval questions, ale byl přejmenován protože název byl trošku zavádějící. Nicméně parametr question stále ještě funguje.

Příklad:

{
  "pages": [
    {
      "type": "page",
      "id": "page-onemocneni",
      "items": [
        {
          "name": "health",
          "type": "wrapper",
          "items": [
            {
              "name": "onemocneni",
              "type": "multiple_choice",
              "text": {
                "en": "Do you have a long-term illness or disability? Please tick all that apply to you:",
                "cs": "Máte dlouhotrvající onemocnění nebo postižení? Prosím označte všechny, které se na vás vztahují:",
                "de": "Leiden Sie an einer langzeitigen (chronischen) Krankheit oder Behinderung? Bitte, kreuzen Sie alles an, was Sie betrifft:"
              },
              "values": {
                "1": {
                  "en": "coronary heart disease",
                  "cs": "ischemická choroba srdce",
                  "de": "Ischämische Herzkrankheit"
                },
                "2": {
                  "en": "hypertension",
                  "cs": "hypertenze",
                  "de": "Bluthochdruck"
                },
                "3": {
                  "en": "stroke",
                  "cs": "cévní mozková příhoda / mozková mrtvice",
                  "de": "Schlaganfall"
                }
              }
            },
            {
              "name": "lekari",
              "type": "multiple_choice",
              "text": {
                "en": "Have you visited any of these specialists in the last twelve months (please do not count standard medical examinations that are recommended to all the people of your age/gender) - please mark all visited departments:",
                "cs": "Navštívili jste v uplynulých dvanácti měsících některého z těchto specialistů (nepočítejte prosím standardní lékařské prohlídky doporučené všem osobám Vašeho věku/pohlaví) – označte prosím všechna navštívená oddělení:",
                "de": "Haben Sie in den vergangenen zwölf Monaten einen dieser Spezialisten besucht? Untersuchungen, die plötzlich erforderlich sind, und nichtab einem bestimten alter empfolen werden (z.B. regelmäßige). Markieren Sie, bitte, alle besuchten Abteilungen:"
              },
              "values": {
                "1": {
                  "en": "Dermatovenerology (treatment of skin and genital diseases)",
                  "cs": "Dermatovenerologie (léčba kožních a pohlavních chorob)",
                  "de": "Dermatologie und Venerologie (Haut- und Geschlechtskrankheiten)"
                },
                "2": {
                  "en": "Department of surgery",
                  "cs": "Chirurgie",
                  "de": "Chirurgie"
                },
                "3": {
                  "en": "Cardiology (treatment of heart disease)",
                  "cs": "Kardiologie (léčba srdečních chorob)",
                  "de": "Kardiologie (Herzkrankheiten)"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

Proměnné ve finální exportu potom budou mít tuto podobu:

  • health_onemocneni
  • health_lekari