他機種レセコンのデータをオルカにコンバートするソフトが公開されていますが、それを使ってHOPEのデータコンバートに挑戦してみました。オルカメーリングリストで教えてもらったこと、試行錯誤していて気付いた点などを記しています。HOPE以外のレセコンの場合にも、参考になるかもしれません。
●「テキストエディタでバッチプログラム設定ファイル( /usr/lib/jma-receipt/lddef/orcabt.bd )のエントリを設定します。」とだけ、データ移行仕様書に書いてありますが、下の数行をorcabt.bdのどこに置いたらいいのか分かりません。メーリングリストで、頭にbindのある行並びの最後に加えればよいと教えてもらったので、そうしました。
bind “ORCVTPTINF” “OpenCOBOL”;
bind “ORCVTPTHKNINF” “OpenCOBOL”;
bind “ORCVTPTKOHINF” “OpenCOBOL”;
bind “ORCVTHKNCOMBI” “OpenCOBOL”;
bind “ORCVTSRYKARRK” “OpenCOBOL”;
bind “ORCVTPTBYOMEI” “OpenCOBOL”;
●ORCADC.PARAの@05-1:に連番号桁数を設定しますが、ここに5桁以外を設定したときはオルカ側の設定変更も必要です。オルカを起動して、医事業務、マスタ登録、システム管理マスタの順に進み、管理コードの患者番号構成管理情報から連番号桁数を変更します(初期値は5桁)。
ここに気付くのに、随分時間を要しました。
●内科以外の場合には、上記と同じところから管理コードの診療科目情報を設定します。内科以外を設定したときは、初期設定の01(内科)は削除しないとだめかもしれません。患者病名情報ファイルの第2項(診療科)にこのコードを設定します。
●Windowsでは普通に使える第三水準、第四水準漢字もLinux(Debian)では使えないようです。第三水準漢字を含んだままでもコンバートはできますが、氏名検索のところでフリーズしたりします。データ移行仕様書にある外字というのは、これらの漢字も含んだ意味のようです。
富士通HopeSX-Pデータ抽出ツール/Windows (と抽出サンプルデータ): Version 3.1 (15KB) 2005年3月16日
抽出ツールのソース(VC++ 6.0) 2010年6月3日
ずいぶん昔にHOPEからデータを取り出すソフトを作っていましたが、その出力をORCA仕様のフォーマットに変更したものです。
HOPEのファイル(hoklf.btr、kanlf.btr、knblf.btr、byolf.btr)からORCA用の患者情報、保健情報、公費情報、履歴情報、病名情報を抽出します。
富士通HopeSX-Pデータ抽出ツールのソース/Linux (4KB) 2005年10月8日
Linuxマシーンから
wget https://www.kuroda33.com/jibika/jibika/hope.tar.gz
でダウンロードして
tar xvzf hope.tar.gz
して、解凍されたディレクトリ(hopesx)に入って、そこに BYOLF.BTR, HOKLF.BTR, KANLF.BTR, KNBLF.BTR を入れて
sh hope.sh
すると、ソースをコンパイルして、実行して、nkf、外字処理などして、データを抽出します。
Visual C++ 用のいい加減なソースをそのままlinuxに載せたものですので、ますますいい加減になり、不具合もあると思いますが、修正してお使いください。
早速、スカイ・エス・エイッチ長谷川様から不具合のご指摘のメールがありましたので、お許しを頂いて以下に転記しています。
>knblf.c
>sprintf(a3,"%05d",*((unsigned int*)(tp+14)));
>sprintf(a5,"%05d",*((unsigned int*)(tp+19)));
>sprintf(a6,"%05d",*((unsigned int*)(tp+24)));
>以上の上位2バイトに1が入ってるケースがあり、
>その場合「byolf.csv」の病名コードと合わなくなり
>病名がみつけられなくなります。
>ワープロ入力病名
>knblf.cの「a10」に漢字が入っている場合、ワープロ入力の
>病名です。病名コードからの病名と置きかえる必要があると思います。
ORCA-PSQL:Version 2.4 (81KB) VC++のソースコード付き 2005年4月27日
オルカのデータベースをWindowsから覗き見するために作ったソフトです。結果をcsvファイルに記録する機能も付けていますので、なにか役に立つ使い方も出来るかもしれません。