電子カルテ

当院では,電子カルテとして,オープンソースの OpenDolphin 1.3.0(デジタルグローブ社)を使用させていただいています。素晴らしいソフトをオープンソースで公開されているデジタルグローブ社には,とても感謝しています。

 どんな素晴らしい電子カルテも,実際に運用するには個々の医院に合わせたカスタマイズが必要だと思います。その場合,オープンソースなら,自院のためだけに自由にカスタマイズすることができます。このブログでは,OpenDolphin を当院で運用するにあたって,色々カスタマイズした内容を公開しています。


  • カスタマイズしたソースは公開しています
  • デジタルグローブ社はライフサイエンスコンピューティング(株)と合併し,現在同社のオープンドルフィンラボとなっています
  • 本家オープンドルフィンラボの OpenDolphin は既に ver. 2.x になっています

2018年2月 8日 (木)

10年目の運用まとめ

10年目は,受付マシンのアップグレード,WildFly 10High Sierraorca 5.0ubuntu 16.04 のアップグレードなど,アップグレード盛りだくさんであった。

トラブルでは,ATOK29のフリーズWindows の突然の再起動問題などがあったが,診療が止まるような大きなトラブルはなかった。

  • データベースの PatientModel の件数
    dolphin=# select count(*) from d_patient;
     count
    -------
     29182
    (1 row)
    
  • データベースの ModuleModel の件数
    dolphin=# select count(*) from d_module;
      count
    ---------
     1112801
    (1 row)
    
  • Dolphin サーバの df。used が 15G→17G に増加。
    Filesystem      Size  Used Avail Use% Mounted on
    udev            950M     0  950M   0% /dev
    tmpfs           200M  3.1M  197M   2% /run
    /dev/xvda1       46G   17G   28G  37% /
    tmpfs           996M  4.0K  996M   1% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           996M     0  996M   0% /sys/fs/cgroup
    cgmfs           100K     0  100K   0% /run/cgmanager/fs
    tmpfs           200M     0  200M   0% /run/user/1001
    
  • orca サーバの df。used が 19G → 9.9G と大幅に減少??
    Filesystem      Size  Used Avail Use% Mounted on
    udev            2.9G     0  2.9G   0% /dev
    tmpfs           601M  8.2M  593M   2% /run
    /dev/xvda1       46G  9.9G   34G  23% /
    tmpfs           3.0G  4.0K  3.0G   1% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           3.0G     0  3.0G   0% /sys/fs/cgroup
    cgmfs           100K     0  100K   0% /run/cgmanager/fs
    tmpfs           601M     0  601M   0% /run/user/1001
    
    これはおかしい。そこで,過去の orca 容量の推移を調べてみた。
    2011年2月5.4Gver 4.5
    2012年2月6.4Gver 4.5
    2013年2月4.3Gver 4.6
    2014年2月5.9Gver 4.7
    2015年2月7.4Gver 4.7
    2016年2月12Gver 4.8
    2017年2月19Gver 4.8
    2018年2月9.9Gver 5.0

    orca 4.8 になってから急激に容量が増えていることがが分かる。今さら気付いた。 orz

    バックアップしてあった orca 4.8 を du で詳しく見ていったところ,/var/spool/cups が 17G を消費していることが判明した。Web で検索してみたところ,このディレクトリには cupsd の history が保存されるらしく,MaxJobs が 0 になっていると,際限なく history が保存されて,容量を圧迫するらしいことが分かった。

    早速 /etc/cups/cupsd.conf を調べてみると,設定ファイルの最後に取って付けたように MaxJobs 0 が記入されていた。改めて orca 4.8 のインストールドキュメントを確認してみると,MaxJobs を 0にするように書かれていたので,これを見て自分で記入したようだ。全然憶えていない。

    「この設定を行わないと大量の印刷ジョブを発行した(レセプト印刷など)際に印刷漏れが生じる恐れがあります」ということなので,MaxJobs はそのままに,毎朝の起動時に,/etc/rc.local で前日までの history を消去して対応することにした。

    #!/bin/sh -e
    # rc.local
    find /var/spool/cups/ -type f -print | xargs rm
    exit 0
    
  • データベースの dump ファイルのサイズ。orca のダンプ容量が倍以上増えている。これは version 5.0 でスキーマが追加になった影響か?
    dolphin_db.dump.gpg 2,196,115,957 
    orca_db.dump.gpg 253,455,550
    
  • 作成したスタンプ数。
    $ grep -c stampInfo stamp.xml 
    2031
    

