DICOM4charly Konfiguration (für Systmbetreuer)

DICOM4charly ist die Schnittstelle zwischen charly und dem DICOM-Röntgengerät.

Hinweis: Diese Anleitung beschreibt die Konfiguration von DICOM4charly. Sie richtet sich an Systembetreuer mit grundlegenden Kenntnissen zu DICOM. Weitere Informationen zu DICOM4charly finden Sie hier DICOM4charly.
Hinweis: Alle notwendigen Informationen rund um den prinzipiellen Aufbau sowie die Verwaltung des Servers, haben wir in dem Kapitel Server für Sie zusammengefasst.

 


Workflow aus Anwendersicht

Das folgende Diagramm zeigt den grundsätzlichen Workflow mit DICOM4charly in stark vereinfachter Form aus Anwendersicht.

  1. Ein Röntgenauftrag wird im charly-Röntgenkontrollbuch angelegt und an DICOM4charly übermittelt.
  2. Ein Röntgensystem fragt DICOM4charly nach vorhandenen Röntgenaufträgen.
  3. DICOM4charly übermittelt die zugehörigen Röntgenaufträge an das Röntgensystem.
  4. Die Patienten- und Untersuchungsdaten stehen am Röntgengerät für die Durchführung der Röntgenuntersuchung bereit.
  5. Nach Durchführung der Röntgenuntersuchung entfernt der Anwender den Röntgenauftrag aus DICOM4charly.


Voraussetzungen für die Konfiguration

Für die Verwendung von DICOM4charly müssen bestimmte Software- und Betriebsbedingungen erfüllt werden.

Software

Für DICOM4charly benötigen Sie mindestens folgende Software-Versionen:

Ports

Übersicht der Ports, die für die Kommunikation zwischen den Komponenten erforderlich sind:

Port Beschreibung
10443 Standard für den SSL-Proxy. Wird vom charly-Updater in der Firewall geöffnet. Kann im charly-Updater umkonfiguriert werden. Führen Sie dazu den charly-Updater erneut aus.
10444 (TCP) Standard für den DICOM4charly-Service für „MWL mit Auftragsdaten“. Über diesen Port kann ein Röntgensystem eine Anfrage an den Service stellen. Kann in der „application.yml“-Datei des Soldicom-Services geändert werden.
10445 (TCP) Standard für den DICOM4charly-Service für „MWL für die Übertragung von Patientendaten“. Über diesen Port kann ein Röntgensystem eine Anfrage an den Service stellen. Kann in der „application.yml“-Datei des Soldicom-Services geändert werden.
14711 (HTTP) Standard für den Messaging-Service. Wird vom charly-Updater in der Firewall geöffnet. Kann im charly-Updater umkonfiguriert werden. Führen Sie dazu den charly-Updater erneut aus.
14712 (STOMP) Standard für den Messaging-Service. Kann in der „application.yml“-Datei des Messaging-Services geändert werden.

Für Änderungen an den Ports, siehe [Optional] Ports.

charly-Rechte

Für die Konfiguration von DICOM4charly benötigt Ihr charly-Benutzer mindestens folgende Zugriffsrechte in charly:

Die Zugriffsberechtigungen definieren Sie in den Stammdaten > Praxis > Gruppen > Rechte.

Konfiguration

Um Röntgenaufträge an DICOM4charly übermitteln zu können, muss die Schnittstelle zunächst konfiguriert werden.

[Optional] Soldicom-Service für mehrere Mandanten

Für den Fall, dass in einer Praxis mehrere Mandanten mit DICOM4charly arbeiten möchten, deren Röntgengerät in seiner MWL-Anfrage keine Mandantenkennung liefert, muss die Konfiguration des Soldicom-Services angepasst werden.

Hinweis: Ausführliche Informationen zum Soldicom-Service sowie der Mandantenfähigkeit finden Sie hier: Soldicom-Service

[Optional] Ports

Falls einer oder mehrere der erforderlichen Ports für DICOM4charly bereits belegt sind , konfigurieren Sie diese um:

Hinweis: Kundenspezifische Konfigurationen müssen unter ncjs in dem Verzeichnisconf2 abgelegt werden, da dieses Verzeichnis durch charly-Updates nicht überschrieben wird. Innerhalb des Verzeichnisses conf2 muss für jeden Microservice, für den eine kundenspezifische Konfiguration hinterlegt wird, ein weiteres Verzeichnis mit dem Namen des Microservices angelegt werden. Dort wird die kundenspezifische „application.yml“-Datei abgelegt.

Beispiel-Pfad einer kundenspezifischen „application.yml“-Datei mit Konfigurationen für den Soldicom-Service:
\Solutio\Server\ncjs\conf2\soldicom\application.yml

How-to

