Freitag, 7. November 2014

 


 

DELAB Fachtagung, Autor: René Mewes
mirth connect 3.1 - Was ist Neu?

 

vireq software solutions ist ihr freier Integrations- und Servicepartner für den neuen mirth connect 3.1 Kommunikationsserver

mirth connect 3.1 - Was ist Neu?


Neu! - mirth connect 3.1

Der klinische Open-Source-Kommunikationsserver Mirth Connect ist nun in der Version 3.1 zum Download erhältlich (http://www.mirthcorp.com/community/downloads). Die wichtigsten, der über 150 darin erhaltenen neuen Funktionen, Verbesserungen und Bugfixes werden hier kurz vorgestellt. Allen voran sind Performanceverbesserungen, wie der schnellere Start des Administrators und die geringere Deployzeit der Kanäle zu nennen.

Neues in den Konnektoren

Der Batchsupport für fast alle Konnektoren und Datentypen wurde verbessert. Dazu gehören erweiterte Einstellungen im Dialog „Set Data Types“ und Batch Metadaten.

Batch Optionen bei HL7 Nachrichten Batch Optionen bei HL7 Nachrichten


So können nun HL7-Nachrichten beispielsweise anhand des MSH Segments getrennt werden. Das ist genau dann notwendig, wenn pro Datei mehrere HL7-Nachrichten übertragen werden. An dieser Stelle kann auch eigener JavaScript Code eingefügt werden und damit ein eigener Trennalgorithmus implementiert werden.


Batch Optionen bei Raw Nachrichten Batch Optionen bei Raw Nachrichten


Es gibt eine neue, schreibgeschützte Globale Map - die Configuration Map. Deren Sinn ist es Server-Einstellungen an einem Ort zusammenzuführen und leicht unter mehreren Installationen austauschbar zu machen. Das macht die bisherigen Workarounds für diese Aufgaben mittels Deployskripten und der Global Map obsolet. Ein aus Entwicklersicht besonders gern gesehener Effekt: Die für verschiedene Stadien der Entwicklung – dev, test, prod – verwendeten Einstellungen müssen nun nicht mehr im Code hinterlegt sein, sondern werden außerhalb der eigentlichen Logik verwaltet. So muss der auf Korrektheit getestete Code nun nicht mehr verändert werden, wenn auf das Produktivsystem gewechselt wird. Zu finden ist die Configuration Map auf dem Administrations-Dashboard.


Configuration Map im Administrations Dashboard Configuration Map im Administrations-Dashboard


Der HTTP-Konnektor wurde verbessert und beherrscht jetzt das Antworten mit statischen Ressourcen, das Senden von beliebigen Binärcodes und das automatische Umwandeln von mehrteiligen Requests in XML.
HTTP Sender Settings HTTP Sender Settings
Der Webservice-Konnektor unterstützt nun eigene Endpoint Adressen und Request Header. Es ist jetzt einfach, mehrere WSDL Services und Ports zu konfigurieren.


Webservices Konnektor  Webservices-Konnektor


Beim File-Reader-Konnektor ist es nun beim Input Typ File auch möglich, den absoluten Pfad der Quelldatei im weiteren Verlauf zu nutzen. Bisher stand nur der Dateiname zu Verfügung. Das Arbeiten in der Entwicklung wird durch dieses kleine Feature spürbar erleichtert. Es ist jetzt möglich mehrere Kanäle durch multi-select zu deployen, zu undeployen und zu exportieren. Bei den ersten beiden Funktionen blockieren sich die Kanäle nicht mehr gegenseitig, sollte einer der Kanäle viel Zeit für die Operation benötigen. Führt der Prozess zu einem Loop kann das Deployen und Undeployen auch abgebrochen werden. Dazu werden die Kanäle auch während dieser Prozesse schon im Dashboard angezeigt. In der Channel-Writer-Destination können nun Metadaten in eine Map zu dem Ziel-Kanal mitgeschickt werden. Diese sind dort in der Source Map abrufbar. Für Mirth Connect Subscription-Kunden gibt es ein Plugin, das den HTTP-Sender nun auch um das https-Schema erweitert.


https Support https Support

 

Neues beim Scripting

Es gab auch Erweiterungen der JavaScript-Funktionalität innerhalb der Filter und Transformer eines Kanals. Mittels JavaScript ist es nun möglich, direkt die Statistik eines Kanals zu verändern. Das folgende Code Beispiel stellt die Statistik eines Zieles des Kanals zurück, aus dem die Funktion aufgerufen wird:

ChannelUtil.resetStatistics(channelId,1);


So kann auch per JavaScript eine Filterung der Nachrichten vorgenommen werden. Angenommen es gibt viele Ziele in einem Kanal, die Nachricht soll aber nur an ein Ziel weitergereicht werden, dieser Codeschnipsel kann in einem Queltransformer ausgeführt werden. Das Ergebnis ist, dass alle anderen Ziele keine Daten speichern müssen, sondern nur derjenige, der die Nachricht auch wirklich weiter verarbeitet:

destinationSet.removeAllExcept("KanalName");


Es wurde nun eine Unterstützung für HikariCP optional als Backend Datenbankverbindung eingefügt. Dieses zeichnet sich dadurch aus, besonders performant zu arbeiten: https://github.com/brettwooldridge/HikariCP/wiki/Down-the-Rabbit-Hole. Die Option muss durch den Nutzer noch manuell  aktiviert werden, durch einen Eintrag in die Datei mirth.properties  im conf Ordner:

database.pool=HikariCP

 

Neues im User Interface

Eine Verbesserung, die das Interface betrifft, ist eine Übersicht der Werte in der Globalen Channel-Map im Dashboard auf einem separaten Tab. In jedem Kanal wird nun die Kanal-ID oben rechts auf dem Summary-Tab angezeigt. Dies dient dem leichteren Kopieren, da häufig diese ID im Code benutzt wird. Bisher musste man sie umständlich abtippen oder sich per Logger-Statement ausgeben lassen.


Kanal ID Kanal ID

Java Arrays werden nun im Message Browser „schön“ dargestellt. Also kein„[Ljava.lang.Sting;@3432ff221“, sondern [12,34,45]. Sicherlich eine große Hilfe beim Debuggen. Es können nun Source-Map-Variablen im Send-Message-Dialog eingefügt werden.


Source Map Variabeln Source Map Variabeln


Zu den Nice-to-haves gehören sicherlich die Notifications, mit denen der Entwickler direkt im Mirth Connect Administrator über Neuigkeiten unterrichtet werden kann. Praktisch für den Entwickler ist außerdem der Link, um die API zu durchsuchen.


Notifications Notifications


Abschließend sei noch die Möglichkeit genannt, den Mirth Connect Server zu benennen. Der Name erscheint in der Titelzeile des Administrators und auf dem Desktop Shortcut. Dies bietet sich an, wenn viele Server zu betreuen sind.


Server Name Server Name