Patientenformulare Syntax

Die Patientenformulare sind mit SurveyJS erstellt und basieren auf JSON-Objekten. In diesem Artikel erfahren Sie, wie die Syntax der JSON-Formulare aufgebaut ist. Diese Formulare ermöglichen es Ihnen, mehrseitige Umfragen mit verschiedenen Frage- und Inhaltstypen zu gestalten.

Allgemeine Struktur

title: (string) Titel des Formulars

description: (string) Beschreibung des Formulars

pages: (array) Liste von Seiten

Jede Seite enthält:

name: (string) Technischer Bezeichner der Seite

title: (string, optional) Seitentitel

elements: (array) Liste von Formularelementen

Formularelemente

1 html

Statischer HTML-Text zur Einleitung, Beschreibung oder Zwischenüberschrift.

Parameter:

  • type: "html"
  • name: Eindeutiger Bezeichner
  • html: Der HTML-Text (z. B. <p>Beschreibung...</p>)

2 text

Einzeiliges Texteingabefeld für kurze Freitextantworten.

Parameter:

  • type: "text"
  • name: Eindeutiger Bezeichner
  • title: Die Frage oder Feldbeschreibung
  • isRequired: true oder false (Pflichtfeld?)
  • shortTitle: Optionaler technischer Kurztitel (z. B. für Berichte)

3 radiogroup

Einzelauswahl (Radio Buttons), bei der eine von mehreren Optionen ausgewählt wird.

Parameter:

  • type: "radiogroup"
  • name: Eindeutiger Bezeichner
  • title: Die Frage oder Aussage
  • isRequired: Pflichtfeld?
  • choices: Liste von Auswahlmöglichkeiten (jeweils mit value und text)
  • shortTitle: Optionaler technischer Kurztitel
  • visibleIf: (optional) Sichtbarkeitsregel auf Basis anderer Felder, z. B. {frage1} = 'Item4'

Beispiel für choices:
[
{ „value“: „Item1“, „text“: „Ja“ },
{ „value“: „Item2“, „text“: „Nein“ }
]


4. matrix

Tabelle mit mehreren Fragen (Zeilen) und Antwortoptionen (Spalten). Benutzer wählt für jede Zeile eine Spalte.

Parameter:

shortTitle: Optionaler technischer Kurztitel

type: "matrix"

name: Eindeutiger Bezeichner

title: Titel oder leerer String " " (meist wird die Frage in den Zeilen gestellt)

rows: Liste der Fragen/Zeilen (value, text)

columns: Liste der Antwortmöglichkeiten (value, text)

isRequired: Pflichtfeld?

isAllRowRequired: Ob jede Zeile beantwortet werden muss

Hinweise

Verwende für value Felder immer eindeutige technische Bezeichner (z. B. "Item1", "Zeile3")

Die Texte dürfen HTML enthalten, aber sollten für Benutzer verständlich sein.

Jede page kann beliebig viele elements enthalten.

Wenn eine Antwort nur unter bestimmten Bedingungen sichtbar sein soll, verwende visibleIf.

Aufbau eines JSON-Formulares

{
"title": "…",
"description": "…",
"pages": [
{
"name": "…",
"title": "…",
"elements": [
{ … },
{ … }
]
}
]
}

Inhaltsverzeichnis