Mirth Connect
Mirth Connect ist eine rund 20 Jahre alte, in Java geschriebene Schnittstellen-Engine, die hauptsächlich im Gesundheitswesen eingesetzt wird und den bidirektionalen Versand diverser Nachrichtentypen ermöglicht. Benötigt ein vorinstalliertes Java 9+.
Mirth Connect wendet auf Nachrichten folgende Operationen an:
Filterung
Umwandlung, beispielsweise HL7 nach XML
Pull aus und Push in Datenbanken
Weiterleitung
- Links
Installation
Installation des Server-Teils. Zur Info: Mirth Connect ist 32-bittig.
VER=4.4.0.b2948
# "Connect" component, 260 MB
dnf -y localinstall https://s3.amazonaws.com/downloads.mirthcorp.com/connect/$VER/mirthconnect-$VER-linux.rpm
# contains some extra JVM options that allow Mirth Connect to run with Java 9 or greater without errors or warnings
cat /opt/mirthconnect/docs/mcservice-java9+.vmoptions >> /opt/mirthconnect/mcserver.vmoptions
# CLI component, 35 MB
cd /tmp
wget --output-document=mirthconnectcli.tar.gz https://s3.amazonaws.com/downloads.mirthcorp.com/connect/$VER/mirthconnectcli-$VER-unix.tar.gz
tar xvzf mirthconnectcli.tar.gz
mv 'Mirth Connect CLI' /opt/mirthconnectcli
restorecon -Fvr /opt/mirthconnectcli
MariaDB-Server statt der integrierten Derby-Datenbank verwenden: Auf dem MariaDB-Server ein Schema namens „mirthconnect“ ohne besondere Optionen sowie einen dedizierten DB-Benutzer namens „mirthconnect“ mit allen Berechtigungen ausser GRANT auf das Schema anlegen. Dann auf dem Mirth Connect-Server:
database = mysql
database.password = linuxfabrik
database.url = jdbc:mysql://192.2.0.26:3306/mirthconnect
database.username = mirthconnect
Host-Firewalls passend konfigurieren (Ports für MySQL, 8080 und 8443).
Testweise starten:
/opt/mirthconnect/mcservice start; tail -f /opt/mirthconnect/logs/mirth.log
Beim ersten Start werden alle notwendigen DB-Tabellen (Stand 2023-09-25 insgesamt 14 Stück) angelegt.
Status prüfen:
/opt/mirthconnect/mcservice status
Systemd-Service anlegen:
cat > /etc/systemd/system/mirthconnect.service << "EOF"
[Unit]
Description=MirthConnect
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/opt/mirthconnect/mcservice start
ExecStop=/opt/mirthconnect/mcservice stop
ExecRestart=/opt/mirthconnect/mcservice restart
TimeoutSec=60
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now mirthconnect
Port 8080 und 8443 öffnen.
Login auf https://mirth-connect:8443 mit admin/admin.
Administration per CLI
/opt/mirthconnectcli/mccommand -a https://localhost:8443 -u admin -p linuxfabrik
Default-Passwort von Mirth Connect ändern:
$user changepw admin "linuxfabrik"
User "admin" password updated.
Kommandos:
channel list
: Lists all Channelschannel remove|enable|disable id|"name"|*
: Remove, enable or disable specified channelchannel undeploy|deploy|start|stop|halt|pause|resume|stats id|"name"|*
: Performs specified channel actionclearallmessages
: Removes all messages from all Channels (running channels will be restarted)codetemplate [library] import path [force]
: Imports code templates or libraries (with the ‚library‘ option).codetemplate export id|name path
: Exports a single code template to <path>.codetemplate library export id|name|* path
: Exports all matched code template libraries to <path>.codetemplate library list [includecodetemplates]
: Lists all code template libraries. Optional ‚includecodetemplates‘ additionally lists the code templates within each library.codetemplate library remove id|name|*
: Removes all matched code template libraries.codetemplate list
: Lists all code templates.codetemplate remove id|name
: Removes a single code template.deploy [timeout]
: Deploys all Channels with optional timeout (in seconds)dump stats|events "path"
: Dumps stats or events to specified fileexport id|"name"|* "path"
: Exports the specified channel to <path>exportalert id|"name"|* "path"
: Exports the specified alert to <path>exportcfg "path"
: Exports the configuration to <path>exportmap "path"
: Exports configuration map to <path>exportmessages "path/file-pattern" id [xml|xml-attach|raw|processedraw|transformed|encoded|response] [pageSize]
: Exports all messages for channel specified by <id> to <path>exportscripts "path"
: Exports global script to <path>import "path" [force]
: Imports channel specified by <path>. Optional ‚force‘ overwrites existing channels.importalert "path" [force]
: Imports alert specified by <path>. Optional ‚force‘ overwrites existing alerts.importcfg "path" [nodeploy] [overwriteconfigmap]
: Imports configuration specified by <path>. Optional ‚nodeploy‘ stops channels from being deployed after importing. Optional ‚overwriteconfigmap‘ will overwrite the Configuration Map.importmap "path"
: Imports configuration map specified by <path>importmessages "path" id
: Imports messages specified by <path> into the channel specified by <id>importscripts "path"
: Imports global script specified by <path>quit
: Quits Mirth Connect Shellresetstats [lifetime]
: Removes all stats from all Channels. Optional ‚lifetime‘ includes resetting lifetime stats.status
: Returns status of deployed channelsuser add username "password" "firstName" "lastName" "organization" "email"
: Adds the specified useruser changepw id|username "newpassword"
: Changes the specified user’s passworduser list
: Returns a list of the current usersuser remove id|username
: Removes the specified user
Log Level
Datei /opt/mirthconnect/conf/log4j2.properties
anpassen. Verfügbare Debug-Level sind ERROR, WARN, INFO und DEBUG.
Client
Dedizierter Client „Administrator Launcher“ (400+ MB):
Built on 2024-11-18