samedi-app

Version 4.2.0

Konfiguration

Sie können die samedi-App über eine JSON-Datei namens app.cfg konfigurieren. Die Konfigurationsdatei wird in folgenden Suchpfaden gesucht:

  • %LOCALAPPDATA%\Programs\samedi-app\app.cfg (Ausser bei systemweiter MSI-Installation)
  • Installationsverzeichnis (bei systemweiter MSI-Installation)
  • C:\Programme\samedi-app\app.cfg
  • C:\Programme\samedi-app Installer\app.cfg
  • C:\Programme (x86)\samedi-app\app.cfg
  • C:\Programme (x86)\samedi-app Installer\app.cfg

Die Reihenfolge ist hierbei wichtig, wird eine Konfigurationsdatei gefunden, wird nicht nach weiteren Dateien gesucht!

Diese Datei muss ein gültiges JSON-Dokument sein (siehe http://json.org für weitere Informationen), sonst wird sie ignoriert.

Jede Konfigurationsoption ist ein Schlüssel innerhalb dieser Datei. Hier ist eine Beispieldatei:

{
  "mongoUrl": "mongodb://192.168.15.14:27017"
}

Hiermit wird die Option mongoUrl eingestellt.

Optionen

mongoUrl

Hiermit wird die URL der mongodb-Verbindung für die Verwendung eines zentralen Patientenindexes festgelegt. Diese Option zu nutzen ist der Verwendung von mongoHost und mongoPort vorzuziehen, da Sie auch Replica Sets für Hochverfügbarkeit einrichten, verschiedene Optionen festlegen können, etc.

Das Format für mongoUrl ist im mongodb Handbuch ausführlich beschrieben.

Setzen Sie in der URL keine Datenbank! Diese wird ignoriert!

Gültige Beispiele:

mongodb://192.168.15.14/
mongodb://db1.example.net,db2.example.com/?replicaSet=test

mongoHost (veraltet)

mongoHost legt die IP-Adresse oder den Hostnamen für eine mongodb-Instanz zur Verwendung eines zentralen Patientenindex fest. Diese Option ist veraltet und wird demnächst entfernt. Nutzen Sie statt dessen mongoUrl.

mongoPort (veraltet)

mongoPort legt den Port für eine mongodb-Instanz zur Verwendung eines zentralen Patientenindex fest. Diese Option ist veraltet und wird demnächst entfernt. Nutzen Sie statt dessen mongoUrl.

printProgram

Mit der Option printProgram kann festgelegt werden, dass die samedi-App beim Drucken eines Terminzettels oder einer Ressourcenübersicht verwendet werden soll. Das Format dieser Option ist wie folgt:

{
  "printProgram": ["Program", "Argument1", "Argument2", "ArgumentN"]
}

Es gibt einen Platzhalter, den Sie in jedem der Argumente verwenden können: %file%. Dieser wird durch den Dateinamen der zu druckenden PDF-Datei ersetzt. Bitte achten Sie auch darauf, dass Sie eventuell den Programmpfad angeben müssen.

Hier ist ein Beispiel, wobei das Terminblatt mit “Foxit Reader” auf einem Drucker namens “Terminzettel” ausgegeben wird.

{
  "printProgram": [
    "\"C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\FoxitReader.exe\"",
    "/t",
    "%file%",
    "Terminzettel"
  ]
}

pdfConverter

Die Option pdfKonverter wird verwendet, um das Programm zu konfigurieren, mit dem Word-Vorlagendateien (docx) beim Export eines Formulars in ein PDF umgewandelt werden.

{
  "pdfConverter": ["Program", "Argument1", "Argument2", "ArgumentN"]
}

Sie können die folgenden Platzhalter verwenden:

%input_file%: Dies ist die Eingabedatei, die das Konvertierungsprogramm in ein PDF-Format (die Datei “.docx”) konvertieren soll.

%output_file%: Dies ist der Dateiname, in den das Konvertierungsprogramm die PDF-Datei schreiben soll. Dies ist in der Regel der gleiche Dateiname wie die input_file, jedoch mit der Erweiterung “.pdf”.

%output_dir%: Für Konverter, die ein Argument der Ausgabedatei nicht verarbeiten können, können Sie output_dir verwenden. Es wird jedoch erwartet, dass der Konverter das PDF mit dem gleichen Dateinamen wie input_file, aber mit der Erweiterung “.pdf” ausgibt.

Hier ist ein Beispiel, das das Terminblatt mit LibreOffice Writer druckt, um ein docx-Dokument in PDF zu konvertieren.

{
  "pdfConverter": [
    "\"C:\\Program Files (x86)\\LibreOffice\\program\\soffice.exe\"",
    "--convert-to",
    "pdf",
    "--outdir",
    "%output_dir%",
    "%input_file%"
  ]
}

Das selbe Beispiel mit PDFCreator:

{
  "pdfConverter": [
    "\"C:\\Program Files\\PDFCreator\\PDFCreator.exe\"",
    "/PrintFile=\"%input_file%\"",
    "/PrinterName=\"samedi PDF\""
  ],
  "pdfConverterOpensAfterConversion": true
}

Damit dies funktioniert, müssen Sie den PDFCreator korrekt konfigurieren:

  • Erstellen Sie im PDFCreator ein neues Profil “samedi PDF” mit den Einstellungen:
    • Automatisches Speichern
    • Wählen Sie einen Ordner, in dem die PDFs gedruckt werden sollen
    • Dateien nicht überschreiben
    • Nach dem Speichern öffnen
  • Dann gehen Sie zu Drucker und erstellen Sie einen neuen Drucker “samedi PDF”, der das gerade erstellte Profil verwendet

pdfConverterOpensAfterConversion

Setzen Sie diese Option auf true, wenn Ihr PDF-Konverter das PDF nach der Erstellung automatisch öffnet (z.B. obiges PDFCreator-Profil). In diesem Fall wird samedi-App nicht versuchen, das PDF selbst zu öffnen.

allowedUserLogins

Mit dieser Option können Sie einschränken, welche Benutzer sich auf welchem Computer anmelden dürfen.

WICHTIG: Dies ist KEIN Sicherheitsfeature und sollte nicht als solches verwendet werden. Dies dient nur zu organisatorischen Zwecken.

Der primäre Anwendungsfall dafür ist, wenn Sie mehrere Benutzer haben, die ständig ihren Arbeitsplatz wechseln und Sie sicherstellen möchten, dass sie sich auf einem bestimmten PC beim richtigen Konto anmelden (z.B. weil sie unterschiedliche Gruppenberechtigungen haben).

Die Option besteht aus einer Liste von Einträgen, die mit dem jeweiligen Computernamen und Benutzernamen verglichen werden. (Wichtig: hiermit ist der Benutzer im Betriebssystem gemeint!)

Wenn ein Eintrag übereinstimmt, dürfen sich nur die erlaubten samedi-Benutzer anmelden (dies ist wiederum kein Sicherheitsfeature und kann leicht umgangen werden).

Nach dem ersten passenden Eintrag wird die Verarbeitung gestoppt, die Reihenfolge ist hierbei wichtig.

Jeder Eintrag kann die folgenden Optionen haben:

  • osHostname: der Hostname, wie er vom Betriebssystem gemeldet wird (os.hostname, siehe https://nodejs.org/api/os.html#os_os_hostname)
  • osUsername: der Benutzername, wie er vom Betriebssystem gemeldet wird (username, siehe https://www.npmjs.com/package/username)
  • allow: eine Liste von erlaubten samedi-Benutzer, die sich hier einloggen dürfen. Kann auch true sein, um alle samedi-Benutzer zu erlauben. [] verbietet alle samedi-Benutzer (niemand darf sich anmelden)

If osHostname or osUsername are not present, they match all values. Wenn osHostname oder osUsername nicht vorhanden sind, gelten sie als Wildcard, passen also immer.

Beispielkonfiguration:

{
  "allowedUserLogins": [
    { "osHostname": "machine2", "allow": ["peter_morgen", "peter.kasse"] },
    { "osHostname": "machine3", "osUsername": "max", "allow": ["max"] },
    { "osUsername": "admin", "allow": true },
    { "osUsername": "fred", "allow": [] },
    { "allow": [] }
  ]
}