2018年5月16日水曜日

PostgreSQLの設定変更、OpenDolphinのインストール等

前回、データベース(PostgreSQL)とOpenDolphin(Wildfly)の導入を行った。
今回はPostgreSQLの設定を変更し、OpenDolphinとORCAの連結を行い、
正式版OpenDolphinクライアントのインストールを試みる。

まず、設定の変更を行うために、以下のコマンドを入力し、ORCAを終了した。
$sudo service jma-receipt stop
また、ファイルを編集するためにプログラムのバージョン確認が必要であったので、以下のコマンドを実行し、バージョンの確認を行った。
$psql --version
コマンドを入力すると、図1のような画面が表示され、PostgreSQLのバージョンが「9.5.12」であることが分かった。
図1 PostgreSQLバージョン表示

次に、PostgreSQLの設定ファイルの修正を行う。修正対象のファイルは以下の2つである。
  1. postgresql.conf
  2. pg_hba.conf
いずれも以下のディレクトリ内にある。
/etc/postgresql/9.5/main/
前者に対しては、PostgreSQLが待ち受けるIPアドレスを任意のアドレスに変更する。
なお、ファイルの修正に先立ち、あらかじめ以下のコマンドを入力してバックアップを取っておく。
sudo cp /etc/postgresql/9.5/main/postgresql.conf /etc/postgresql/9.5/main/postgresql.conf.bk
そしてテキストエディタ vi を使ってpostgresql.confを開く。
$sudo vi /etc/postgresql/9.5/main/postgresql.conf
すると、図2のようにpostgresql.confの編集画面が開く。
図2 postgresql.confの編集
ここで、図2に示されている「#listen_addresses ='localhost'」の部分を「listen_addresses ='*'」に変更する。これは、先頭の#が以下の文章をコメントとしてみなすというものであるので、削除し、設定として反映させる。
また、localhostを*に変更した処理は、どのPCからでも接続が可能な状態に変更するためである。
また、viでは「x」で削除、「i」で挿入処理を行うことになる。修正作業を行った後は、ESCキーを入力した後「:wq」を入力することで変更の保存を行う。また、誤って入力をしてしまった場合はESCキーを入力した後「:q!」で設定を保存せず強制終了できるので、覚えておきたい。
修正が完了したものが図3のようなものになる。
図3 修正後のpostgresql.conf

postgresql.confの変更が完了したので、次はpg_hba.confの変更を行う。この設定ファイルに対しては、アクセス権の設定を行う。なお、例によって以下のコマンドを入力し、予めバックアップを用意しておく。
sudo cp /etc/postgresql/9.5/main/pg_hba.conf /etc/postgresql/9.5/main/pg_hba.conf.bk
そして、postgresql.comfと同じように以下のコマンドを入力し、編集を行う。
sudo vi /etc/postgresql/9.5/main/pg_hba.conf
すると、図4のようにhba.confの画面が表示された。
図4 pg_hba.confの修正

ここで、図4の黄色いラインマーカで示したように
host all all 127.0.0.1/32 md5
をコメントアウトして 、その代わりに
host all all 0.0.0.0/0 trust
を挿入した。これは、TCP/IP経由での接続に対して、すべてのデータベース(最初のall)に対して、すべてのユーザ(2番目のall)が、無条件(trust)で接続できることを表している。
なお、新しい行を追加するのは、行末にカーソルを移動させ「a」を押下して改行すればよい。また、誤った行を追加してしまった場合は「dd」と入力すると、その行を削除することができる。二つのファイルの編集が終了したので、OpenDolphinとORCAをCLAIMでつなぐ処理を実行した。実行コマンドは以下の通りである
$sudo dpkg-reconfigure jma-receipt
エンターを押し、実行すると設定画面が表示される。画面の手順に従い、以下の図5,6,7,8のように処理を行う。
図5 ORCAの再設定画面(その1)


図6 ORCAの再設定画面(その2)


図7 ORCAの再設定画面(その3)


図ORCAの再設定画面(その4)
処理が完了し、画面が元に戻ったら再びORCAの起動を行う。コマンドは以下の通り
$sudo service jma-receipt start
また、本来ならば望ましくないのだが、通信を行う上で不具合が生じる可能性があるので、以下のコマンドを入力し、ファイアウォールの設定を無効にしておく。
$sudo ufw disable

OpenDolphinクライアントのインストールと設定

OpenDolphinクライアントを以下のサイトからダウンロードする。
https://i18n.opendolphin.com/dolphin/client/OpenDolphin.zip
ダウンロード後、ZIPファイルを解凍してクライアントを起動する。以前「OpenDolphin評価版」の設定をした際のように、今回もOpenDolphinの設定を行っていく。

