Mirth Connect は、主に医療分野で使用されるオープン ソースの統合エンジンです。
これは、企業がさまざまなシステムを統合し、共通の言語で相互に対話できるようにするさまざまな医療標準 (HL7、XML、EDI/X12、DICOM など) をサポートします。
MirthConnect インターフェイス エンジンは、2 つのシステムを接続するためのさまざまな標準プロトコル (TCP、HTTP、JDBS、SFTP など) もサポートしています。
デフォルトでは、mirthconnect をインストールすると、ストレージ エンジンとして Apache Derby が使用されます。ただし、MySQL / MariaDB、PostgreSQL、Oracle、SQL Server など、一般的なデータベースのほぼすべてをサポートしています。
このチュートリアルでは、MirthConnect オープン ソース ソフトウェアをインストールし、Linux プラットフォーム上の MySQL データベースと通信するように構成する方法について説明します。
オープン ソース バージョンでサポートされている次のコネクタと形式:
- コネクタ:TCP、MLLP、HTTP、FTP、DICOM、SOAP、SQL、JMS、ファイル システム、HTTPS、POP3、IMAP、ASTM、RS232
- フォーマット:XML、HL7、DICOM、NCPDP、X12、区切りテキスト、生バイナリ
最近、NextGen は mirthconnect を買収しました。商用バージョンは、CCD、C-CDA、ASTM などのいくつかの追加フォーマットをサポートしています。また、商用バージョンには、高度なエンタープライズ拡張機能がいくつか含まれています。例:SSL マネージャー、ロールベースのアクセス制御、高度なアラート、チャネル履歴、LDAP 認証、HL7 メッセージ ジェネレーター。
このチュートリアルでは、Mirth Connect のオープン ソース バージョンを MySQL データベースにインストールする方法を説明します。
ステップ 1:前提条件:Java JDK をインストールする
以下に示すように、JDK 1.8 がシステムにインストールされていることを確認してください。
# java -version openjdk version "1.8.0_102" OpenJDK Runtime Environment (build 1.8.0_102-b14) OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
JDK がインストールされていない場合は、以下に示すように yum を使用してインストールします。
yum -y install java-1.8.0-openjdk
システムに次の JDK 関連パッケージがインストールされているはずです:
# rpm -qa | grep -i jdk java-1.8.0-openjdk-headless-1.8.0.102-1.b14.el7_2.x86_64 java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64 java-1.8.0-openjdk-devel-1.8.0.102-1.b14.el7_2.x86_64
ステップ 2:MySQL/MariaDB をインストールする
前述のように、デフォルトでは、mirthconnect にはデフォルトのデータベースとして Apache Derby が付属しています。
ただし、このチュートリアルでは、MySQL / MariaDB データベースをインストールして構成し、それを mirthconnect に使用します。
以下に示すように、MySQL / MariaDB サーバーをインストールします。このためには、次の 2 つの mariadb パッケージをインストールする必要があります。
yum install mariadb yum install mariadb-server
注:古いバージョンの Linux ディストリビューションを使用している場合、mariadb-server パッケージが yum リポジトリで利用できない場合は、以下に示すように mysql-server パッケージをインストールしてください。
yum install mysql-server
MariaDB がインストールされると、システムに次のパッケージが表示されます。
# rpm -qa | grep -i maria mariadb-5.5.50-1.el7_2.x86_64 mariadb-server-5.5.50-1.el7_2.x86_64 mariadb-libs-5.5.50-1.el7_2.x86_64
mariadb をインストールしたら、それを起動して、正しく実行されていることを確認してください。
systemctl start mariadb systemctl status mariadb
以下を実行して、MySQL/MariaDB インストールのセキュリティ設定をセットアップすることもできます。これにより、データベースの root パスワードも割り当てられます。
/usr/bin/mysql_secure_installation
ステップ 3:MirthConnect 用の MySQL データベースを作成する
mirthconnect インストールで使用される「thegeekstuff」というデータベースを作成しましょう。
これには、以下に示すように、mysql の root ユーザー名とパスワードを指定して mysql コマンドを使用します。
# mysql -u root -pMySQLRootPwd MariaDB [(none)]> create database thegeekstuff;
データベースが作成されたら、「thegeekstuff」というユーザーを作成し、これにパスワードを割り当てます。このアカウントは、mirthconnect 構成でデータベースと通信するために使用されます。
MariaDB [(none)]> grant all on thegeekstuff.* to 'thegeekstuff'@'localhost' identified by 'DBSecretPwd!' with grant option; MariaDB [(none)]> flush privileges;
この段階では、このデータベースに mirthconnnect 関連のテーブルは表示されません。ただし、mirthconnect をインストールすると、ここに複数のテーブルが表示されます。
# mysql -u root -pMySQLRootPwd MariaDB [(none)]> use sysadmin; Database changed MariaDB [sysadmin]> show tables; Empty set (0.00 sec)
ステップ 4:Mirth Connect をダウンロードしてインストールする
ここから mirthconnect をダウンロードしてください。
次の形式のいずれかを使用して mirthconnect をインストールできます:1) RPM 2) tar.gz 2) インストーラー
このチュートリアルでは、mirthconnect インストールの tar.gz 形式を使用します。
まず、tar.gz のダウンロード リンクを取得し、以下に示すように wget コマンドを使用してサーバーに接続します。
cd ~ wget http://downloads.mirthcorp.com/connect/3.4.2.8129.b167/mirthconnect-3.4.2.8129.b167-unix.tar.gz
ダウンロードしたら、以下に示すように解凍します。
tar xvfz mirthconnect-3.4.2.8129.b167-unix.tar.gz
デフォルトでは、現在のディレクトリの下に「Mirth Connect」ディレクトリが作成されます。
これをより適切に管理するには、これを /opt ディレクトリに移動し、名前の「スペース」を削除して、Linux 環境で管理しやすいようにすべて小文字にします。
この例では、「Mirth Connect」の名前を「mirthconnect」に変更すると同時に、以下に示すように /opt ディレクトリに移動します。
mv Mirth\ Connect/ /opt/mirthconnect
注:RPM ファイルからインストールする場合は、次の手順を実行してください:
cd ~ wget http://downloads.mirthcorp.com/connect/3.4.2.8129.b167/mirthconnect-3.4.2.8129.b167-linux.rpm
以下に示すように、rpm コマンドを使用して RPM mirthconnect ファイルをインストールします。
rpm -ivh mirthconnect-3.4.2.8129.b167-linux.rpm
ステップ 5:MirthConnect 構成ファイルを変更する
メインの mirthconnect プロパティ ファイルは、/opt/mirthconnect/conf ディレクトリにある mirth.properties です。
vi /opt/mirthconnect/conf/mirth.properties
このファイルで、次のパラメータを変更します:
http.port = 8080 https.port = 8443 database = mysql database.url = jdbc:mysql://localhost:3306/thegeekstuff database.username = thegeekstuff database.password = DBSecretPwd!
上記では:
- http.port – 8080 はデフォルトの mirthconnect HTTP ポートです。この値は、環境に合わせて変更できます。
- https.port – 8443 はデフォルトの mirthconnect HTTP ポートです。この値は、環境に合わせて変更できます。
- database – デフォルトでは、derby と表示されます。上記のように、この値を mysql に変更してください。
- database.url – MySQL データベースを使用しているため、この database.url を上記の値に設定します。デフォルトでは、これはデフォルトの derby データベースを指します。この値を変更します。 URL の最後に、以前に作成した mysql データベース名があることを確認してください。この値を構成ファイルのコメント行からコピーして貼り付けると、ここに mirthdb が含まれます。これをデータベース名に変更する必要があります。
- database.username – 前に作成した mysql ユーザーに設定します。
- database.password – この値を mysql ユーザー名に対応するパスワードに設定します。
ステップ 6:MirthConnect を開始する
ここで、mcservice コマンドを使用して mirthconnect をサービスとして開始します。
# /opt/mirthconnect/mcservice start Starting mcservice # /opt/mirthconnect/mcservice status The daemon is running.
以下に示すように、ps を実行して、バックグラウンドで実行されている「mcservice」プロセスを確認することもできます。
# ps -ef | grep mcservice root 26665 1 0 07:41 pts/2 00:01:57 /usr/bin/java -Dinstall4j.jvmDir=/usr -Dexe4j.moduleName=/opt/mirthconnect/mcservice -Dinstall4j.launcherId=144 -Dinstall4j.swt=false -server -Xmx256m -Djava.awt.headless=true -Di4j.vmov=true -Di4j.vmov=true -Di4j.vpt=true -classpath /opt/mirthconnect/.install4j/i4jruntime.jar:/opt/mirthconnect/mirth-server-launcher.jar com.install4j.runtime.launcher.Launcher start com.mirth.connect.server.launcher.MirthLauncher false false true true false true true 0 0 20 20 Arial 0,0,0 8 500 version 3.4.2.8129.b167 20 40 Arial 0,0,0 8 500 -1
注:初めて mirthconnect を起動すると、MySQL データベースに接続され、必要なすべてのテーブルが作成されます。
ここで mysql に接続すると、mirthconnect が適切に動作するために必要な 13 個の新しいテーブルが作成されていることがわかります。
MariaDB [thegeekstuff]> show tables; +-----------------------+ | Tables_in_thegeekstuff| +-----------------------+ | ALERT | | CHANNEL | | CHANNEL_GROUP | | CODE_TEMPLATE | | CODE_TEMPLATE_LIBRARY | | CONFIGURATION | | D_CHANNELS | | EVENT | | PERSON | | PERSON_PASSWORD | | PERSON_PREFERENCE | | SCHEMA_INFO | | SCRIPT | +-----------------------+ 13 rows in set (0.00 sec)
ステップ 7:Mirthconnect を Systemd に追加する
CentOS 7 (または RedHat) を実行している場合は、systemd スタートアップに mirthconnect を追加することをお勧めします。
このために、次の mirthconnect.service ファイルを作成します
# vi /usr/lib/systemd/system/mirthconnect.service [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
注:root 以外の別のユーザーとして mirthconnect をインストールした場合は、上記のファイルのユーザーとグループを適宜変更してください。
その後、以下に示すように、systemctl を使用して mirthconnect を開始および停止できます。
systemctl start mirthconnect systemctl stop mirthconnect
サーバーの再起動時に自動的に起動するようにするには、以下に示すように、この systemd サーバーを起動用に有効にします。
systemctl enable mirthconnect
ステップ 8:MirthConnect 管理者にログイン
次の HTTP または HTTPS URL を使用できます:
- http://{your-ip-address}:8080
- https://{your-ip-address}:8443
Mirth Connect UI には次の 2 つのオプションがあります:
<オール>mirthconnect のデフォルトのユーザー名とパスワードは admin/admin です。
以下は、Mirth Connect Web ダッシュボードのスクリーンショットです:
[Launch mirthconnect administrator] webstart ボタンをクリックすると、「webstart.jnlp」というファイルがシステムにダウンロードされます。これをダブルクリックして、Webstart を起動します。
初回は、「アプリケーションを検証しています」というダイアログが表示されます。これは、起動している mirthconnect の場所の完全な URL を表示することで、どの mirthconnect を起動しているかも示します。
次に、Java は警告メッセージを表示し、「このアプリケーションを実行しますか?」と尋ねます。 「実行」をクリックします。これにより、最終的に次の mirthconnect ログイン ボックスが表示されます。サーバー列には、デフォルトで正しい URL が入力されます。ここに適切な値が表示されない場合は、次のように入力してください:https://{your-ip-address}:8443
ユーザー名とパスワードを入力します。初めて行う場合、ユーザー名とパスワードは admin です。
初めてログインするときは、管理者パスワードを変更する必要があります。
最後に、以下に示すように、Mirthconnect 管理者ダッシュボードが表示されます。ここから、チャネルを作成および管理することで、Mirthconnect を管理できます。
Mirth Connect の起動に関する問題のトラブルシューティング
mirthconect が正しく起動しない場合は、次の mirth ログ ファイルで問題がないか確認してください。
tail -100 /opt/mirthconnect/logs/mirth.log
また、デバッグ目的で、firewalld と selinux を一時的に無効にして、何らかの理由で mirthconnect がブロックされていないことを確認することもできます。
firewalld を停止するには、次の手順を実行します。
systemctl stop firewalld
以下に示すように、SELinux を一時的に無効にします。
setenforce 0
その後、mirthconnect を再起動して、正常に起動するかどうかを確認してください。
マース コネクトのディレクトリ構造
デフォルトでは、/opt/mirthconnect のインストール ディレクトリの下に、次のディレクトリが表示されます。
- conf – すべての mirthconnect 構成ファイルはここにあります
- webapps – これは、mirthconnect websserver によって公開され、webapps をホストするディレクトリです
- server-lib – すべての mirthconnect サーバー ライブラリ ファイルはここにあります
- public_html – mirthconnect Web サーバーによって公開され、html ファイルをホストするディレクトリ
- manager-lib – このディレクトリには、Mirthconnect Server Manager が使用するすべてのライブラリが含まれます
- 拡張機能 – プラグインとコネクタで使用されるすべてのライブラリとメタデータがここにあります
- docs – ドキュメント ディレクトリ
- custom-lib – このディレクトリには、名前が示すように、すべてのカスタム ライブラリ ファイルを配置できます。これらのライブラリは、起動時に mirthconnect サーバーに読み込まれます。
- cli-lib – Mirthconnect コマンドライン インターフェース ライブラリはこのディレクトリにあります
- client-lib – mirthconnect 管理者ライブラリが含まれます
上記のディレクトリとは別に、次のファイルも表示されます:
- mcservice.vmoptions および mcserver.vmoptions – Mirthconnect の Java メモリ設定
- mcservice – Mirth Connect Service Deamon の開始、停止、ステータスの表示に使用
- mcserver – サービス オプションを使用していない場合は、これを使用して Mirth Connect を非サービス モードで開始します。
- mcmanager – これは mirthconnect サーバー マネージャーです
- mccommand – Mirthconnect コマンド ライン ユーティリティ
- mirth-server-launcher.jar、mirth-manager-launcher.jar、mirth-cli-launcher.jar – mirth Connect サーバー、マネージャー、cli でそれぞれ使用される Jar ファイル