[OnyxCeph³™ Wiki]

DokuWiki - World Wide Web

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mergefields

Mischbefehle | Platzhalter


Folgende Platzhalter werden unterstützt: (siehe dazu auch die Übersicht am Ende des Textes)

"%0": PatID
        Patientennummer 
        z.B.: 08/15 
"%1": PatID 
        Patientennummer korrigiert für Dateinamen
        z.B.: 08~615    (Ungültiges Zeichen "/" durch "~6" ersetzt)
        Folgende Zeichen werden bei der Korrektur ersetzt:
          "\" -> "~0"
          "*" -> "~1"
          "?" -> "~2"
          "@" -> "~3"
          ":" -> "~4"
          """ -> "~5"
          "/" -> "~6" 
          "<" -> "~7"
          ">" -> "~8"
          "|" -> "~9"
"%2": Nachname
"%3": Vorname
"%4": Geburtsdatum
        Format: JJJJMMTT
        z.B.: 19960313  für 13.3.1996
"%5": Geschlecht 
        Mögliche Werte:
        "X":  Unbekannt
        "M":  Männlich (Male)
        "F":  Weiblich (Female)
        "MC": Männlich umgewandelt (Male Converted)
        "FC": Weiblich umgewandelt (Female Converted)
"%8": Nachname ohne Leerzeichen
"%9": Vorname ohne Leerzeichen
"%A": Modellnummer
"%B": Geburtsdatum - Mediadent fordert
        Format: TTMMJJJJ
        z.B.: 13031996  für 13.3.1996
"%C": Zusätzliche Patientennummer
"%D": Versichertennummer  
"%F": Nummer des aktuellen Clienten
        Kann mit <FL|%F|4|0> auf das Format 0015 erweitert werden
"%M" oder "%{pat:notes}": Kommentar zum Patienten (!! Kann mehrzeilig sein !!) 
        Mit <VAL|%M|TagName> kann ein Wert aus dem Kommentar ausgelesen werden
        Diese Wert muss in der Form "TagName=Wert" vorliegen
"%{pat:attributes}": Attribute mit Semikolon ; getrennt
"%{pat:caseid}": Fallnummer des Patienten. 
        Sind mehrere Fallnummern bekannt, so wird ein Auswahldialog angezeigt.
"%{pat:caseid_1}": Erste Fallnummer des Patienten in der Fallnummernliste

Daten des behandelnden Arztes (Treater) des Patienten.
Es werden die Daten des primären Behandlers zurück gegeben, das ist der erste Eintrag in der Liste „behandelnder Arzt“.

"%{treat:short}": Kurzbezeichnung des Arztes
"%{treat:firstname}": Vorname des Arztes
"%{treat:lastname}": Familienname des Arztes

Platzhalter für System-Daten

"%U" oder "%{user:short}": Username: Wird mit dem Kurznamen des aktuellen OnyxCeph³ Logins ersetzt
"%{user:name}": Wird mit dem Langnamen des aktuellen OnyxCeph³ Logins ersetzt
"%W": Workstation: Wird mit dem aktuellen Windows Login ersetzt: Benutzername [Computername] 
"%X" oder "%{time:ansi}": Zeitstempel: aktuelle Serverzeit im Format: JJJJMMTTHHMMSS (yyyymmddhhnnss)
        Beispiel: <SS|%X|1|4> ► aktuelles JJJJ  
        Beispiel: Mit <SS|%X|1|4>-<SS|%X|5|2>-<SS|%X|7|2> ► JJJJ-MM-TT
"%{timestamp}": Zeitstempel: aktuelles Datum sowie Zeit (Server) im Format: JJJJ-MM-TT HH:MM:SS   
"%%": Prozentzeichen "%" (für den Fall, dass das Prozentzeichen benötigt wird)

Die folgenden Platzhalter werden nur dann ersetzt, wenn ein Bild gewählt ist

"%6": Bilddateiname relativ zum Bildverzeichnis auf dem Server:
        Beispiel: 08~615\08~615SBIX.jpg
"%7": Bildcode
        Beispiel: 08~615SBIX
"%E": Bilddatum im Format JJJJMMTT
"%I": Bildtypname
"%Y": Bildtyp-Code
"%T" oder "%{img:notes}": Kommentar zum Bild (!! Kann mehrzeilig sein !!) 
        Mit <VAL|%M|TagName> kann ein Wert aus dem Kommentar ausgelesen werden
        Dieser Wert muss in der Form "TagName=Wert" vorliegen
"%{img:attributes}": Attribute des Bildes mit Semikolon ; getrennt
"%G" oder "%{img:seriesname}": Name der Sitzung, zu der das Bild gehört
         Beispiel: Abschlußbefund-01.11.2016
"%{img:seriesdate}": Datum der Sitzung, zu der das Bild gehört im im Format JJJJMMTT
"%{img:seriesnotes}": Kommentar zur Sitzung, zu der das Bild gehört (!! Kann mehrzeilig sein !!)

Rekursive Suche mit *

Wird ein " * " - Zeichen an den Pfad angehängt, so werden auch die Unterverzeichnisse des Pfades durchsucht.
Optional kann nach dem " * "-Zeichen und dem Marker " < " die Tiefe der Suche angegeben werden.

Beispiele:

Durchsuchen aller Unterverzeichnisse im Patientenverzeichnis:
  "D:\Bilder\%1\*"
Durchsuchen aller Unterverzeichnisse im Patientenverzeichnis 123456:
  "D:\Bilder\123456\*"
und allen Unterverzeichnissen zurück gegeben.

Mögliche Ergebnisse:
  "D:\Bilder\123456\Img1.jpg"
  "D:\Bilder\123456\2010\Img2.jpg"
  "D:\Bilder\123456\2011\Retension\Img3.jpg"
  ...
  
Mit dem Pfad "D:\Bilder\%1\*<1" werden nur folgende Dateien gefunden:
  "D:\Bilder\123456\Img1.jpg"
  "D:\Bilder\123456\2010\Img2.jpg"    
Diese Datei wird nicht gefunden:   
  "D:\Bilder\123456\2011\Retension\Img3.jpg"
Auch erlaubt: Alle Bilder auf dem Laufwerk D suchen:
  "D:\*"
  
Bitte vermeiden, kann sehr lange dauern.

Standard-Platzhalter

Wildcards "*" und "?" sind in allen Verzeichnisnamen möglich.
Benutzt werden die Wildcards nach den normalen Windows-Konventionen:

? steht für ein einzelnes Zeichen
* steht für beliebig viele Zeichen

OnyxCeph sucht alle passenden Pfade und gibt die darin enthaltenen Dateien zurück.

So werden zum Beispiel für den Patienten Müller,Jan bei Importpfad

D:\Scans\Day????????\%8,%9\*<1

folgende Verzeichnisse durchsucht (wenn vorhanden):

D:\Scans\Day20160301\Müller,Jan\
D:\Scans\Day20160301\Müller,Jan\Head\
D:\Scans\Day20170313\Müller,Jan\
D:\Scans\Day20170313\Müller,Jan\Teeth\

So kann der Carestream IOS -Standard-Exportpfad abgebildet werden:

 \\.. folder\*%2 %3\

Modulspezifische Platzhalter

%{module:id} auch %V
Code des auslösenden Moduls
%{module:name}
Name des auslösenden Moduls
%E
Bilddatum in allen 3D-Modulen
Bilddatum in Drittprogrammen (wenn von Bild gestartet)
%J
Kiefer im 3D-Export, wenn nur Objekte des Ober- oder Unterkiefers exportiert werden.
%N
Dateiname des Containers im Ereignis "Container Import Done".
Dateiname des Containers im Ereignis "Container Export Done".
Dateiname des Reports im Ereignis "Report Upload Done".
Dateiname der Mesh-Datei im Ereignis "3D Export Done".
WebAddress im Ereignis "EventWebExportDone"
Dateinamen mit Leerzeichen getrennt  im Ereignis "Event3DSeriesExportDone"
%O
FTP-Code für das Ereignis "Container Upload Done".
Name das Formulars im Ereignis "Save Carbon Copy" und im PDF-Export.
Name des Projekts im Ereignis "Project Saved".
%P  
Passwort im Ereignis "Report Upload Done".
%Q  
Download-Adresse im Ereignis "Report Upload Done".
ProjectCode im Ereignis "EventProjectSaved". (kann mit dem CLI Parameter -ProjectCode= benutzt werden)
%S  
Schrittnummer im 3D-Export von Alignern.
Anzahl der Dateien im Ereignis  "Event3DSeriesExportDone"
"New" bei neu oder "Upd" bei aktualiserten Datensätzen im Ereignis "EventEvaluationDone"
%Z  
Platzhalter für Bilddatenart (2D|3D) in den Ereignissen "Evaluation Done" und "Image Import Done"

Makros für spezielle Kopplungen

Die folgenden Makros werden nur beim Bildimport unterstützt:

"<FDK_D>": Name des Datenpfades mit Geburtsdatum nach KFO-Office-Konventionen 
"<FDK_I>": Name des Datenpfades mit Patienten-ID nach KFO-Office-Konventionen

Beispiel: 
"C:\Patientendaten\" ist der in KFO-Office konfigurierte Pfad für Patientenbilder.
Pfad-Konfiguration in OnyxCeph - Systemoptionen | Drittprogramme: "C:\Patientendaten\<FDK_I>".
Bei Verwendung des Geburtdatums anstelle der Patientennummer muss das Makro <FDK_D> benutzen werden.
"<TNTand>": Es wird "NachnameVorname" ohne Leerzeichen eingesetzt (für TNTand) 

Beispiel: Hans Peter Müller-Herbig wird zu "Müller-HerbigHansPeter"

Makros zur Stringmanipulation

Die folgenden Makros beginnen mit "<" und enden mit ">". Sie verwenden mehrere durch "|" getrennte Paramter.
Syntax:

<C|T|P0|P1|P2|...>
C: Makro Kommando, z.B. "SS" für SubString.
T: Text, darf Platzhalter wie %1 enthalten, es werden immer erst die Platzhalter ersetzt 
   und dann das Makro ausgeführt.
P0, P1: Parameter, je nach Kommando unterschiedliche Anzahl und Verwendung.

Makros dürfen geschachtelt werden. Das heißt T, P0, P1, .. können Makros enthalten. Die Makros werden von innen nach außen aufgelöst.

SubString (SS)

"<SS|T|Pos|Count>"
Vom Text T wird ein Teilstring der Länge Count, beginnend ab Pos zurück gegeben.
Überschreiten Pos + Count die Länge des Strings, so wird der Strings ab Pos zurück gegeben.

Beispiel:
  "Das ist ein <SS|neues MakroXX|7|5> Text"
wird zu:
  "Das ist ein Makro Text"
Beispiele:   <SS|%E|7|2>.<SS|%E|5|2>.<SS|%E|1|4>  für TT.MM.JJJJ

Replace String (RS)

"<RS|T|SearchString|ReplaceString>" 
Im Text T wird Teilstring SearchString gesucht und mit ReplaceString ersetzt.  

Beispiel:
  "Das ist <RS|ein altes Makro|altes|neues> im Text"
wird zu:
  "Das ist ein neues Makro im Text"

Fill Left (FL)

"<FL|T|Size|Char>" 
Der Text T wird auf der linken Seite mit dem Zeichen Char aufgefüllt, so dass T die Länge Size hat.

Beispiel:
Patientennummer auf 8 Zeichen mit Nullen auffüllen:
  "ID<FL|%1|8|0>"
wird für Patient 123456 zu:
  "ID00123456"

Fill Right (FR)

"<FR|T|Size|Char>" 
Im Text T wird auf der rechten Seite mit dem Zeichen Char aufgefüllt, so dass T die Länge Size hat.

Beispiel:
Patientennummer auf 8 Zeichen mit Nullen auffüllen:
  "ID<FR|%1|8|0>"
wird für Patient 123456 zu:
  "ID12345600"  

Trim Left (TL)

"<TL|T|Size|Char>" 
Im Text T werden auf der linken Seite Char Zeichen gelöscht, so dass T die Länge Size hat.
Ist das letzte Zeichen auf der linken Seite nicht Char, bleibt T unverändert.
  
Beispiel:
Führende Nullen in Patientennummer bis auf 8 Zeichen löschen:
  "ID<TL|%1|8|0>"
wird für Patient 0000123456 zu:
  "ID00123456"

Trim Right (TR)

"<TR|T|Size|Char>" 
Im Text T werden auf der rechten Seite Char Zeichen gelöscht, so dass T die Länge Size hat.
Ist das letzte Zeichen auf der rechten Seite nicht Char, bleibt T unverändert.

Beispiel:
Anghängende X in Patientennummer bis auf 8 Zeichen löschen:
  "ID<TR|%1|8|X>"
wird für Patient 123456XXXX zu:
  "ID123456XX"  

"ID<TR|%1|8|X>"
wird für Patient 1234567890XXXX zu:
  "ID12345667890"  

Crop Left (CL)

"<CL|T|Count>" 
Im Text T werden auf der linke Seite Count Zeichen gelöscht.
Ist T kürzer als Count, so wird ein leerer String zurück gegeben.
  
Beispiel:
Führende Text "ID" in Patientennummer löschen:
  "<CL|%1|2>"
wird für Patient ID123456 zu:
  "123456"

Crop Right (CR)

"<CR|T|Count>" 
Im Text T werden auf der rechten Seite Count Zeichen gelöscht.
Ist T kürzer als Count, so wird ein leerer String zurück gegeben.

Beispiel:
Jahreszahl in einer Patienten-ID löschen:
  "ID<CR|%1|5>"
wird für Patient 123456-2021 zu:
  "ID123456"  

Contains Text (CTX)

"<CTX|T|Tag|Gefunden Text|Nicht gefunden Text>" 
Im Text T wird der Text Tag gesucht. Wird er gefunden, so wird  der "Gefunden Text" zurück gegeben, 
wenn nicht, der "Nicht gefunden Text"

Beispiel:
Prüfen, ob ein Tag in der Attributen enthalten ist:
  "<CTC|%{pat:attributes}|;LKG;|Gaumenspalte|>"
wird für einen Patienten mit dem Attributen ;KFO;LKG;CHIR; zu:
  "Gaumenspalte"  

Position (POS)

"<POS|T|Tag>" 
Im Text T wird der Text Tag gesucht. Wird er gefunden, so wird  die Position des ersten 
Zeichens zurück gegeben, wird er nicht gefunden, ein leerer Text.

Beispiel:
Ergründen, an welcher Position ein Tag im Kommentar enthalten ist:
  "<POS|%{pat:notes}|Station:>"
wird für einen Patienten mit dem Kommentar  "Dr. Meier Station:B5" zu:
  "11"  

Konvertierung zu UTF-7 (U7)

"<U7|T>" 
Der Text T wird in die UTF-7 Kodierung konvertiert.

Beispiel:
  "Name: <U7|%3 %2>"
wird mit dem Patientenname "Björn Müller" zu:
  "Name: Bj+APY-rn M+APw-ller"  

Encoding für URL (URLE)

"<URLE|T>"
Der Text T wird in UTF-8 konvertiert und dann für die Übertragung als URL escaped.
  Sie dazu auch: https://de.wikipedia.org/wiki/URL-Encoding

Beispiel:
  "<URLE|Name: %3 %2>"
wird für den Patienten mit dem Namen "Name: Björn Müller" zu:
  "Name%3A%20Bj%C3%B6rn%20M%C3%BCller"

Konvertierung zu einem gültigen Dateinamen (FILE)

"<FILE|T>"
Im Text T werden alle Zeichen ersetzt, die für Datei- oder Verzeichnisnamen nicht zulässig sind.
Folgende Zeichen werden ersetzt (wie bereits für %1):
    "\" -> "~0"
    "*" -> "~1"
    "?" -> "~2"
    "@" -> "~3"
    ":" -> "~4"
    """ -> "~5"
    "/" -> "~6" 
    "<" -> "~7"
    ">" -> "~8"
    "|" -> "~9"

