DPCデータの分析とかやるブログ

DPCデータの分析なんかをテキトーにやってます。

レセ電パーサを公開しました

とても人類には読み取れないレセ電ファイルを読み込むパーサ、Receparserを公開しました。 こちらです。

github.com

現在、医科レセプトファイルと、DPCレセプトファイルに対応しています。
なお、サンプルファイルは支払基金公開しているサンプルを修正したものです。
テスト用にJupyter Notebookファイルも付けておきましたので、ご覧ください。

使い方

from receparser import MonthlyRece,Rece

で、必要なオブジェクトをインポートします。

サンプルファイルを読み込みます。 読み込みの際には、codesオプションに"dpc"か"ika"を指定します。

.keysでカルテ番号の一覧を見ることが出来ます。 ディクショナリのように動きます。.items(),.values()も使えます。

dpc = MonthlyRece('dpcsample.csv',codes="dpc")
dpc.keys()

out: 
dict_keys(['1111', '', '2222', '3333', '4444', '5555', '6666', '8888', '9999', '101010'])

電子レセプトファイルは各行にレコードと呼ばれるアルファベットが振られており、それぞれ異なる内容を持っています。カルテ番号から更に深掘りしてみましょう。

dpc['1111'].keys()

とすると、

dict_keys(['RE', 'HO', 'KO', 'BU', 'SB', 'KK', 'GA', 'HH', 'GT', 'CO', 'SI', 'CD'])

が返ってきます。それぞれの内容を追っていくと…

dpc['1111']['RE']

out:
{'レコード識別番号': 'RE', 'レセプト番号': '1', 'レセプト種別': '1127', '診療年月': '42806', '氏名': 'サンプルDPC01', '男女区分': '1', '生年月日': '3160822', '給付割合': '', '入院年月日': '', '病棟区分': '', '一部負担金区分': '', 'レセプト特記事項': '', 'カルテ番号等': '1111', '割引点数単価': '', 'レセプト総括区分': '0', '明細情報数': '', '検索番号': '', '記録条件仕様年月情報': '', '請求情報': '', '診療科名': '59', '診療科_人体の部位': '', '診療科_性別等': '', '診療科_医学的処置': '', '診療科_特定疾病': ''}

dpc['1111']['HO']

out:
{'レコード識別番号': 'HO',
 '保険者番号': '06132013',
 '合計点数': '57706',
 '職務上の理由': '',
 '被保険者証の番号': '1',
 '被保険者証の記号': '1234567',
 '診療実日数': '5',
 '証明者番号': '',
 '負担金額_医療保険': '44400',
 '負担金額_減免区分': '',
 '負担金額_減額割合': '',
 '負担金額_減額金額': '',
 '食事_合計金額': '2072',
 '食事_回数': '3',
 '食事療養・生活療養_標準負担額': '1080'}

このような感じになります。
何だかんだ、2,3日かけて突貫で書き上げました。 (ファイル仕様を書き出すのと、サンプルファイルの修正が一番大変でした……) 最低限の機能しか実装していませんので、これから色々拡張していきたいですね。
具体的には、各レセプトごとの情報を統合して見やすく表示する機能とか、全体のサマリを表示する機能とか…