In charly: Lizenz freischalten

Um DICOM4charly öffnen zu können, muss zunächst die Lizenz freigeschaltet werden.

How-to

Im DICOM-Röntgensystem: Schnittstelle zu DICOM4charly konfigurieren

Hinweis: Für die Konfiguration der Schnittstelle zu DICOM4charly in Ihrem DICOM-Röntgensystem, lesen Sie bitte die Dokumentation des Röntgensystem-Herstellers.

Alle notwendigen Informationen für die Anbindung der DICOM4charly-Schnittstelle an das Röntgensystem, finden Sie in DICOM4charly > Stammdaten > Über diesen Dienst.

DICOM4charly bietet für Röntgensysteme folgende Services in der Rolle „Service Class Provider (SCP)“ an:

Der Hostname – die IP-Adresse des Servers in der Praxis – wird automatisch ermittelt und für beide Services gesetzt.

Die Kommunikation vom Röntgengerät zu DICOM4charly läuft standardmäßig über die Ports 10444 und 10445 (TCP). Sofern einer oder beide Ports in der Praxis bereits belegt sind, müssen die Ports in der „application.yml“-Datei des Soldicom-Services geändert werden. Siehe Ports der DICOM4charly-Services im Soldicom-Service ändern.

In DICOM4charly: DICOM-Röntgengerät und Service erstellen

Die DICOM-Röntgengeräte und Services erstellen Sie in DICOM4charly > Stammdaten > Röntgengeräte. Dabei gelten folgende Regeln:

How-to

In charly: Röntgengerät mit DICOM-Röntgengerät verknüpfen

Das DICOM-Röntgengerät, das Sie in DICOM4charly angelegt haben, verknüpfen Sie mit dem korrespondierenden Röntgengerät aus charly. Diese Verknüpfung ist notwendig, damit aus charly über die DICOM4charly-Schnittstelle ein Röntgenauftrag an ein DICOM-Röntgengerät übermittelt werden kann.

How-to

In charly: Röntgengerät mit DICOM-Röntgengerät verknüpfen

Das DICOM-Röntgengerät, das Sie in DICOM4charly angelegt haben, verknüpfen Sie mit dem korrespondierenden Röntgengerät aus charly. Diese Verknüpfung ist notwendig, damit aus charly über die DICOM4charly-Schnittstelle ein Röntgenauftrag an ein DICOM-Röntgengerät übermittelt werden kann.

How-to

 


Server

Der charly Server verwaltet die Praxisdatenbank und stellt wichtige Dienste für den charly-Client bereit. Er sorgt für einen reibungslosen Betrieb Ihrer Praxissoftware und bietet Funktionen für die effiziente Verwaltung Ihrer Daten und Systeme.

Der Server kann klassisch oder in der Containerlösung betrieben werden.

Für weitere Informationen zur Containerlösung, siehe charly-Server Verwaltung mit charly-Server-Skript.

charly-Java-Server

Der charly-Java-Server (ncjs) bezeichnet die Summe aller Microservices und die für deren Betrieb erforderliche Infrastruktur, welche auf dem Server der Zahnarztpraxis betrieben wird.

Hinweis: Der charly-Java-Server ist automatisch in charly enthalten und wird im Rahmen der charly-Updates laufend aktualisiert.

Installationspfad charly-Java-Server (ncjs)

Alle Komponenten des charly-Java-Servers befinden sich auf dem charly-Server unter folgendem Pfad:
<charly-Installationspfad>\Solutio\Server\ncjs

Konfigurationsdatei "application.yml"

ncjs-Services werden mit Hilfe der Datei application.yml konfiguriert. Für jeden ncjs-Service gibt es eine eigene „application.yml“-Datei.

Kundenspezifische Konfigurationen müssen unter ncjs in dem Verzeichnis conf2 abgelegt werden, da dieses Verzeichnis durch charly-Updates nicht überschrieben wird. Innerhalb des Verzeichnisses conf2 muss für jeden ncjs-Service, für den eine kundenspezifische Konfiguration hinterlegt wird, ein weiteres Verzeichnis mit dem Namen des ncjs-Service angelegt werden. Dort wird die kundenspezifische „application.yml“-Datei abgelegt.

Beispiel: Pfad einer kundenspezifischen „application.yml“-Datei mit Konfigurationen für den ncjs-soldicom-Service:
\Solutio\Server\ncjs\conf2\soldicom\application.yml

Service-Registry

Die ncjs-Service-Registry fasst die ncjs-Services, ihre Instanzen und ihre Lokationen in einer Datenstruktur zusammen. Die ncjs-Services werden unter einem logischen Namen registriert und lassen sich anschließend über diesen Namen ansprechen.

