[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-users:02963] 報告:東芝レセコンからのデータ移行(保険情報扁)



三原@山形県鶴岡市です。

東芝レセコンからORCAへ保険情報のデータ移行が無事完了しましたので、報告し
ます。 過去2年分のデータ13000件を移行しました。
以下手順です。

■レセコンからのデータ抽出
 東芝レセコンから下記のデータをFDへ落とします。
 東芝レセコンのフィールド名とORCAの項目名の対比を示します。

  患者番号 → 患者番号
  保険セット→ レコード番号,
  保険   → 法別番号
  保険者番号→ 保険者番号,
  被保険者記号番号→ 記号+番号,
  続柄   → 本人家族区分
  外来負担率 → 外来負担率
  入院負担率 → 入院負担率

 落としたCSVは以下のようになります。
 "         1",1,6,"06040331","162・264",2, ,30,30

■EXCELでの処理
 表記で保存したファイルをEXCELに読み込み、ORCAフォーマットにします。す
 なわち列を挿入したり、移動したりして、ORCAの項目と並びを揃えます。この
 とき、被保険者番号に右に番号用の列を挿入しておきます。項目の15〜17はレ
 セコンにないデータなので列を作る必要はありません。また、記号と番号の間
 の・を半角の/に、置換機能を利用して変更しておきます。(linux上で全角文
 字を使うがいやだから)

 出来上がったら項目行(先頭行)を削除して、CSV形式で保存します。

■Debianでの処理
 上記ファイルをFD経由で、/var/tmpへコピーします。(ファイル名をhkn.csv
 とします)
 eucへ変換 nkf -u hkn.csv > hkneuc.csv
 行末のCRコードの除去 tr -d '\r' <hkn.csv>orhkn.csv

 さて、このファイルをORCAで読ませるためには、
 ○法別番号を指定された2桁とする
 ○被保険者記号番号を記号と番号に分割する
 必要があります。

 以上をPerlで処理させます。

------------------------------------------------------
#読み込むファイルを指定
open (IN,"orhkn.csv");
#書き出すファイルを指定
open (OUT,">orhkninf.out");
#法別番号を連想配列で取得するための準備
#東芝独自の番号をORCA仕様へ変換
%array = (1,"01",2,"02",3,"03",4,"04",6,"06",7,"07",41,"60",44,"60",42,"60",89,"99");
#読み込み開始
while (<IN>){
#改行コードを削除(必要ないかも)
 chomp;
#カンマで分割し、lineという配列へ代入
 @line = split(/,/);
#東芝の法別番号を取得
 $hobetu = $line[2];
#上で用意した連想配列でORCA仕様へ変換
 $line[2] = $array{$hobetu};
#連想配列でひっかからなかったらそのまま使用
 if ($line[2] eq ""){
   $line[2] = $hobetu;
   }
#補助区分のところは0にしておいた方がよいらしい
 $line[5] = 0;   
#東芝の被保険者記号番号を 記号と番号に分割
 $line[7] =~ (/(.*)\/(.*)/);
#配列の7番目(項目の8)に記号をセット
 $line[7] = $1;
#配列の8番目(項目の9)に番号をセット
 $line[8] = $2;
#項目数は配列の16番目に空白を代入することでセット
 $line[16] ="";
#以上をカンマで連結
 $newline = join(",",@line);
#書き出す 
print OUT"$newline\n";
}
#一応ファイルを閉じます
close (IN);
close (OUT);
------------------------------------------------------
 以上をviなどで書いて、cvhkn.plなどのファイル名で保存し、
 perl cvhkn.plで実行すると、orhkninf.out が生成されます。

 以上で、日医で用意した変換プログラムで移行可能のファイルができあがりで
 す。

 パラメータファイル(@01−2)に用意したファイル名をセットして、ORCAユー
 ザとなり、
 ./orcvt_go_woody.sh ORCVTPTHKNINF
 を実行します。

 なお、移行のための準備はORCAホームページを参照下さい。

【注 意】
日医の移行プログラムは患者番号で参照しながら、保険情報がない場合には登録
します。しかし、すでに保険情報が登録されていると、それ以降の処理を中止し
てしまうようです。従ってすでに保険情報を登録済の患者データは、上で準備し
たファイルから削除しておく必要があります。
また、実際の登録はすべての処理が無事(?)終わった段階で行われるので、重
複データがあると1からやり直しになります。

私の場合、300例以上の保険情報が登録してあったものですから、そのデータを
ファイルから削除する作業が大変でした。

 #これは改善して欲しいですね。バグですかね。

法別番号などがORCA仕様に合わないなどでもエラーとなりますが、この場合には
スキップするだけで途中で処理を止めてしまうことはないようです。

なお、どの患者の保険情報が登録済であるかを知るには、ウインドウズパソコン
にPostgresのODBCドライバーをインストールすると便利です。ORCAデータを
ACCESSからアクセスできるようになります。ACESSのクエリーなどを駆使すれば、
データ解析などにも活用できるかと思われます。 
 #でも、データを削除したりしないようにくれぐれも注意して下さい。
 #その意味では、バックアップサーバのデータをいじった方がよいかも。

Postgres ODBCドライバー日本語版は以下からダウンロードできます。
http://www.nami73.com/download/psqlodbc.htm

また、保険情報の移行ではパラメータ@3、@4などは参照しないようです。

以上参考になれば幸いです。