Beispiel:
  "Model<FILE|%A>.PDF"
wird für den Patienten mit der Modellnummer "123\A" zu dem gültigen Dateinamen:
  "Model123~0A.PDF"  

Increment (INC)

"<INC|T|INCVAL>" 
Die ganze Zahl T wird um INCVAL erhöht. Das Ergebnis ist ebenfalls eine ganze Zahl.
T und INCVAL müssen sich in eine ganze Zahl konvertieren lassen.
Negative Zahlen sind zulässig.

Beispiel:
Schrittnummer %S um 8 erhöhen:
  "Step: <INC|%S|8>"
wird für Schritt 4 zu:
  "Step: 12"

Value (VAL)

"<VAL|T|TAG>" 
Der Text T sollte mehrzeilig sein (z.B. %M Notes).
Es wird nach einer Zeile gesucht,  die mit dem TAG gefolgt von "=" beginnt.
Der Text nach dem "=" wird zurückgegeben.

Beispiel:
Auftragsnummer "Order" aus dem Patientenkommentar auslesen:
  "Auftragsnummer #<VAL|%M|Order>"
Wenn in Notes (%M) eine Zeile "Order=0-8-15" vorhanden ist, lautet das Ergebnis:
  "Auftragsnummer #0-8-15"

DateTimeFormat (DTF)