使用 orca バージョンの推移

    ORCA履歴OSversion
    2008年 2月Debian EtchORCA 4.2
    2009年 8月Debian EtchORCA 4.4
    2010年 5月Ubuntu 8.04 HardyORCA 4.4
    2010年 6月Ubuntu 8.04 HardyORCA 4.5
    2012年 6月Ubuntu 8.04 HardyORCA 4.6
    2013年 1月Ubuntu 10.04 LucidORCA 4.6
    2013年 3月Ubuntu 10.04 LucidORCA 4.7
    2013年 9月Ubuntu 12.04 PreciseORCA 4.7
    2015年 3月Ubuntu 12.04 PreciseORCA 4.8
    2015年 4月Ubuntu 14.04 TrustyORCA 4.8
    2017年 12月Ubuntu 14.04 TrustyORCA 5.0
    2018年 1月Ubuntu 16.04 XenialORCA 5.0

使用マシンの比較

    2008年2月 開院時2018年2月 現在
    機種CPUOS機種CPUOS
    受付DELL
    Precision Workstation 340
    Optiplex GX280
    Pen4/2.4G
    Pen4/2.8G
    Windows XP Do-mu ポプラ nano 2台Celeron G3930/2.9GWindows 10
    掲示板
    BGM
    NEC MA10TPen3/1.0GWidows 2000 iMac 20" Late 2006C2D/2.16GMac OS X 10.6 Snow Leopard
    診察室1iMac 20" mid 2007C2D/2.0GMac OS X 10.5 Leopard
    java 1.5
    iMac 27" Late 2015Core i7-6700K/4.0GmacOS 10.13 High Sierra
    java 1.8
    診察室3NEC Versa ProPen4/1.8GWindows XP Do-mu ポプラ nanoCeleron G3930/2.9GWindows 10
    院長室iMac 20" Late 2006C2D/2.16GMac OS X 10.5 Leopard iMac 27" Late 2015Core i7-6700K/4.0GmacOS 10.13 High Sierra
    java 1.8
    サーバDo-mu コアくまC2D/2.53GUbuntu 8.04, Xen 3.2 改造Core i7-3770/3.4GUbuntu 16.04 Xen 4.6
    サーバ
    予備1
    Do-mu コアくまC2D/2.2GUbuntu 7.10, Xen 3.1 Do-mu コアくまC2D E4500/2.2GUbuntu 16.04 Xen 4.6
    サーバ
    予備2
    自作Pen4/2.6GUbuntu 7.10, Xen 3.1VirtualBoxUbuntu 16.04

2018年2月 6日 (火)

java 1.8.0_162 で変換中の記号フォントが小さくなる

java 1.8.0_162 にバージョンアップしてみたところ,変換中の記号のフォントが小さくなるのに気付いた。記号以外のフォントは普通に表示される。また,確定後は普通のフォントに戻る。java 1.8.0_161 ではこの現象は起こらない。

java 1.8.0_161java 1.8.0_162
Take3 Take4

変換中から確定に移行する時に,記号が入っていると,フォントのサイズが変わってパタパタうるさく見えてしまう。なんだか気持ち悪いので,1.8.0_161 を使うことにする。

インストールされている jre の削除方法

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java

2018.5.15 追記
java 1.8.0_171, 172 でも直っていない
2018.8.1 追記
java 1.8.0_181 でも直っていない

2018年2月 3日 (土)

