DictaFlow

Einführung

Der DictaFlow Dienst verwaltet und koordiniert von einem PC die DictaNet Office Diktate. Mit dem DictaFlow Editorwerden die Regeln erstellt, die mit dem DictaFlow Dienst ausgewertet werden. Anhand von diesen Regeln werden die Diktate in andere Diktatordner automatisch verschoben.

Installation und Einrichtung

Der DictaFlow Dienst wird mit einem Setup installiert. Es ist empfohlen, den Dienst auf einem einzigen PC zu installieren, der ständig läuft und der den Netzwerk-Diktatbaum zugreifen kann.

Mit diesen Schritten wird der DictaFlow Dienst installiert und eingerichtet.

  1. DictaFlow_Setup.exe herunterladen und auf einem PC ausführen
  2. Den Pfad auf den DictaNet-Diktatordner im Installations-Wizard auswählen

Für Netzlaufwerke einen UNC-Pfad unten eingeben (nicht das Laufwerk-Mapping)

weil der DictaFlow-Dienst unter „Lokal System“ Account läuft und die Laufwerk-Mappings normalerweise nicht kennt

  1. Nach der Ausführung des Setups werden automatisch installiert:
    • DictaFlow Editor zum Erstellen von Regeln
    • DictaFlow Dienst als Windows-Dienst „DictaFlowService“, der automatisch startet
  1. DictaFlow Editor vom Desktop starten
DictaFlow-Icon auf dem Desktop
  1. Die Online-Store Zugangsdaten eingeben

DictaFlow Editor

Im DictaFlow Editor kann man die Regeln erstellen, nach denen Diktate von einem Diktatordner Quelle in einen anderen Diktatordner Ziel übertragen werden.

Hauptansicht

In der Hauptansicht wird die Liste von Regeln angezeigt.

Man kann hier:

  • Eine neue Regel hinzufügen
  • Eine vorhandene Regel bearbeiten, in dem man auf die Regel klickt
  • Eine vorhandene Regel aktivieren/deaktivieren, in dem man auf den Haken klickt
  • Eine vorhandene Regel löschen

Regelansicht

Beim Hinzufügen einer neuen Regeln oder beim Bearbeiten einer vorhandenen Regel wird die Regelansicht geöffnet.

Eine Regel kann aus mehreren Bedingungen bestehen.

Bedingungen beziehen sich sowohl auf Diktatinformationen wie Autor, Priorität und Akte als auch auf die aktuelle Uhrzeit und den Wochentag.

Sobald die Bedingungen vom einen Diktat in der Quelle erfüllt sind, wird das Diktat in das Ziel automatisch übertragen.

Feldbeschreibungen in der Regelansicht

Quelle

  • Pfad mit Diktaten, die in anderen Ordner übertragen werden sollen.

oder

  • E-Mail Adresse, auf die ein Diktat von der App gesendet wurde

Ziel

  • Pfad, wo Diktate übertragen werden sollen.

Hinweis: Für die Netzlaufwerke in Quelle und Ziel dürfen nur die UNC-Pfade verwendet werden!

  • + Neue Bedingung in der Regel erstellen
  • - Die ausgewählte Bedingung aus der Regel entfernen
  • Diktatinformationen (wie Autor, Priorität, Akte) und weitere Informationen (aktuelle Uhrzeit und Wochentag), auf die die Bedingungen gestellt werden
  • Werte, mit welchen die Diktatinformation verglichen werden (z.B. bestimmte Autorname oder Wochentag)
  • Werte, mit welchen die Diktatinformation verglichen werden (z.B. bestimmte Autorname oder Wochentag)
  • Diktat kopieren

    Das Diktat und die zugehörigen Dokumente werden kopiert, sodass die Kopien in der Quelle und im Ziel vorhanden sind.

  • Nur Dokumente zum Diktat kopieren

Es werden nur die Dokumente zum Diktat kopiert, sodass das Diktat in der Quelle bleibt

Diktat verschieben

Das Diktat und die zugehörigen Dokumente werden verschoben

App Diktate per E-Mail empfangen

Der DictaFlow Dienst kann auch die App-Diktate per E-Mail empfangen. Zum Empfangen von Diktaten per E-Mail folgende Schritte durchgehen.

  • Eine DictaNet App (iOS/Android) auf dem Smartphone installieren
  • Einen Benutzer und eine E-Mail-Adresse in der App einrichten
  • Eine E-Mail-Adresse in den DictaFlow Editor Einstellungen auswählen
  • Eine neue Regel erstellen
  • Eine Bedingung auf den Empfänger in dieser Regel erstellen
  • Auf das QR-Code Symbol auf der rechten Seite klicken
  • Den angezeigten QR-Code mit der App scannen
  • Regel speichern
  • Die App wird eine automatische Kontaktanfrage an den DictaFlow Dienst senden.
  • Nach der erfolgreichen Kontaktherstellung wird die App den Empfänger, der im DictaFlow Editor ausgewählt wurde, sehen und kann dann die Diktate an ihn senden.
  • Der DictaFlow Dienst wird diese Diktate abholen und in den Ziel-Ordner verschieben.

