Dienstag, 30. August 2016

Was ist Mirth Connect?

Mirth Connect ist eine Kommunikationsplattform für den HL7 bidirektionalen Nachrichtenaustausch zwischen Systemen und Applikationen im Gesundheitswesen. Mirth Connect ist verfügbar unter der Mozilla Public License (MPL) 1.1 license und wird von der Firma Quality Systems Inc. entwickelt.

Mirth Connect legt eine kanalbasierte Kommunikation (Channels) als Basis für den Nachrichtenaustausch zugrunde, die wiederum mit Regeln oder Filtern transformiert werden kann.

 
Mirth Connect unterstützt eine Reihe von Kommunikationsprotokollen und Standards wie:
  • HL7
  • DICOM
  • HCM
  • xDT
  • TCP/MLLP
  • FTP/SFTP
  • HTTP/HTTPS
  • SMTP
  • SOAP 
  • JMS (Java Message Service)
  • PDF/RTF
  • Datenbanken (MySQL/Oracle/SQL-Server/ODBC/PostgresSQL)
  • dateibasierte Ablage
Nachrichten können transformiert werden von und zu verschiedenen Formaten mit unterschiedlichen Arten wie z.B. Skripten (JavaScript/Python/Tcl).

Mirth Connect ist somit der Schlüssel um die Vielzahl der Kommunikationsstandards im Gesundheitswesen (z.B. HL7, DICOM, HCM, XML, GDT, ASTM) in einer Plattform zu verbinden.

Open Source

Mirth Connect ist Open Source und verwendete Standardkomponenten wie Mozilla Rhino oder dcm4che DICOM sind ebenfalls Open Source. Der Vorteil daraus ist u.a., dass keine Lizenzkosten beim Einsatz von Mirth Connect entstehen.

Features von Mirth Connect

  • Unterstützung einer Vielzahl von Kommunikationsprotokollen
  • Echtzeitüberwachung von Kommunikationsdatenströmen
  • Eigene Datenbank um Nachrichten zu speichern bzw. zu puffern
  • Benachrichtigung (z.B. im Fehlerfall) mit eigenen benutzerdefinierten Regeln
Channels

Mirth Connect bildet die Kommunikation zwischen Systemen über sog. Channels ab.

Elemente eines Channels sind:
  • Source Connector (Quell-Konnektor)
  • Filter (regelbasierte Filterung von Nachrichten)
  • Transformer (Veränderung von Nachrichten)
  • Destination Connector (Ziel-Konnektor) 
Die Kommunikation kann 1:1, 1:n oder n:1 Verbindungen haben.

HL7

HL7 ist das am meisten verbreitetste Datenformat zum Austausch von Daten zwischen verschiedenen Systemen. Das Format ist weltweit standardisiert und basiert auf Nachrichten, die wiederum einzelne Segmente und Felder enthalten.

Eine ADT^A01 Nachricht ist z.B. eine stationäre Aufnahme eines Patienten. Diese Nachricht enthält die Segmente:
  • MSH (Message Header)
  • EVN (Event)
  • PID (Patientendaten)
  • PV1/2 (Behandlungsfalldaten)
  • DG1 (Diagnosen)
  • IN1/2 (Versicherungsinformationen)
  • NK1 (Angehörigeninformationen)
  • ...
Aufbau von Mirth Connect

Mirth Connect läuft als Dienst unter Windows bzw. Daemon unter Linux. Die gesamte Konfiguration (dazu gehören auch die Channels) wird in einer eigenen Datenbank gespeichert. Die Konfiguration wird mit einem eigenen Tool (grafische Oberfläche Mirth Connect Administrator) vorgenommen. Das Tool (Java App) kann auch über eine Weboberfläche gestartet werden und ermöglicht so z.B. die Administration entfernter Mirth Connect Server.

Nachdem der Mirth Connect Administrator gestartet wurde, erscheint ein Login:


Standard (nach Installation) ist der Zugang:

admin

mit dem Kennwort: admin

Nach erfolgreicher Anmeldung wird das sog. Dashboard angezeigt, welches einen Überblick aller definierten Schnittstellen anzeigt. Im Dashboard kann mit einem Blick auch abgelesen werden, ob die Schnittstelle arbeitet, wieviele Nachrichten verarbeitet wurden, ob es Fehler gab usw.

Klicken Sie im linken Menübereich auf den Eintrag Channels:


Es wird nun eine Tabelle mit allen Channels angezeigt. Ein Doppelklick auf einen Eintrag ermöglicht die Änderung der Einstellungen für den Channel.

Um einen neuen Channel anzulegen, klicken Sie auf New Channel im linken Menübereich:


Im folgenden Beispiel konfigurieren wir einen dateibasierten HL7 Channel, der HL7 Nachrichten aus einem bestimmten Verzeichnis liest und diese verarbeitet.

Nachdem Sie auf New Channel geklickt haben, erschreint folgendes Dialogfenster:


In diesem Dialog werden verschiedene grundsätzliche Einstellungen für den Channel vorgenommen.

Wichtig ist der Punkt Data Types:


Unter Data Types wird eingestellt, in welchem Format die Nachrichten verarbeitet werden sollen:


Hier sind, abhängig vom konkreten Vorhaben, verschiedenste Kombinationen möglich. So kann z.B. auch ein DICOM-Empfänger als Quelle eingestellt werden, der wiederum HL7 Nachrichten als Ziel herausschreibt.