1. Home
  2. Docs
  3. TheraPsy Dokumentation
  4. 3 Sessions
  5. 3.3 Session Vorlagen

3.3 Session Vorlagen

TheraPsy Sessions sind höchst personalisierbar. Ein Beispiel sehen Sie im folgenden Bild:

Sessionvorlagen dieser Art kann man leider nicht mehr in den Einstellungen konfigurieren, da diese im Hintergrund etwas zu komplex sind. Diese Sessionvorlagen müssen in einem XML Dokument gebaut werden. Ähnlich wie mit den Excel-Vorlagen, bieten wir auch hier die Dienstleistung an, dass wir Ihnen diese Sessionvorlagen anhand eines handschriftlichen Musters von Ihnen bauen. Sollten Sie daran Interesse haben, schreiben Sie uns bitte eine Email an kontakt@therapsy.at.

3.3.1 Elementtypen

Folgende Typen an Elementen stehen Ihnen zur Verfügung

  • Mehrzeilige Textboxen: Das sind jene Textboxen, welche standardmäßig in den Sessionvorlagen zu finden sind.
  • Einzeilige Textboxen
  • Text-Elemente: Diese kann man z.B. für Überschriften etc. verwenden. Man kann in diese keinen Text eingeben, sondern nur die Vorlage formatieren.
  • Checkbox: Auswahlboxen, welche “aktiviert” oder “deaktiviert” sein können.
  • Dropdowns: Elemente, welche mehrere Optionen zur Auswahl in einem Dropdown anbieten.
  • Filter: Diese Elemente erlauben es andere Elemente anzuzeigen oder zu verstecken. Das erlaubt es einer Vorlage (z.B.) Mehrere Dropdowns (z.B. unterschiedliche Interventionen) optional anzubieten.

Dabei ist jedes Element mit mehreren Parmatern anpassbar. Es gibt z.b.

  • Tooltip Texte (Details sobald man mit der Maus drüber fährt)
  • Breite/Höhe der Elemente
  • Schriftgröße
  • Überschrift

3.3.2 XML Vorlagen

Diese Anleitung ist relativ komplex und eher für computeraffine Menschen gedacht. Wir bieten Ihnen auch den Vorlagen Service an, sodass Sie diese XML Vorlagen nicht selbst schreiben müssen.

Die Grundstruktur der XML Dateien ist die folgende:

<Template name="MyTemplateName" position="1" id="MyTemplateID" editable="false">
 <ProtocolStyles>
  <ProtocolStyleGroup name="Kurzprotokoll">
   <ProtocolElementStyle [...] />
   [...]
  </ProtocolStyleGroup>
  [...]
 </ProtocolStyles>
</Template>

Erklärung der XML Nodes:

  • <Template/>
    • Beschreibung: Dies ist die oberste Node im XML Dokument
    • Parameter:
      • name : string | Der Name der Vorlage. Dieser Name wird in TheraPsy im UI angezeigt.
      • position : int | Die Position der Vorlage in der Vorlagenauswahlbox. Die Vorlagen werden nach diesem Paramter sortiert.
      • id : string | Die ID der Vorlage. Diese muss umbedingt eindeutig sein.
      • editable : boolean | Gibt an ob diese Vorlage in den Einstellungen von TheraPsy editierbar ist oder nicht. Für komplexere Vorlagen ist empfohlen diesen Wert auf “false” zu setzen, da der Vorlageneditor in den Einstellungen nur mit MultilineTextBoxes umgehen kann
    • Content: Dieses Element akzeptiert nur hierarchische Kinder des Typs “ProtocolStyles”
  • <ProtocolStyles/>
    • Beschreibung: Ein Element, welches ein Array an <ProtocolStyleGroup/> beinhaltet.
    • Parameter: Keine
    • Content: Ein oder mehere <ProtocolStyleGroup> Objekte. Aktuell Unterstützt TheraPsy nur das Anzeigen von exakt zwei ProtocolStyleGroups
  • <ProtocolStyleGroup/>
    • Beschreibung: Dieses Element bekommt einen Reiter in der Sessiondokumentation. Ein Protokoll besteht also aus einem dieser Elemente. In der Standardvorlage ist das “Kurzprotokoll” eine ProtocolStyleGroup
    • Parameter:
      • name : string | Dieser Text wird im Reiter der ProtocolStyleGroup angezeigt.
    • Content: Null oder mehrere Elemente des Typs “ProtocolElementStyle”
  • <ProtocolElementStyle/>
    • Beschreibung: Dieses Item ist der eigentliche Baustein der Vorlagen. Hier existieren viele unterschiedliche Typen, mit unterschiedlichen Anwendungsfällen, welche nachfolgend beschrieben werden.
    • Parameter:
      • type : string | Der Typ dieses Elements. Aktuell existieren genau folgende Typen:
        • MultilineTextBox | Das generierte Element in TheraPsy wird eine Textbox mit mehreren Zeilen sein.
        • TextBox | Das generierte Element in TheraPsy wird eine TextBox mit einer Zeile sein, welche keine “NewLines” akzeptiert. Geeignet für die Eingabe von einem Wort.
        • Text | Das generierte Element akzeptiert keinen User-Input sondern zeigt nur den konfigurierten Text an.
        • Dropdown | Das generierte Element bietet mehrere Optionen in einem Dropdown an.
        • CheckBox | Generiert eine Auswahlbox.
        • Filter | Erlaubt das dynamische (vom User durchgeführte) anzeigen oder verstecken von Elementen.
      • header : string | Ein beschreibender Text. Dieses Element erzeugt bei unterschiedlichen Typen leicht unterschiedliche Ergebnisse.
      • headerMinWidht : int | Die Mindestbreite des Headers eines Elements. Erlaubt es z.b. mehrere Dropdownelemente untereinander besser anzuordnen.
      • id : string | Die id des Elements. Diese ID muss in der gesamten Vorlage eindeutig sein.
      • columnSpan : int | Die Anzahl an Spalten, welches dieses Element im großen UI Modus einnehmen sollte.
      • columnSpanSm : int | Die Anzahl an Spalten, welches dieses Element im kleinen UI Modus einnehmen sollte. Dieses und das columnSpanSm Feld erlauben es eine responsive Vorlage zu bauen. Insgesamt gibt es 12 Spalten. Sobald ein Element nicht mehr in eine Reihe passt, werden alle Spalten des Elements in die nächste Reihe gesteckt.
      • height : int | Die Höhe des Elements in Pixel. Dieses Element wird in Windows nur bei MultilineTextBoxen beachtet.
      • fontSize : int | Die Schriftgröße des Elements. Es werden alle Texte dieses Elements entsprechend formatiert.
      • attributedContent : string | Base64 Encoded string. Wird bei neuen Elementen als vorausgefüllter Text verwendet. Bei MultiLineTextBoxen wird dieses als RTF string interpretiert. Bei Dropdowns kann man einen index angeben, und bei CheckBoxes “True” oder “False”.
    • Content:
      • <item>String</item> | Diese Items existieren nur bei Dropdowns und Filter Elementen. Bei Dropdownobjekten sind diese Items der Textinhalt der möglichen Optionen. Bei Filter Elementen sind das die IDs der Elemente, welche gefiltert werden können sollten.