Eine Liste aller registrierter und gestarteter ncjs-Services ist in charly-Web einsehbar. Diese können Sie wie folgt aufrufen:

  1. Klicken Sie im charly-Client auf den Buttoncharly-Web rechts neben den Hauptbereichen.

    • Ein Browser-Tab öffnet sich.
  2. Klicken Sie in der Kopfleiste auf die Perspektive Administration.
  3. Klicken Sie im Navigationsbereich auf Systemstatus.
  4. Klicken Sie im Arbeitsbereich auf Services und auf den Schnellfilter Alle.
  5. Tipp: Wenn Sie die ncjs-Services gerade neu gestartet haben, dauert es ca. 1-2 Minuten, bis alle registrierten Microservices zur Verfügung stehen.

Alternativ können Sie auf dem Server bei einer nativen Installation in einem Browser-Fenster folgende URL eingeben: http://<IP des charly-Servers>:8087

Bei einer Container-Installation geben Sie im Browser-Fenster folgende URL ein: http://<IP der charly-VM>

Hinweis: Falls Sie den Port für den ncjs-discovery-Service über den charly-Updater geändert haben, geben Sie stattdessen diesen geänderten Port in der URL an. Im Container lautet der Port per default 11059.

Kommandozeilenwerkzeug für Serversteuerung

Alle ncjs-Services werden im Rahmen eines charly-Updates durch den charly-Updater registriert und gestartet. Für den Fall, dass ein ncjs-Service z.B. für eine Konfigurationsänderung manuell gestoppt und wieder gestartet werden muss, gibt es das Tool ACD.

Das ACD-Tool besteht aus jeweils einer Skript-Datei für Windows (acd.bat) und macOS (acd.sh). Die Skriptdateien sind grundsätzlich in Funktion und Oberfläche identisch. Das Skript muss über die Kommandozeile im Administratormodus ausgeführt werden. Dazu muss in der Kommandozeile der Pfad zu dem Verzeichnis geöffnet sein, in dem die Skripdateien (acd.bat bzw. acd.sh) liegen.

Die Skriptdateien befinden sich unter: \Solutio\Server\ncjs.

 

Aufruf

Der Aufruf beginnt immer mit der Angabe des Skripts gefolgt von dem eigentlichen Befehl. Die Syntax lautet wie folgt:

 

Es gibt Befehle, die für alle bekannten ncjs-Services gleichzeitig durchgeführt werden und Befehle, mit denen Sie nur einen bestimmten ncjs-Service ansprechen. Für diese „Einzelbefehle“ müssen Sie den Namen des ncjs-Services angeben. Die Namen der ncjs-Services finden Sie heraus, indem Sie in der Kommandozeile folgenden Befehl eingeben:

 

Als Ergebnis erhalten Sie eine Liste aller bekannten ncjs-Services.

Beispiel: Im Folgenden ein Beispiel für den ncjs-auth-Service. Der Name ist die Angabe hinter Name. In diesem Fall auth:
     Name: auth
   Memory: 32m/256m
 Filename: auth-service-app-1.3.0-SNAPSHOT.jar
Full name: NCJS Auth
    State: RUNNING

 

Mit dem Namen können Sie nun einen „Einzelbefehl“ für den ncjs-auth-Service absetzen.

Beispiel: Der ncjs-auth-Service mit dem Namen auth soll über ACD gestoppt werden.
  • Windows

    acd.bat stop auth
  • macOS

    sudo ./acd.sh stop auth

 

Befehle

Befehl Beschreibung
list Listet alle bekannten ncjs-Services mit folgenden Informationen: Name, Speicher, Dateiname, voller Name und Status.
register Registriert einen ncjs-Service als Systemdienst. Der Name des ncjs-Services muss angegeben werden.
registerall Funktioniert wie der Befehl register, wird jedoch für alle bekannten ncjs-Services ausgeführt.
start Startet einen ncjs-Service. Der Name des ncjs-Service muss angegeben werden. Um den Start-Befehl erfolgreich auszuführen, muss der ncjs-Service bereits registriert sein.
startall Funktioniert wie der Befehl start, wird jedoch für alle bekannten ncjs-Services ausgeführt. Um den Start-Befehl erfolgreich auszuführen, müssen die ncjs-Services bereits registriert sein.
stop Stoppt einen ncjs-Service als Systemdienst. Der Name des ncjs-Service muss angegeben werden.
stopall Funktioniert wie der Befehl stop, wird jedoch für alle bekannten ncjs-Services ausgeführt.
unregister Meldet einen ncjs-Service als Systemdienst ab. Der Name des ncjs-Service muss angegeben werden. Falls der ncjs-Service noch läuft, führt diesen Befehl vor dem unregister ein stop durch.
unregisterall Funktioniert wie der Befehl unregister, wird jedoch für alle bekannten ncjs-Services ausgeführt. Für ncjs-Services, die noch laufen, führt diesen Befehl vor dem unregister ein stop durch.

