Ich mache mal den Anfang mit einer Problemschilderung, für die ich zwar eine Lösung, aber keine Erklärung gefunden habe. Danach stelle ich alle bei mir bewährten Kommandos, die ich in verschiedenen Variationen in Karteieinträgen, CustomKarteieinträgen, CustomFormularen und Forumlaren gleichermaßen einsetze, mit kurzen Beispielen vor. Mit diesen Kommandos kann man sich viel Arbeit ersparen.
Folgendes verstehe ich nicht, aber es funktioniert!
Übernahme des Feldinhalts aus einem anderen CustomFormular Wenn dort das Ankreuzfeld angehakt ist wird der Text TEXT1 ausgegeben, existiert dagegen kein Formular bzw. ist kein Häkchen gesetzt, wird der Text TEXT2 gesetzt.
Wichtig sind dabei die Hochkommata und das kleine "x" vor dem Texteintrag.
$[if customFormularEintrag CustomFormular Feldinhalt N zs_equals X TEXT1 "" x TEXT2 ]$
Hat jemand eine plausible Erklärung dafür?
Hier nun die Beispiele für die tägliche Praxis:
Übernahme eines Feldinhalts in ein zusammengesetztes Textfeld
$[Feldname]$
Übernahme mehrerer Feldinhalte (1-3) in ein zusammengesetztes Textfeld
$[Feldname1]$$[Feldname2]$$[Feldname3]$
Übernahme mehrerer Feldinhalte (1-3) in ein zusammengesetztes Textfeld mit Trennung und Text vor und Text nach dem Eintrag
$($[Feldname1]$,$[Feldname2]$KOMMA_BEGIN"Text vor "_ENDE" Text nach dem Eintrag. ")$
Übernahme des Feldinhaltes aus einem benannten Karteieintrags in ein beliebiges Textfeld
(auch Überweisungsformulare, Aktionskettenbedingungen etc.)
$[karteiEintragValue_withArgs KARTEIKÜRZEL customKarteiEintragEntries.FELDNAME _ N]$
Übernahme von Inhalten aus den Patientenstammdaten
$[&p.patientenDetails.kontaktdaten.telefon]$
Übernahme eines kompletten Karteieintrags in ein Textfeld (auch Textbaustein), einen Karteieintrag oder CustomFormular
|{Eintragtyp:ANA:1}|
Beispiel für einen Texbaustein mit multiple Choice Auswahl
|{Eintragtyp:ANA:mc:QUESTIONNAME=Anamnese<zsMacroOption>NOENTRYPLACEHOLDER= }|
Erzeugung eines Texteintrags in einem zusammengesetzten Textfeld aus dem Auswahltext einer Variablen
$[if "$[V1]$" "Text1" Die_operative_Sanierung_wird_angeraten._Die_verschiedenen_operativen_und_interventionellen_Therapieverfahren_wurden_ausführlich_erläutert. "Text2" Gewünscht_wird_die_operative_Sanierung. "Text3" Zunächst_möglichst_konservative_Therapie.]$
Übernahme des Feldinhalts aus einem anderen CustomFormular in ein beliebiges Textfeld
$[customFormularEintrag CustomFormular Feldname N]$
Erzeugung eines Scores aus Ankreuz- Zahlen- oder Scorefeldern
$[S1]$+$[S2]$
mit Rechenoperationen
S1/100*S1/100
oder
S1/S2
durch eine Bedingung wird X (z.B. Inhalt eines Kontrollkästchens) in eine Zahl umgewandelt
$[if customFormularEintrag CustomFormular Feldname N zs_equals X 1]$
Auswertung von Zahlen eines Zahlenfeldes zur Erzeugung eines Scores
FUNCTION('$[Z1]$', 'ifSmallerAs:yes:no:', '1', '0',
FUNCTION('$[Z1]$', 'ifSmallerAs:yes:no:', '551', '1',
FUNCTION('$[Z1]$', 'ifSmallerAs:yes:no:', '901', '2',
FUNCTION('$[Z1]$', 'ifSmallerAs:yes:no:', '1501', '3',
FUNCTION('$[Z1]$', 'ifSmallerAs:yes:no:', '4999', '4', '5')))))
Der Score erzeugt dann innerhalb eines zusammengesetzten Textfeldes mit Hilfe des folgenden Befehls die verschiedenen Texteinträge
$[if "$[S1]$" "1" Normalbefund. "2" leicht_erhöht_bis_900_μg/l. "3" deutlich_erhöht_bis_1500µg/l. "4" massiv_erhöht_bis_5000_μg/l. "5" hoch_pathologisch_>5000_μg/l. ]$
Übernahme von Laborwerten aus dem Karteieintrag LAB in ein Zahlenfeld
$[laborwert LAB Gl-NaF %b_%w_%e _N]$/$[laborwert LAB Gl nu %b_%w_%e _N]$