日医標準レセプトソフトでJISX0213:2004(JIS第3水準,第4水準)までの拡張漢字を使用するための設定手順です。
これまで使用できる文字は JISX0208:1983の「6,877文字」まででしたが、「11,233文字」まで使用できるようになります。
拡張漢字を使用するための条件は以下になります
※Ver.4.5.0/Ver.4.6.0では、拡張漢字が使用出来るのは「氏名」欄のみです。
作業をする日レセマシン上で「kakutyou-3.tar.gz」をダウンロードし展開しておいてください。
$ tar xvzf kakutyou-3.tar.gz
kakut.ps kakut.pdf convu8.rb
設定手順は以下のようになります。
拡張漢字の入ったPostScriptファイルを実際に印刷して確認します。 内部でGhostscriptを使用しプリンタの言語に変換している場合は、そのまま印刷可能ですが、多くのPSプリンタの場合は拡張漢字に対応していません。
※ 対応していないプリンタの場合エラーとなったり誤操作する場合があります。あらかじめ用紙を少なくセットしておき、もし動作がおかしくなったらプリンタのリセットが出来るようにした上でテスト印刷をおこなってください。
kakut.psは拡張漢字をいくつかピックアップした帳票ファイルです
$ lpr -Pプリンタ名 kakut.ps
(例)
$ lpr -Plp1 kakut.ps
以下の画像と同じように全ての枠内に漢字が印刷されていれば対応しています。
(pdf)
PSプリンタが 他のプリンタ言語でGhostScriptに対応している場合は、そちらに変更してください
PSプリンタで 「Generic Raw Queue[en]」を選択していた場合は「Generic PostScript Printer Foomatic/PostScript [en]」を試してみてください
EUC-JPエンコーディングで作成された orcaデータベースを UTF-8エンコーディングに変換します。
※データベースを複製するためデータベース分の空き容量がディスクに必要です。
$ sudo -u orca ruby convu8.rb
バックアップ・リストア処理をおこなうためコンソールに大量に結果が出力され、処理に時間がかかります。
最後の行に「OK」と表示されれば変換は終了です。
$ sudo -u orca psql -l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
---------------+----------+------------------+------------+-------------------+-----------------------
orca | orca | UTF8 | C | C |
orca_backup | orca | EUC_JP | C | C |
postgres | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 |
template0 | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 | =c/postgres
: postgres=CTc/postgres
(5 行)
元のデータベースはデフォルトでは「orca_backup」という名前で保存されています。 もしUTF-8への変換に失敗して途中で終了した場合は「orca」というデータベースは元のままで「orca_temp」というデータベースが作成されています。この「orca_temp」というデータベースを削除してください。
$ sudo -u orca dropdb orca_tempまた、なんらかの不具合が出て元のデータベースに戻したい場合は、以下のようにUTF-8で作成されたデータベースを破棄し「orca_backup」を「orca」に変更してください。
$ sudo -u orca dropdb orca $ sudo -u orca psql template1 -c "ALTER DATABASE orca_backup RENAME TO orca;"
さらに詳しい使い方はデータベース文字エンコーディングを参照してください。
データベースを変換後、日医標準レセプトソフトを起動すれば拡張漢字が使用可能になっています。Ver.4.5.0/Ver.4.6.0では氏名欄のみ拡張漢字が使用可能です。glclient2を起動し患者登録の漢字氏名欄に入力してみます
Lucidのインストールドキュメントに従いインストールされた場合は 「alt-cannadic-extra」というパッケージが自動でインストールされています。このパッケージはJISX0213の「単漢字」辞書です。変換を一文字だけにして読みを変換する事でJISX0213の漢字を変換する事が出来るようになります。
例として大迫の「迫」という字の「辶」が「廴」に変わった「廹(ハク、ヒャク、セマ・ル)(JIS:1-84-16、Unicode:U+5EF9)」という文字を入力してみます。

このとき拡張漢字に対応していないサーバーでは「大■」となります。その場合はデータベースがUTF-8のサーバーに接続されているか確認してください
拡張漢字の入った患者氏名を登録し、帳票を印刷して確認してみてください。
Windows Vista/Windows 7/Mac OS Xではそのまま使用することが出来ます。
Windows XPではフォントをダウンロードし設定する事で表示する事が出来ます。Microsoftのページよりメイリオフォントをダウンロードしインストールしてください。
ただしWindowsでは使用のフォントによっては拡張漢字対応のフォントではないため、拡張漢字のみ他のフォントで表示される場合があります。monsiajのシステムプロパティに以下のように拡張漢字に対応したフォントを指定すると統一したフォントで表示されるようになります
monsia.user.font=メイリオ-PLAIN-11
「機種依存文字」と表示される漢字を登録することが出来るようになりますが、一部Unicodeのみにあり「JISX0213:2004」にない文字は登録する事が出来ません。 (例:はしご高(U+9AD9)、つち吉(U+20BB7)と言われている高や吉の異体字)
UTF-8のデータベースを作成するには createdbのオプションを「-EUTF-8」に変更して作成します。
リストアしたい場合にデータベースを作成するには以下のように実行してください。
$ sudo -u orca createdb -lC -Ttemplate0 -EUTF-8 orca
「-EEUC-JP」のエンコーディングのオプションを「-EUTF-8」に変更する以外は同じです(バックアップ元のデータベースがUTF-8であることを確認してUTF-8のデータベースにリストアしてください)。
レセプト電算ではJISX0208:1983(第一、第二水準)以外の文字が名前に使われていた場合、該当の名前はカタカナに置き換えられて作成されます。
2人の氏名を登録しレセプト電算ファイルを作成してみます


レセ電ビューアで表示してみるとJISX0213の文字が入った氏名「大廹 一郎」さんはカタカナに変換されているとが確認できます。
日医標準レセプトソフト Ver.4.5.0からミドルウェアの内部コードは「UTF-8」で動作するようになりました。必要な場合にEUC-JISX0213(EUC-JP)へ変換して動作させています。
クライアントからのはmonsiaj(Unicode)、glclient2(UTF-8)、glclient(EUC-JP)で動作しサーバーに取り込む時点で必要ならUTF-8に変換されます。
UTF-8に変換されたデータは言語ハンドラの定義に従い文字コードが変換されます。COBOLの場合はEUC-JP(EUC-JISX0213)に変換されます。
またデータベースのエンコーディングにより自動判定され、EUC-JPの場合はデータベース操作時に変換されます
さらにデータベースがEUC-JPである場合はCOBOL側で入力値をチェックし、拡張漢字を「■」に置き換えられます。
拡張漢字が有効な場合、COBOL側ではすべてEUC-JISX013で処理しており、拡張漢字の一部文字が3バイトで処理される事になります。現時点では「氏名欄」のみ使用可能であり、「氏名欄」では入力可能文字数 * 3のバイト数分を用意して定義する必要があります。
※「EUC-JP」は「UTF-8」との変換ルールにCP932のルールが含まれることが多く、「EUC-JISX0213」と一部互換性がありません。そのため、内部的にはすべて「EUC-JISX0213」と「UTF-8」の変換ルールを使用するようにしています