3.3.2.1 Beispiele:

Beispiel 1: Dieses Beispiel fügt oben einen erklärenden Text, und unten zwei Dropdowns hinzu. Da “columnSpan” auf 6 gestellt ist, nehmen beide Elemente jweils die Hälfte der zur Verfügung stehenden Reihe ein.

<ProtocolElementStyle type="Text" columnSpan="12" height="25" header="(jew. Störungskategorie 1-3 (trifft zu-trifft ausgesprochen zu)" id="ID0" fontSize="12"/>
<ProtocolElementStyle type="Dropdown" columnSpan="6" height="32" header="Hilfsbereit - Selbstlos" id="ID1">
                <item>Störungskategorie 1</item>
                <item>Störungskategorie 2</item>
                <item>Störungskategorie 3</item>
            </ProtocolElementStyle>
            <ProtocolElementStyle type="Dropdown" columnSpan="6" height="32"  header="Optimistisch - Rhapsodisch" id="ID2">
                <item>Störungskategorie 1</item>
                <item>Störungskategorie 2</item>
                <item>Störungskategorie 3</item>
            </ProtocolElementStyle>

Beispiel 2: Wenn man Elemente filterbar machen will, muss man nur im Nachhinein noch ein Filterelement einfügen und die entsprechenden IDs definieren.

<ProtocolElementStyle type="CheckBox" columnSpan="6" height="32"  header="Achtsamkeit" id="ID2">
                <item>Störungskategorie 1</item>
            </ProtocolElementStyle>
            <ProtocolElementStyle type="CheckBox" columnSpan="6" height="32" header="Anspruchsdenken" id="ID3">
                <item>Störungskategorie 1</item>
            </ProtocolElementStyle>
            <ProtocolElementStyle type="Filter" columnSpan="12" height="30" header="Hinzufügen" id="ID4">
                <item>ID2</item>
                <item>ID3</item>

Wie man passiert folgendes: Die zwei Checkbox Elemente werden generiert, aber nicht angezeigt. Darunter wird ein Filter-Element generiert, welches die IDs der zwei Checkboxes beinhaltet. Das Filterelement holt sich anhand der ID die Header der zu filternden Elemente und bietet diese in einem Dropdown an. Wenn ein Nutzer oder eine Nutzerin nun im Filter-Dropdown bei “Hinzufügen” ein Element wählt, wird das gewählte Element angezeigt. Dies funktioniert nicht nur mit CheckBoxes, sondern auch mit allen anderen Arten von ProtocolElementStyle. Theoretisch auch mit anderen Filtern, wobei das dann vermutlich rasch unübersichtlich wird.

3.3.3.2 Beispiel Download

(Info: WordPress erlaubt es aus Sicherheitsgründen nicht XML files hochzuladen, weshalb diese Beispieldatei als txt File hochgeladen wurde. Bevor es verwendet werden kann, bitte in eine .xml Datei umbenennen)

3.3.3 Inbetriebnahme

Die XML Dateien müssen nun nur noch im Asset Folder hinterlegt werden. Bei einem Neustart von TheraPsy werden die XML Dateien validiert und wenn bestimmte Bedingungen erfüllt werden auch importiert.

Der Zielordner ist im Normalfall hier:
Windows: C:\Users\%username%\AppData\Local\TheraPsy\Assets\XMLTemplates
macOS:
/Users/Name/.TheraPsy/SessionTemplate

Wie können wir helfen?