"<DTF|T|FS>" 
Der Text T sollte ein Datum oder eine Uhrzeit in einem der folgenden Formate sein: 
   yyyymmdd, yyyymmddhhnnss oder yyyymmddhhnn

In FS muss ein Format-String übergeben werden, nach dem Datum (und Uhrzeit) formatiert werden. 
Die Syntax wird hier beschrieben: 
http://docwiki.embarcadero.com/Libraries/Sydney/de/System.TDateTime.FormatString

Bsp.:
<DTF|%4|dd.m.yyyy> -> "19.9.1990"
<DTF|%X|dddd mmmm d, yyyy hh:nn:ss AM/PM> -> "Dienstag Juni 15, 2021 10:39:00 AM" 

Alter (AGE)

"<AGE|STARTDATE|ENDDATE|FORMAT>"
 Der Text in STARTDATE und ENDDATE sollte ein Datum oder eine Uhrzeit in einem der folgenden Formate sein: 
 yyyymmdd, yyyymmddhhnnss oder yyyymmddhhnn
 Zur Ausgabe des Patienten-Alters sollte als STARTDATE immer %4 übergeben werden.
 Als  ENDDATE kann z.B. "%{img:seriesdate}" oder "%E" für das Bilddatum übergeben werden.
 
 Mit FORMAT kann die Formatierung des Ergebnisses gewählt werden. Hier sind folgende Werte möglich: 
 SHORT, LONG, YEARS, DECI, DAYS oder YYMMDD.
 
 Beispiele:
 Alter zum Datum der Sitzung:
    <AGE|%4|%{img:seriesdate}|SHORT> -> "19,5 Jahre"
    <AGE|%4|%{img:seriesdate}|LONG> -> "19,5 (19 Jahre, 6 Monate)"
 Alter zum Datum des Bildes:
    <AGE|%4|%E|DECI> -> "19,5"
    <AGE|%4|%E|DAYS> -> "7128"
 Aktuelles Alter des Patienten:
    <AGE|%4|%{time:ansi}|YYMMDD> -> "190613"