NetBeans から IntelliJ に移行

昨年の Java IDE のシェアは IntelliJ が 45.8% で一番になったようである。使用中のNetBeans が不調で,java がアップデートできない状態だったので,この機会に試しに IntelliJ に移行してみることにした。

IntelliJ 導入

01_2 無料の Intellij Community version をダウンロードする。起動すると Import IntelliJ IDEA settings from ダイアログが出るが,初めての使用なので Do not import settings を選択。初期設定は Skip してデフォルトにする。
11 IntelliJ の初期画面が出たら,Check out from Version Control → Mercurial と選択。
12 ダイアログに必要事項を入力,Clone をクリック。
14 Import Project ダイアログが出るので,maven を選択。
15 デフォルトに加えて,
  • Serch for projects recursively
  • Import Maven projects automatically
にチェックを入れる。
16 インポートするプロジェクトを選択する。
17 JDK を選択する。
18_2 Project Name を設定する。
20 プロジェクト読み込み完了。
21 Edit Configurations
22 Maven コマンド登録。
23

24
Build は mvn install でできるようになっているので,設定すると,メニューから,client,server を選んで pom.xml に書いた手順で jar,war ができる。
26

27
アプリケーションを設定すると,メニューからクライアントを起動できるようになる。サーバの方は,NetBeans は WildFly を使ってサーバを起動することができるが,IntelliJ の community version ではできない。
28 OpenDolphin 起動。

Directories used by Intellij to store settings, caches, plugins and logs

  1. Configuration (idea.config.path): ~/Library/Preferences/IdealC/
  2. Caches (idea.system.path): ~/Library/Caches/IdealC
  3. Plugins (idea.plugins.path): ~/Library/Application Support/IdealC
  4. Logs (idea.log.path): ~/Library/Logs/IdealC

主なショートカット

⇧⌘FPath 内のソース内容検索
⌘KCommit
⇧⌘KPush
⌘TUpdate project (Pull だけだとソースが更新されない)
^Tリファクタリングのポップアップメニューが出る
^⌥Lソースのインデントなどの整形

移行後,無駄なリファクタリングをたくさんして練習した。
慣れると結構手になじんできたので,このまま IntelliJ で行ってみることにする。

2018年1月25日 (木)

編集中カルテの自動一時保存機能

その時,突然画面から書きかけのカルテが消えた。直前まであったはずのカルテウインドウは忽然と姿を消し,デスクトップには紅葉に映えるシエラネバダ山脈 - High Sierra - の美しい景色が広がっていた。OpenDolphin の礎たる Java VM が何の託ち言も残さず突然落ちたのだ。こんな悲劇が現実に起こり得て,しかも,まさに今,実際に目の前で起きたのだと,そう認識するまでにやや数秒を要した。

泣きながらカルテを入力し直し,そして,このような悲劇を2度と繰り返すことがあってはならない,その強い思いから,編集中カルテを 1秒ごとに一時ファイルとしてローカルディスクに保存する機能 Autosave を付けた。

Autosave は 1秒ごとに KarteEditor の dirty 状態をチェックし,dirty だった場合,KartePaneDumper_2 でカルテ内容を dump して AutosaveModel を作り,さらに json 化してローカルの一時ファイルに保存する。正常にカルテ編集が終了すれば一時ファイルは削除されるが,Java VM が落ちたりした場合は一時ファイルが残る。ChartImpl 立ち上げ時に一時ファイルをチェックして,もし一時ファイルがあれば DocumentModel を復元して KarteEditor に渡し,カルテ編集中状態を回復する。

Karte

バックグランドで動作し,保存にかかる時間は数ミリ秒,シェーマの encode があっても 50ミリ秒程度以下で,パフォーマンスにはほとんど影響なかった。

がんばってプログラムしたが,実際にはこの機能が使われる日が来ないことを祈りたい。

2018年1月14日 (日)