Technische Beschreibung des DictaFlow Dienstes

Die angelegten Regeln werden in Dateien mit der Endung „.rt“ im Unterordner _routes des Netzwerk-Diktatordners gespeichert. Diese Dateien heißen auch Route-Dateien.

Alternativ zum Programm DictaFlow Editor können die Regeln auch mit einem beliebigen Texteditor geschrieben werden.

Die Route-Dateien beschreiben eine Route zur Diktatweiterleitung, mit jeweils einer Quelle und einem Ziel. Ebenfalls werden die Bedingungen festgelegt, mit welchen die Route aktiviert wird.

Beispiel: Im Ordner S.Kraft sollen ab 16 Uhr alle Diktanten des Autors RA.Recht in den Ordner Pool verschoben werden. Die Quelle dieser Route ist hier der Ordner S.Kraft. Die dort liegenden Diktate werden nach Bedingungenuntersucht, in diesem Fall ob die Uhrzeit später als 16 Uhr ist. Falls diese zutrifft, werden die Diktate in das Ziel nämlich der Ordner Pool verschoben. Für die Untersuchung der Bedingungen ist der der sogenannte Evaluator zuständig.

Es kann immer nur eine Quelle und ein Ziel pro Route angegeben, jedoch beliebig viele Bedingungen.

Es können Kommentarzeilen in der Route-Datei festgelegt werden, welche vom Evaluator ignoriert werden.

Kommentarzeilen

Eine Kommentarzeile kann nützlich sein, um die Route-Datei mittels Bemerkungen für menschliche Leser verständlich zu machen. Kommentare werden vom Evaluator ignoriert. Eine Kommentarzeile wird mit einem der folgenden Zeichen am Anfang der Zeile begonnen:

# - Route

// - zwei Schrägestriche

REM - das Wort REM

Quelle

Die erste Zeile einer Route-Datei, die nicht eine Kommentarzeile oder Leerzeile ist, enthält immer die Angabe der Quelle. Die Quelle ist der Name des Ordners im Diktatbaum, der überwacht werden soll durch den Evaluator, oder die E-Mail Adresse zum Empfangen von App Diktate.

# in unserem obigen Beispiel sieht die Quelle so aus:

S.Kraft

In der Quellzeile kann aber auch bereits das Ziel spezifiziert werden, was zwecks besserer Lesbarkeit auch empfohlen wird. Dabei wird Quelle und Ziel durch die Zeichen -> getrennt.

# in unserem obigen Beispiel schreiben wir Quelle und Ziel auf einer Zeile:

S.Kraft -> Pool

Die Quelle ist per Default relativ zum Diktatbaum in dem die Route-Dateien liegen. Wenn z.B. der Evaluator die Route-Datei 'test.rt' lädt – aus dem Verzeichnis J:\DictaNet\_routes, dann bezieht sich die Quelle ebenfalls auf J:\DictaNet, also hier J:\DictaNet\S.Kraft. Optional kann die Quelle als vollständiges Pfad spezifiziert werden.

Ziel

Die zweite Zeile einer Route-Datei, die nicht eine Kommentarzeile oder Leerzeile ist, enthält die Angabe des Ziels – es sei denn, das Ziel wurde bereits einzeilig zusammen mit der Quelleangegeben. Das Ziel ist der Name des Ordners im Diktatbaums an den der Evaluator die Diktate weiterleitet.

Der Evaluator sortiert die zu verschiebende Diktate in sog. Jobs.

# in unserem obigen Beispiel sieht das Ziel so aus:

Pool

Wie die Quelle ist das Ziel per Default relativ zum Diktatbaum, in dem die Route-Dateien liegen. Wenn z.B. der Evaluator die Route-Datei 'test.rt' lädt – aus dem Verzeichnis J:\DictaNet\_routes, dann bezieht sich das Ziel ebenfalls auf J:\DictaNet, also hier J:\DictaNet\Pool. Optional kann das Ziel als vollständiger Pfad spezifiziert werden.

Ein Sonderfall innerhalb des lokalen Netzwerks ermöglicht das Schlüsselwort Backup$. Wird dieses zusammen mit dem Ziel angegeben, dann werden Diktate nicht verschoben, sondern lediglich kopiert. Dies ist sinnvoll, wie der Name bereits andeutet, um Backups automatisiert zu erstellen.

# ein Beispiel um ein Backup eines Ordners um Freitag 16 Uhr zu automatisieren:

# auch hier geht Quelle und Ziel einzeilig

S.Kraft -> Backup$ Z:\Backups\DictaNet\S.Kraft

Heute$ ist Freitag$ und Stunde$ ist 16

Bedingungen

Die restlichen Zeilen in der Route-Datei stellen Bedingungen dar, die erfüllt sein müssen, damit die betroffenen Diktate zum Versand markiert werden. Eine Bedingungszeile kann verschiedene Komponenten beinhalten:

  • Schlüsselwörter, die vom Evaluator ausgewertet werden
  • Platzhalter, die vom Evaluator mit Daten aus dem Diktat ersetzt werden
  • Benutzerdaten, die beim Erstellen der Route-Datei angegeben wurden und vom Evaluator zum Vergleich berücksichtigt werden.