How-to

Windows

Mac

Soldicom-Service

Der Soldicom-Service bietet eine DICOM-Schnittstelle, welche die Übertragung von Patienten- und Auftragsdaten zwischen charly und DICOM-Röntgensystemen ermöglicht.

Ports für die Schnittstelle

Die Kommunikation vom Röntgengerät zu DICOM4charly läuft standardmäßig über die Ports 10444 und 10445 (TCP). Sofern einer oder beide Ports in der Praxis bereits belegt sind, müssen sie in der „application.yml“-Datei des Soldicom-Services geändert werden. Siehe Ports der DICOM4charly-Services im Soldicom-Service ändern.

Parameter des Soldicom-Services

Für die Konfiguration des Soldicom-Services müssen in der der „application.yml“-Datei vorgegebene Parameter angegeben sein.

Parameter Beschreibung
u-id ist die u-id (Unique ID) der Schnittstelle – muss aufsteigend angegeben werden.
type gibt den Schnittstellen-Type an. DICOM4charly bietet für beide Schnittstellen den Type „MWL_SCP“.
name ist der Name der Schnittstelle – kann frei gewählt werden und dient dem Verständnis
ae-title

ist der AE-Title (Application Entity Title) der Schnittstelle – die maximale Länge von 16 Zeichen darf nicht überschritten werden.

Hinweis: Nach einer Änderung des AE-Title im Soldicom-Service, muss diese Änderung auch in der Konfiguration des Röntgengerätes vorgenommen werden.
port TCP-Port der Schnittstelle.
option-system-start gibt an, ob die Option „System Start“ von der Schnittstelle unterstützt wird (1) oder nicht (0).
option-post-processing-pass-through gibt an, ob die Option „Post Processing Pass-Through“ von der Schnittstelle unterstützt wird (1) oder nicht (0).
option-multi-mandant gibt an, ob die Option „Multi-Mandant“ von der Schnittstelle unterstützt wird (1) oder nicht (0).
option-storage-commitment gibt an, ob die Option „Storage Commitments“ von der Schnittstelle unterstützt wird (1) oder nicht (0).
only-patient-data gibt an, ob ein MWL-SCP Patientendaten oder Auftragsdaten bereitstellt; 1 für reine Patientendaten oder 0 für vollständige Auftragsdaten.
active gibt an, ob die Schnittstelle aktiv ist (true) oder nicht (false).
defaultTenant gibt die Nummer des Mandanten an, von welchem die Schnittstelle die Patienten- und Behandlerdaten holt.

Mandantenfähigkeit

DICOM4charly ist mandantenfähig und standardmäßig für einen Mandanten (Mandant 1) vorkonfiguriert.

Hinweis: Das BDW-Profil sieht vor, dass ein Röntgengerät in seiner MWL-Anfrage angibt, für welchen Mandanten die Anfrage gilt. Nicht alle Röntgengerätehersteller haben die Mandantenfähigkeit umgesetzt.

Damit DICOM4charly die MWL-Anfrage eines Röntgengeräts in jedem Fall bearbeiten kann, unterscheidet DICOM4charly zwischen den folgenden Fällen:

Hinweis: Kundenspezifische Konfigurationen müssen unter ncjs in dem Verzeichnisconf2 abgelegt werden, da dieses Verzeichnis durch charly-Updates nicht überschrieben wird. Innerhalb des Verzeichnisses conf2 muss für jeden Microservice, für den eine kundenspezifische Konfiguration hinterlegt wird, ein weiteres Verzeichnis mit dem Namen des Microservices angelegt werden. Dort wird die kundenspezifische „application.yml“-Datei abgelegt.

Beispiel-Pfad einer kundenspezifischen „application.yml“-Datei mit Konfigurationen für den Soldicom-Service:
\Solutio\Server\ncjs\conf2\soldicom\application.yml

Konfiguration in einer Praxis mit mehreren Mandanten und einem nicht-mandantenfähigen Röntgengerät

Für den Fall, dass in einer Praxis mehrere Mandanten mit DICOM4charly arbeiten möchten, deren Röntgengerät in seiner MWL-Anfrage keine Mandantenkennung liefert, muss die Konfiguration des Soldicom-Services angepasst werden.

Hinweis: Durch die Konfiguration für jeden Mandanten entstehen zwei eigene Schnittstellen mit individuellen Ports, die dann im Röntgengerät für diesen Mandanten aufgerufen werden können.

Dabei gelten folgende Regeln:

 


Beispiel-Konfigurationen für die Datei „application.yml“ des Soldicom-Services