Makros sind Platzhalter, die beim Drucken oder beim Erzeugen eines Dokuments durch echte Daten ersetzt werden – PatName wird zum Namen des Patienten, OrdDatum zum Ordinationsdatum.
Diese Seite beschreibt, wie Makros funktionieren. Die Namen der einzelnen Makros stehen auf den Unterseiten.
Makroliste
Bereich | Inhalt |
|---|---|
Name, Anrede, Geburtsdatum, Adresse, Versicherung, Kassen, Hausarzt, Vertrauenspersonen, Bankverbindung | |
Karteitext, Diagnosen, Medikamente, Laborbefund, Marker – die Makros mit den meisten Parametern | |
Empfängeradresse im Brief, Adressauswahl, Zuweiser, Dienstgeber | |
Ordinationsstempel, Vertragspartnernummern, Bankdaten, angemeldeter Benutzer | |
Ordinationsdatum in allen Varianten, Ordinationszeiten | |
Systemdatum und -zeit, Version – und die Steuermakros | |
Laborparameter-Stammdaten, Laborwerte, Laborbefund-Verlauf, Laborbuch | |
Honorarnote, Konto, Kassabuch, Kostenstellen, Positionen, Kassen, Krankenscheine, Kilometerliste | |
Medikamentenstammdaten, Verordnung, Lager, Lieferanten, Suchtgiftbuch | |
Impfplan, Warteliste, Arbeitsunfähigkeit, e‑Befund, Planungsmodul, Formulare, Listen, Kürzel |
Schreibweise
Der Makroname allein
In Formular-, Listen- und Etikettendefinitionen wird der Makroname direkt als Feld eingesetzt. Dort sind keine Parameter möglich – es gilt immer der Standardwert.
Im Brief: in Doppelklammern
In Musterbriefen wird der Makroname in französische Anführungszeichen gesetzt:
«PatName»Die Zeichen erzeugen Sie mit Alt + 0171 und Alt + 0187. Intern werden sie auf zwei spitze Klammern umgesetzt – beide Schreibweisen funktionieren gleichwertig:
<<PatName>>Im internen Editor: als Feld
Im internen Editor (TxEdit) fügen Sie Makros nicht als Text ein, sondern über Feld einfügen. Der Editor bietet dort die verfügbaren Makronamen zur Auswahl an.
Parameter
Manche Makros nehmen Parameter entgegen. Der erste Parameter wird mit Doppelpunkt an den Makronamen angeschlossen, weitere Parameter mit Beistrich getrennt:
«KartBer:bef» ← 1 Parameter«KartBer:bef,D» ← 2 Parameter«KartBerRTF: ,D,fn=Arial;fs=10» ← 3 ParameterWird ein Parameter weggelassen, gilt der Standardwert.
Optionsparameter mit Schrägstrich
Viele Makros kennen zusätzlich Schalter, die mit / beginnen. Mehrere Schalter kommen in einen einzigen Parameter, ohne Beistrich dazwischen:
«KartLabBef:/T/N/D» ← richtig«KartLabBef:/T,/N,/D» ← falsch (das wären drei Parameter)Schalter sind unabhängig von Groß- und Kleinschreibung. Ein Rufzeichen nach dem Schrägstrich kehrt einen Schalter um: /D = Datum ausgeben, /!D = kein Datum.
Achtung Beistrich: Wo ein Parameter selbst eine Liste enthält, wird als Trennzeichen der Strichpunkt verwendet – der Beistrich ist ja schon für die Parametertrennung vergeben. Beispiel: «KartLabBef:/G:KBB;HAEM».
Text nur drucken, wenn Daten vorhanden sind
SysBedLeer gibt einen Textteil nur dann aus, wenn ein bestimmtes Makro nicht leer ist. Damit vermeiden Sie leere Zeilen und Überschriften ohne Inhalt.
Einzeilig, im Word-Musterbrief:
«SysBedLeer:«InpStatus»,Status: «InpStatus»»Als Block, im internen Editor:
«SysBedLeer:AdrName» … beliebiger Inhalt …«SysBedEnd»SysBedLeer kennt nur die Prüfung „nicht leer“ – es gibt keine Verneinung und keinen Sonst-Zweig. Ausführliche Beschreibung und Beispiele auf der Seite Makros – System (Sys).
Wenn, dann, sonst – und Rechnen
Alles, was im Formulardesigner als Ausdruck möglich ist, funktioniert auch im Brief. Der Ausdruck wird in die Zeichen <# und #> gesetzt; Makronamen stehen darin ohne Doppelklammern:
<#Cond(AdrName=="", PatAnschrift, AdrAnschrift)#>Dieses Beispiel druckt die Adresse des Empfängers – und wenn kein Empfänger gewählt wurde, stattdessen die Adresse des Patienten. Also genau das, was SysBedLeer allein nicht kann.
Bitte beachten:
Ausdrücke brauchen das Modul MOD_FORMELEVAL. Fehlt es, liefert der Ausdruck kommentarlos den Text
N/A.Ausdrücke werden vor den Makros in Doppelklammern ausgewertet. Das Ergebnis eines Ausdrucks darf daher selbst wieder Makros enthalten.
Word ersetzt gerade Anführungszeichen durch typografische und macht den Ausdruck damit ungültig. Schreiben Sie den Ausdruck im Script-Editor – dort wird er sofort auf Syntax geprüft – und übertragen Sie ihn über die Zwischenablage.
Ausdrücke funktionieren im Word-Musterbrief, im Formulardesigner und in Listen – nicht als Feld im internen Editor. Dort führen Sie den Ausdruck im Script aus (siehe nächster Abschnitt).
Das Musterbrief-Script
Über den Script-Editor eines Musterbriefs definieren Sie eigene Felder. Damit lösen Sie zwei Dinge, die im Dokument selbst nicht gehen: parametrisierte Makros und Ausdrücke.
[Variablen]VarAnzahl=3Var1=InpLab,KartLabBef:/T/NVar2=InpStatus,KartBerRetour:stVar3=InpEmpf,#Cond(AdrName=="",PatAnschrift,AdrAnschrift)[Befundblätter]BefAnzahl=0VarAnzahlmuss der Anzahl derVarN-Zeilen entsprechen.Aufbau einer Zeile:
VarN=Feldname,DefinitionAls Definition sind erlaubt: ein Makro (auch mit Parametern) oder – mit einem Rautezeichen am Beginn – ein Ausdruck.
Der Feldname wird anschließend im Dokument als Makro bzw. Feld verwendet:
«InpLab»
Felder mit „Inp“ am Anfang
Feldnamen, die mit Inp beginnen, sind im Brief editierbar – der Anwender kann den eingefügten Text nachbearbeiten. Ist ein solches Feld leer, wird an der Stelle die Marke ^^ eingesetzt. In Word können Sie mit Suchen nach ^^^ (das Dach ist ein Steuerzeichen und muss verdoppelt werden) von Lücke zu Lücke springen; legen Sie sich das am besten als Word-Makro auf F6.
Mit KartBerRetour eingefügter Text kann außerdem in die Kartei zurückgeschrieben werden (nur interner Editor, nicht Word).
Bilder einfügen
«SysPicture:VID.JPG»Bindet die angegebene Datei aus dem temporären Verzeichnis in das Dokument ein. Ohne Dateiendung wird .BMP angenommen. Verwendet wird das unter anderem für Video-Befunde, Audiometrie und Tympanometrie – die Liste der Musterbriefe steht auf der Seite Makros – System (Sys).
Für die digitale Unterschrift vom Signaturpad gibt es eigene Makros: «ArztSignaturImg» und «PatSignaturImg» fügen die Unterschrift als Bild ein.
Wo funktionieren welche Makros?
Nicht jedes Makro ist überall verfügbar – es hängt davon ab, welche Daten im jeweiligen Zusammenhang überhaupt bekannt sind.
Zusammenhang | Verfügbar |
|---|---|
Musterbrief (Word) | Pat, Kart, Adr, Sel, Arzt, Usr, Ord, Sys, Kass, Schein, Au, Konto – dazu Ausdrücke und Script-Variablen |
Musterbrief (interner Editor) | wie oben, aber ohne Ausdrücke; |
Formulardesigner | wie Musterbrief, jedoch ohne Parameter direkt im Formular – Parameter nur über das Script |
Listen und Etiketten | zusätzlich die listenspezifischen Gruppen (HonNote, AbrList, RezList, KmLst, Kst, Opl, Ksb …), ebenfalls ohne Parameter |
Serienbrief, Serienmail, Serien-SMS | Pat, Adr, Arzt, Sys, Ord |
Wartelisten-Info und Karteikopf | Pat, Kart, Sys, Ord – hier sind aus Performancegründen nur wenige Makros sinnvoll |
Häufige Stolpersteine
Symptom | Ursache und Abhilfe |
|---|---|
Makro bleibt als Text stehen | Makroname falsch geschrieben oder in diesem Zusammenhang nicht verfügbar. Namen sind zwar nicht case-sensitiv, müssen aber exakt stimmen. |
| Ein Ausdruck wurde nicht ausgewertet – das Modul MOD_FORMELEVAL fehlt. |
| Eine schließende Klammer fehlt. |
| Makros sind mehr als vier Ebenen tief verschachtelt. |
| Im Script steht ein unbekannter Makroname, oder |
Spalten verrutschen | Die spaltenweise formatierenden Makros ( |
Laborbefund ohne Einheit | Der Schalter |
Ausdruck funktioniert in Word nicht | Word hat die Anführungszeichen ersetzt. Ausdruck im Script-Editor schreiben und einfügen. |
Nur der erste Teil kommt an | Ein Beistrich im Bedingungsteil von |