samedi® Tutorials

Formulare designen

In diesem Totorial zeigen wir, wie Formulare individuell designt werden können. Um dies tun zu können müssen Sie wie in diesem Beispiel als Formular-Admin in samedi eingeloggt sein.

Schritt 1:

Gehen Sie auf den Reiter "Formular-Admin" und klicken Sie auf "hinzufügen", um ein neues Formular zu erstellen.

Formulare designen

Schritt 2:

Jetzt geben Sie dem neuen Formular einen Namen und speichern es.

Formulare designen

Schritt 3:

Um das Formular zu editieren klicken Sie doppelt auf den Namen und der Formular-Editor öffnet sich.

Formulare designen

Schritt 4:

Hier eine Übersicht der Toolbar zum designen von Formularen.

Formulare designen

  • 1) Feld ausschneiden/kopieren/einfügen, neuer Abschnitt/neue Tabelle
  • 2) Einfügen verschiedener Textfelder
  • 3) Einfügen vorprogrammierter Felder
  • 4) Einfügen Auswahlfelder
  • 5) Abschnittsname eingeben
  • 6) Feldname eingeben
  • 7) Löschen Tabelle/Feld/Spalte
  • 8) Bedienelementdetails (s. Schritt 5a) (Variablenname)
  • 9) Validierungseinstellung (Schritt 5b)
  • 10) Bei strukturierten Feldern: Einträge editieren (Schritt 5c)

Schritt 5a: Bedienelementdetails

Der Variablenname kann frei gewählt werden oder es kann auf bestehende Daten zugegriffen werden. Bspw. ist es möglich, Variablen aus der eigenen Patientendatenbank, den Nutzerdaten oder Institutionsdaten direkt dort einfügen zu lassen. Folgen Möglichkeiten bedeuten eine direkte Verlinkung:

  • patient_{title , first_name , last_name , born_on , street , zip , city , phone , fax , mobile , email , insur-ance_number , insurance_company_name , gender (male, female) , human_gender (Herr, Frau) , country (DE, …) , human_country (Deutschland, …) }

  • institution_{name , bsnr , street , zip , city , phone , fax , mobile , email}

  • user_{title , first_name , last_name , descriptive_field , street , zip , city , lanr , phone , fax , mobile , email}

Beispiel: „patient_last_name“ ermöglicht die direkte Befüllung des entsprechenden Feldes mit dem Patientennach-namen.

Schritt 5b: Validierungseinstellungen

Übernahme von Standarddaten in Formulare

Mit den folgenden Verweisen:
  • xxforms:si-patient()//FELDNAME
  • xxforms:si-institution()//FELDNAME
  • xxforms:si-user()//FELDNAME
kann auf die Felder aus anderen Formularen zugegriffen werden, vgl. folgende Beispiele:
  • Beispiel: Übernahme der BSNR: xxforms:si-institution()//bsnr ins Feld „Initialwert“ schreiben.
  • Beispiel: Übernahme von PLZ und Ort ins gleiche Feld: concat(xxforms:si-patient()//zip,' ', xxforms:si-patient()//city) ins Feld „Initialwert“ schreiben.
  • Beispiel: if(exists(xxforms:si-form('LEISTUNGSNACHWEIS_HPK'))) then sum(xxforms:si-form('LEISTUNGSNACHWEIS_HPK')//einsaetze/einsatz/behandlungseinheiten) else 0
Schreibschutz von Elementen
  • Validierungseinstellungen des Elementes => Feld "Schreibgeschützt" => "true()" eingeben
  • Optionsfeld: Einblenden von Elementen, falls angehakt
    - Validierungseinstellungen des Elementes => Feld "Sichtbarkeit" => $Feldname="Wert" eingeben
  • Ankreuzfeld: Einblenden von Element, falls angehakt
    - Validierungseinstellungen des Elementes => Feld "Sichtbarkeit" => exists(index-of(tokenize($Feldname, " "), "Wert")) eingeben
  • Ankreuzfelder: Auswahl von X Optionen oder mehr
    - Validierungseinstellungen des Elementes => Feld "Bedingung" => count(tokenize(., '\s+')) > 1 eingeben
Vorauswahl, Prüfungen und Berechnungen
  • Datumsfeld: Heutiges Datum vorausgewählt
    - Validierungseinstellungen des Elementes => Feld "Initialer Wert" => current-date() eingeben
  • Textfeld/ Auswahlfelder: Prüfen, ob Zahl größer X ist
    - Validierungseinstellungen des Elementes => Feld "Bedingung" => if(.castable as xs:integer) then 120>=. else false() eingeben
    - Achtung: nur ">" bzw. ">=" benutzen!)
  • Berechnungen, z.B. Summe zweier Felder soll in einem dritten Feld dargestellt werden: (if($feld1 castable as xs:integer and $feld2 castable as xs:integer) then $feld1 + $feld2 else '')

Schritt 5c: Einträge editieren

Formulare designen

  • 1) Option hinzufügen
  • 2) Beschriftung eingeben (die sichtbar ist)
  • 3) Wert hinterlegen (für Datenbanken)