Übersicht über Platzhalter und Ihre Gültigkeit

Bezeichnung Platzhalter Kurzform Kommentar 3D Export Done 3D Series Export Done Container Export Done Container Import Done Container Upload Done Evaluation Done Image Import Done Module Closed Module Opened Project Saved Report Export Done Report Upload Done Tooth Movement Export Done Treated Image Saved User Login User Logout Web Export Done Drittprogramme Export 3D (Dateien, Beschriftung) Export Aligner-Protokoll
Events
Patient: Werte sind verfügbar, wenn ein Patient aktiv ist.
ID %0
ID, für Dateinamen %1 Patientennummer korrigiert für Dateinamen
Familienname %2
Vorname %3
Geburtstag %4 Format: JJJJMMTT
Geschlecht %5
Familienname (ohne Leerzeichen) %8 von Schulz → vonSchulz
Vorname (ohne Leerzeichen) %9 Anna Lena → AnnaLena
Modellnummer %A
Geburtstag %B Format: TTMMJJJJ
zusätzliche Nummer %C
Versichertennummer %D
Aufnahmedatum %{pat:initialcontact}
Behandlungsbeginn %{pat:starttreatment}
Beuteilungsdatum %{pat:assessmentdate}
Kommentar %{pat:notes} %M kann mehrzeilig sein
Attribute %{pat:attributes} Attribute mit Semikolon ; getrennt
Fallnummer %{pat:caseid} Fallnummer, ggf. mit Auswahldialog
Fallnummer %{pat:caseid_1} Erste Fallnummer des Patienten in der Liste
Bild / Befund: Werte sind verfügbar, wenn ein Befund aktiv ist.
Datum der Aufahme %E
Dateiname %6
Code %7
Kommentar %{img:notes} %T kann mehrzeilig sein
Attribute %{img:attributes} Attribute mit Semikolon ; getrennt
Bildtypname %I
Bildtyp-Code %Y
3D oder 3D-Befund %Z „2D“ oder „3D“
Name der Sitzung %{img:seriesname} %G
Datum der Sitzung %{img:seriesdate} Format: TTMMJJJJ
Kommentar zur Sitzung %{img:seriesnotes} kann mehrzeilig sein
System
Prozentzeichen %% Prozentzeichen im Text
Zeitstempel %{time:ansi} %X Serverzeit im Format: JJJJMMTTHHMMSS
Zeitstempel %{time:stamp} Serverzeit im Format: JJJJ-MM-TT HH:MM:SS
Name des Arbeitsstation %W Username [Computername]
Tool- oder Event-Name %{event:name} Name des ausgelösten Tool oder Events
Tool- oder Event-ID %{event:id} ID des ausgelösten Tool oder Events
Modul-Code %{module:id} %V Code des auslösenden Moduls
Modul-Name %{module:name} Name des auslösenden Moduls
Anwender: Werte sind verfügbar, wenn die Anwenderverwaltung und ein Anwender aktiv sind
Username (lang) %{user:name} Name des aktuellen OnyxCeph Logins
Username (kurz) %{user:short} %U Kurzname des aktuellen OnyxCeph Logins
Spezielle Platzhalter
Analysename %V Name der ausgeführten Analyse
Auswertung: Neu oder Aktualisierung %S „New“ oder „UPD“
CSV-Datei %N Name der Exportieren CSV-Datei
Download-Adresse %Q
FTP-Code %O
Name of the exported table %T
Name der Report-Datei %N
Name des Aligner Projektes %P
Name des Containers %N
Namen der exportierten Dateien %N getrennt mit mit Leerzeichen
Passwort %P vergebenes Password
ProjectCode %{project:id} %Q
ProjectName %{project:name} %O
Step-Anzahl %S Anzahl der exportierten Steps
Step-Nummer %S Nummer des exportierten Steps
Webadress %N
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
mergefields.txt · Zuletzt geändert: 2024/04/08 13:18 von holger