In dem Beispiel:

3$ ist "RA.Echt"

steht ist für das Schlüsselwort, 3$ für den Platzhalter, und "RA.Echt" für die Benutzerdaten.

Es können mehrere Bedingungen in einer Zeile angegeben werden, die mit den Schlüsselworten „und“ oder „oder“ verbunden werden können:

3$ ist "RA.Echt" oder 3$ ist "RA.N.Walt"

Die Bedingungszeilen werden vom Evaluator der Reihenfolge nach ausgewertet. Sobald eine Bedingung nicht zutrifft, wird mit der Auswertung abgebrochen und das betroffene Diktat wird nicht zum Versand markiert. Dieses Verfahren ist bekannt als Kurzschlussverfahren und dient dazu, die Verarbeitungszeit bei der Auswertung niedrig zu halten. Um dennoch zwei Zeilen mit einer Oder-Verknüpfung zu verbinden und damit das Kurzschlussverfahren zu umgehen muss eine Zeile dazwischen eingefügt werden – diese neue Zeile besteht aus einem einzigen oder Schlüsselwort.

Schlüsselwörter sind für den Evaluator reservierte Wörter in der Bedingungszeile, die den Vergleich definieren, den der Evaluator vornehmen soll. Diese Schlüsselwörter dürfen sonst nirgends in der Route-Datei verwendet werden, außer in den Kommentaren. Grundsätzlich gibt es nur fünf Schlüsselwörter, doch sind einige diverse Schreibweisen erlaubt:

Schlüsselwort Abbkürzung
und &&
oder ||
ist gleich ==
ungleich !=
enthaelt  
  <
  >

Platzhalter markieren Stellen, an denen der Evaluator Daten einfügt, die aus den Metadaten des Diktats kommen. Der Evaluator vergleicht diese mit den Benutzerdaten im Rahmen der Auswertung. Darüber hinaus gibt es Platzhalter für Datum und Uhrzeit Funktionen sowie für den Wochentag und zur Auswertung des Fertig-bis Datums.

Folgende Platzhalter stammen aus Diktat-Metadaten:

2$      Audio status

3$      Author

4$      Finish by

5$      Priority hoch frist sofort

6$      Length

7$      Date and time updated

8$      File reference #

9$      Column 1

10$    Column 2

11$    Remark

12$    Batch number

14$    Title

16$    Typist (empfänger)

92$    Author - Speech Recognition

Der Platzhalter für das heutige Datum ist Datum$, und dieser wird immer mit Benutzerdaten im Format "TT.MM.JJJJ" verglichen.

Besondere Platzhalter

Diese Platzhalter können (müssen aber nicht) alleine in einer Zeile stehen.

Auswertung des Fertig-bis Datum

Es gibt drei besondere Platzhalter zur Auswertung des Fertig-bis Datum.

Warnung$ - Fertig-bis droht übermorgen abzulaufen

Alarm$ - Fertig-bis droht morgen abzulaufen

Überfällig$ – Fertig-bis Datum ist abgelaufen

Für den Vergleich von Wochentagen stehen folgende Platzhalter zur Verfügung, wobei immer Heute$ mit einem der anderen Wochentags-Platzhalter verglichen wird:

Heute$

Sonntag$

Montag$

Dienstag$

Mittwoch$

Donnerstag$

Freitag$

Samstag$

Schließlich gibt es noch zwei Platzhalter für die Uhrzeit:

Stunde$

Minute$

Verschlüsselte/unverschlüsselte Diktate

Wenn nur verschlüsselte Diktate übertragen sollen

enc$

Wenn nur unverschlüsselte Diktate übertragen sollen

!enc$

Benutzerdaten

Benutzerdaten werden zum Vergleich von Evaluator herangezogen im Rahmen der Auswertung. Grundsätzlich werden Benutzerdaten in Anführungsstriche gesetzt. Es sei denn, es sind Zahlen, die im Zusammenhang mit Stunde$ oder Minute$ stehen – dann ohne Anführungsstriche.

Benutzerdaten können auch C# oder Powershell Ausdrücke sein. Wichtig ist nur, dass als Ergebnis des Ausdrucks bzw. die ganze Bedingungszeile als True oder False ausgewertet werden kann.

Beispiele:

# Datei J:\DictaNet\_routes\test1.rt

# Alle unbearbeitete Diktate des RA Echt, die sich im Ordner S.Kraft befinden,

# sollen ab 16 Uhr in den Pool verschoben werden

S.Kraft -> Pool

3$ ist "RA.Echt"

Stunde$ > 16

# Datei J:\DictaNet\_routes\test2.rt

# Alle Rohtext des RA Echt, die sich im Ordner Pool befinden,

# sollen automatisch zu S.Kraft verschoben werden

Pool -> S.Kraft

2$ ist "roh"

3$ ist "RA.Echt"