図9 OpenDolphinの設定(サーバ)
図9では、医療機関ID、サーバーの変更と設定を行った。医療機関IDには固定で「1.3.6.1.4.9414.70.1」を入力する。サーバーにはOpenDolphinがインストールされているサーバのIPアドレスを入力する。

図10 OpenDolphinの設定(レセコン)
図10のレセコンの画面では、医療機関ID(ORCAに設定した医療機関IDと同じもの)、ORCAが稼働するサーバのIPアドレスの入力、そしてOpenDolphinクライアントをインストールしたパソコンのIPアドレスをリッスンアドレスとして登録する。

ORCAの接続情報を設定する

業務メニュー画面の「91 マスタ登録」をクリックし、「101 システム管理マスタ」を選ぶ。
そして、「9000 CLAIM接続」を選択して、Enterを数回押して、確定する。
図11 Opendolphin画面
そして、図11のように受付情報の送信先PCのIPアドレスを設定する。ORCA側で患者受付を行うと、ここに登録したPC上で動いているOpenDolphinクライアントに受付情報が送信されることになる。
これらの設定を行って、ORCAで患者受付を行うと、無事にOpenDolphinの患者受付の画面に受付患者が表示された(図12)。これでOpenDolphinとORCAの連携が完成した。次回はOpenDolphinでユーザ登録を行ったり、OpenDolphinで入力したオーダがORCAにどのように反映されるかを具体的にデータを入力しながら確認する。

図12 OpenDolphinとORCAの連携

【Tips】

システム構成

システム構成図を下図に示す。
図13 システム構成図
 ※ORCA関連で使用しているポート番号について

 図に示すように、Linuxサーバには以下のプロセスが動いている。
  1. ORCAサーバ
  2. ORCAが利用するデータベースサーバ(PostgreSQL)
  3. Docker 
さらに、Docker内には以下の2つのコンテナが動いている。
  1. dolphin-server
  2. dolphin-db 
dolphin-dbはOpenDolphinが利用するデータベース(PostgreSQL)が動いているコンテナで、外部からはポート番号32678で通信できる。ここに送られてきたパケットは、コンテナ内で動いているPostgreSQLへポート番号5432を使って送られる。
dolphin-serverはOpenDolphinの実行環境であるWildflyが動いているコンテナで、外部からはポート番号8080で通信できる。
コンテナ間には172.17.0.0/255.255.255の仮想的なネットワークが構築され、dolphin-dbには172.17.0.2が、dolphin-serverには172.17.0.3が割り当てられ、デフォルトゲートウェイは172.17.0.1になっている。
ネットワーク環境は ifconfig コマンドで確認できる。

図14 ifconfigコマンド実行結果
 図に示すように、インタフェース名docker0がDockerに割り当てられた仮想ネットワークインタフェースで、IPアドレスとして172.17.0.1が割り当てられている。
Docker上で動いている各コンテナに割り当てられているIPアドレスは docker inspect コマンドで確認できる。

図15 docker inspect で IPアドレスを確認(dolphin-dbの場合)

PostgreSQLのログ

PostgreSQLのログは、/var/log/postgresql/ の中にある。

図16 PostgreSQLのログ
 この中で、ログファイル名は postgresql-9.5-main.log である。このログの内容をリアルタイムで表示するには次のコマンドを打てばよい。
sudo tail -f postgresql-9.5-main.log
なお、表示を停止するには Ctrl+C を入力すればよい。
PostgreSQLクライアント
psqlコマンドはPostgreSQLクライアントである。psqlコマンドはTeraTermから入力できる。以下はユーザ postgres でローカルホスト上にあるPostgreSQLサーバに接続するためのコマンドである。
psql -h localhost -U postgres --password
オプション
-h: ホストを指定
-U: ユーザ名
--password: パスワードをキーボード入力する

以下が実際に接続しているところをキャプチャしたものである。
図17 PostgreSQLクライアント(psql)
psqlを終了させるには \q と入力する。psqlのコマンドを知りたければ \? と入力する。代表的なコマンドには次のようなものがある。
\l ・・・データベース一覧を表示する
\c・・・データベースに接続する
\d・・・テーブル一覧を表示する

0 件のコメント:

コメントを投稿

レーダーチャートの表示2

前回 レーダーチャートの表示を行うことが出来たので、今回は実際の値を代入したグラフの描画を試みる。 .controller('RaderChartController', ['$scope', 'Countries', funct...