domU の orca サーバを ubuntu 16.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
jma-receipt は do-release-upgrade の対象ではないので,自動的に apt line がコメントアウトされる。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース' ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
設定ファイルについていくつか聞かれるが,いずれもパッケージメンテナのバージョンをインストールする
設定ファイル '/etc/cups/cups-browsed.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン (/tmp/postgresql-common.6101P1) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
アップグレード完了後,再起動する。
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
再起動後に,postgresql 9.3 を purge する。これで postgresql 9.5 が立ち上がる。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.3 postgresql-client-9.3
$ sudo service postgresaql start
jma-receipt の apt line を修正する。trusty → xenial の書き換えはしてくれないので,手動で書き換える必要がある。
$ cd /etc/apt/sources.list.d/
$ sudo sh -c "sed -e 's/^# //' jma-receipt-trusty50.list | sed 's/#.*$//' | sed 's/trusty/xenial/' > jma-receipt-xenial50.list"
$ sudo rm jma-receipt-trusty50*
jma-receipt のアップグレード
$ sudo aptitude update
$ sudo aptitude upgrade
データベースの初期化
$ sudo service jma-receipt stop
$ sudo jma-setup --noinstall
DBHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
OK! データベースをリストア後再度 jma-setupを実行してください
データベースのリストア
$ pg_restore -Fc -d orca orca_db.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 6067; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR:  must be owner of extension plpgsql
    Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'
 :
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges were granted for "public"
pg_restore: WARNING:  no privileges were granted for "public"
WARNING: errors ignored on restore: 1
もう一回 jma-setup
$ sudo jma-setup
DBHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
DBKANRI		OK (tbl_dbkanri)
UPDATE CHECK:	OK (online)
DBLIST:		OK (050000-1)
LIST DOWNLOAD:	OK (nothing)
DBVERSION:	OK (0500001)
データベース構造変更処理は終了しました
pg_hba.conf の設定
host   all   all   192.168.1.0/24   trust
postgresql.conf の設定
listen_addresses = '*'
port = 5432
リブート後,monsiaj でアクセスしてプログラム更新,マスタ更新,しかる後にスキーマチェック。
$ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz
$ tar xvzf jma-receipt-dbscmchk.tgz
$ cd jma-receipt-dbscmchk
$ sudo bash jma-receipt-dbscmchk.sh
ubuntu 16.04 の orca 5.0 は 2020年の 9月までサポートされる予定。

2018年1月13日 (土)

domU の dolphin サーバを ubuntu 16.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
java 1.8 は PPA でインストールしていたので,do-release-upgrade の際には停止される。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
設定ファイルについていくつか聞かれるが,いずれもパッケージメンテナのバージョンをインストールする
設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン (/tmp/postgresql-common.h3j36L) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
設定ファイル /etc/apt/apt.conf.d/50unattended-upgrades の新しいバージョン (/etc/apt/apt.conf.d/50unattended-upgrades.ucftmp) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
アップグレード完了後,再起動する。
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
再起動したら,まず postgresql-9.3 を削除する。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.3 postgresql-client-9.3
データベースを dump から戻す。なお,dump を戻すときは posgresql.conf で fsync = off にしておくと時間の節約になる。パスワードも忘れずに設定
$ sudo service postgresql start
$ sudo -u postgres createuser --super dolphin
$ createdb dolphin
$ psql -c "alter user dolphin with password 'dolphin'"
$ pg_restore -Fc -d dolphin dolphin_db.dump
java 1.8 の apt line を再有効化する。 /etc/apt/sources.list.d/webupd8team-java-precise.list のファイルネームを変更し,先頭の # を除去して有効化する。*.distUpgrade は削除する。
$ cd /etc/apt/sources.list.d/
$ sudo mv webupd8team-java-trusty.list webupd8team-java-xenial.list
$ sudo rm webupd8team-java-trusty.list.distUpgrade
$ sudo vi webupd8team-java-xenial.list
$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo update-alternatives --config java
以上で ubuntu 16.04 へのアップグレードは完了。

2018年1月12日 (金)

domU の owncloud サーバを ubuntu 16.04 にアップグレード

domU で運用している自宅サーバの owncloud を ubuntu 16.04 にアップグレードした。
  1. autoremove
    $ sudo apt-get autoremove
    
  2. postgres のデータベースをバックアップ
    $ pg_dump -Fc owncloud > owncloud.dump
    
  3. owncloud を削除する
    $ sudo aptitude purge owncloud
    $ sudo rm /etc/apt/sources.list.d/owncloud.list
    
  4. do-release-upgrade
    $ sudo do-release-upgrade
     :
    設定ファイル '/etc/apache2/sites-available/default-ssl.conf'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。どうしますか? 
    → N
     :
    廃止されたメジャーバージョン 9.3
    既存のクラスタがアップグレードされた後に、postgresql-9.3 および postgresql-client-9.3 パッケージを削除する必要があります。
    → <了解>
     :
    設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン(/tmp/postgresql-common.4RBMXy) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。変更された設定ファイル createcluster.conf について何を行いたいですか? 
    → パッケージメンテナのバージョンをインストール
     :
    システムのアップグレードが完了しました。
    'Y' を選択すると再起動します。
    続行する[yN]
    
  5. postgresql-9.3 の削除と 9.5 のインストール
    $ sudo purge postgresql-9.3 postgresql-client-9.3
    $ sudo aptitude install postgresql
    
  6. postgresql の設定
    $ sudo vi /etc/postgresql/9.5/main/postgresql.conf
    listen_addresses = '*' ←コメントを解除し、''内を * に修正
    
    $ sudo vi /etc/postgresql/9.5/main/pg_hba.conf
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    
  7. カーネルアップグレード,再起動
    $ sudo apt-get install linux-generic
    
  8. データベースを dump から戻す
    $ sudo -i
    # su - postgres
    $ psql 
    postgres=# CREATE USER a_user WITH PASSWORD 'a_passwd';
    postgres=# CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE';
    postgres=# ALTER DATABASE owncloud OWNER TO a_user;
    postgres=# GRANT ALL PRIVILEGES ON DATABASE owncloud TO a_user;
    postgres=# \q
    $ pg_restore -d owncloud owncloud.dump
    
  9. owncloud のレポジトリを設定する
    $ curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add -
    # echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud.list
    
  10. owncloud のインストール
    $ sud aptitude update
    $ sudo aptitude install owncloud-files
    
  11. maintenance モードに設定
    $ sudo vi /var/www/owncloud/config/config.php
     'maintenance' => true,
    
  12. php のインストール
    $ sudo aptitude install php php7.0-pgsql php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip libapache2-mod-php
    
  13. owncloud.conf の有効化と apache2 のリロード
    $ sudo a2enconf owncloud
    $ sudo service apache2 reload
    
  14. maintenance モードを解除
    $ sudo vi /var/www/owncloud/config/config.php
     'maintenance' => false,
    
  15. あとは,ブラウザからアクセスして,「アップデートを開始」をクリック。無事 ubuntu 16.04 + owncloud 10.0.4 にアップデートされた。

2018年1月11日 (木)

サーバの dom0 を ubuntu 16.04 にアップグレード

サーバの dom0 を ubuntu 16.04 にアップグレードした。14.04 の時と同じように do-release-upgrade した。efi インストール (mac mini) も試してみたが,xen をインストールすると起動途中で固まってしまい,断念した。
$ sudo apt-get autoremove
$ sudo do-release-upgrade
 :
SSH経由で実行していますが、続けますか?
続行する[yN] y
 :
アップグレードを開始しますか?
続行する[yN]  詳細 [d] y
 :
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
続行する[yN] y
再起動後に uname でカーネルを確認してみると
$ uname -r
3.13.0-137-generic
なぜかカーネルが古いままになっていた。そこで,
$ sudo apt-get install linux-generic
これでカーネルも最新バージョンになった。
$ uname -r
4.4.0-109-generic
xen の balooning を止める設定
/etc/defaults/grub
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=512M,max:512M"
/etc/xen/xl.conf
autoballoon=0
しかる後に update-grub と reboot

2017年12月16日 (土)

orca 5.0 に移行

orca 4.8 を orca 5.0 にアップグレードしてみた(ubuntu 14.04)。OpenDolphin の方は,何も変更しなくて大丈夫だった。
  1. まずは最新状態までアップデート
    $ sudo aptitude update
    $ sudo aptitude dist-upgrade
    $ sudo apt-get autoremove
    $ sudo reboot
    
  2. データベースのスキーマチェック
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz 
    $ tar xvzf jma-receipt-dbscmchk.tgz
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    ORCA Project Jma-Receipt Database Schema Check (2.0)
    == Operating System information ==
      Linux orca 3.13.0-129-generic #178-Ubuntu SMP Fri Aug 11 12:48:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=14.04
      DISTRIB_CODENAME=trusty
      DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
    == Database System information ==
      PostgreSQL version 9.3
    == Package information ==
      ii  jma-receipt                          1:4.8.0-u4jma1                             amd64        JMA Standard Receipt Computer Software
      version   4.8.0-1 (040800-1)
    == Schema Check information ==
      Jma-Receipt Schema Version (040800-1)
      チェックファイル:[ orcadbschema.ver480 : 2017-06-21 13:41:28 ]
    現在のスキーマバージョンは4.8.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  3. apt line の更新
    $ sudo rm /etc/apt/sources.list.d/jma-receipt-trusty48.list
    $ sudo wget -O /etc/apt/sources.list.d/jma-receipt-trusty50.list https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty50.list
    
  4. keyring の追加
    $ wget https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
    $ sudo apt-key add archive.key
    $ apt-key list
     :
    pub   1024D/69C4E4D0 2007-09-03
    uid                  ORCA support 
    sub   2048g/B4E6D879 2007-09-03
    
    pub   4096R/8BE1D5BB 2016-07-07
    uid                  ORCA Support 
    sub   4096R/51E031AB 2016-07-07
    
  5. update and upgrade
    $ sudo aptitude update
    $ sudo aptitude dist-upgrade
    以下のパッケージが更新されます:
      curl jma-receipt jma-receview jma-receview-server libcurl3 libcurl3-gnutls libgtkpanda2.0-0 libmondai1
      libxcursor1 libxfont1 monpe monpe-common monpe-libs panda-dev panda-libs panda-server
    16 個のパッケージを更新、 0 個を新たにインストール、 1 個を削除予定、0 個が更新されていない。
    36.9 M バイトのアーカイブを取得する必要があります。 展開後に 14.4 M バイトのディスク領域が新たに消費されます。
    先に進みますか? [Y/n/?]
     :
    設定ファイル '/etc/jma-receipt/jppinfo.list'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。
       どうしますか? 以下の選択肢があります:
        Y か I  : パッケージメンテナのバージョンをインストールする
        N か O  : 現在インストールされている自分のバージョンを残す
          D     : 両バージョンの差異を表示する
          Z     : 状況を調査するためにシェルを開始する
     デフォルトでは現在使っている自分のバージョンを残します。
    *** jppinfo.list (Y/I/N/O/D/Z) [デフォルト=N] ? y
     :
    現在の状態: 更新が 0 個 [-16]。
    
  6. データベースセットアップ
    $ sudo jma-setup
    DBHOST:		OK (PostgreSQL:localhost)
    DBUSER:		OK (orca)
    DATABASE:	OK (orca)
    DBENCODING:	OK (EUC-JP)
    DBKANRI		OK (tbl_dbkanri)
    UPDATE CHECK:	OK (online)
    DBLIST:		OK (050000-1)
    LIST DOWNLOAD:	FILE (51)
    DOWNLOAD:	...................................................OK
    EXTRACT:	...................................................OK
    UPDATE:		...................................................OK
    DBVERSION:	OK (0500001)
    データベース構造変更処理は終了しました
    
  7. CLAIM サーバ起動設定
    $ sudo dpkg-reconfigure jma-receipt
    
    • jma-receipt 用に dbredirector をスタートしますか <いいえ>
    • glserver の SSL を有効にしますか <いいえ>
    • jma-receipt 用に claim server をスタートしますか <はい>
    • claim server が接続待ちするポートを入力して下さい <了解>
    $ ps x | grep claim
    16843 ?        Sl     0:00 /usr/bin/ruby1.9.1 /usr/lib/jma-receipt/scripts/claim/rb/clm_rcv.rb 8210
    
  8. sky.sh 様の帳票用パッケージリストを追加
    $ sudo vi /etc/jma-receipt/jppinfo.list
    ---
    :root: /var/lib/jma-receipt/plugin
    :list:
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist1.yml
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist2.yml
     - http://www.sky.sh/orca/plugin/5.0.0/skysh.yml
    :linkprefix: /usr/local/site-jma-receipt
    :verify: true
    
    古い帳票情報を削除
    $ psql orca -c "delete from tbl_plugin where name='skysh';"
    DELETE 2
    
    キーリングの追加
    $ gpg --list-keys
    /home/orca/.gnupg/pubring.gpg
    -----------------------------
    pub   1024D/ED7FC485 2010-01-29
    uid                  support (plugin) 
    sub   2048g/A033594A 2010-01-29
    
    sky.sh 様のキーリングがない場合は入れる
    $ wget http://www.sky.sh/orca/plugin/skysh.pub
    $ gpg --import skysh.pub
    確認します
    $ gpg --list-keys
    /home/orca/.gnupg/pubring.gpg
    -----------------------------
    pub   1024D/ED7FC485 2010-01-29
    uid                  support (plugin) 
    sub   2048g/A033594A 2010-01-29
    
    pub   2048R/268E931D 2013-09-21
    uid                  skysh (hasegawa) 
    sub   2048R/E4A273AB 2013-09-21
    
    ここで一旦リブート
  9. monsiaj でアクセスする(URL は "http://orca:8000/rpc/"
    プラグイン更新→プログラム更新→マスタ更新
    ライセンスマスタ更新に「キー取得」が必要になった。マスタ更新画面で「キー取得」する。キーを取得していないと以下のエラーが出る。
    マスタ更新は異常終了しました
    アクセスキーがありません
    
    なお,キーの再取得が必要になった場合は,医療機関専用サイトにログインして,「アクセスキー」→「再発行」する。
  10. monsiaj のカスタマイズ
    以前のバージョンは,ソースを github からダウンロードする様になっていたが,新バージョンは普通にダウンロードサイトから落とせるようになった。以前のバージョンと同じくカスタマイズして,ソースは BitBucket さんに上げた

2017年12月 8日 (金)

java 1.8.0_152 で NetBeans フリーズ

NetBeans のリファクタリングで Class の名前変更をしようとしたところ,「名前変更クラスxxx」のダイアログが出た時点でレインボーカーソルになってフリーズするようになった。設定ファイル (~/Library/Application Support/NetBeans/8.2/) を削除したり,キャッシュ (~/Library/Caches/NetBeans/8.2/) を消去したりしてみたが改善しなかった。

ふと思いついて,java の古いバージョンで立ち上げてみたところ症状が消失した。最新の java 1.8.0_152 ではなく,java 1.8.0_151 の方で試してみたら,これも大丈夫だった。

調べてみたら,奇数番号のアップデートは Critical Patch Update (CPU),偶数は Patch Set Update (PSU) と呼ばれるアップデートで,PSU は CPU の変更+次バージョン用のバグフィックスが含まれているようだ。今回は,PSU のバグフィックスの副作用で NetBeans に影響が出たと考えられる。


1.8.0_161, 1.8.0_162 でも直っていなかった。bugzilla に報告されていた

«High Sierra に移行