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

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

2016-01-01から1年間の記事一覧

2016年の終わりに

このブログを始めたのが今年の1月でしたので、年が明ければ一周年となります。 お読み頂いた皆さんには、お付き合い頂き有り難うございました。 来年はもう少しマシな内容になると思います・・・うーん、なる、はず・・・なるといいな・・・ 2016年のまとめ 今年はず…

Pythonでのデータ可視化について色々

Pythonでグラフを描こうと思ったら まあ、普通はmatplotlibですね。 matplotlibは事実上のデファクトであり、これで困ることはまずありません。以上、今回はこれで終わり・・・ というわけには行きませんね。他にも幾つかの選択肢がありますので、見ていきまし…

DPCチェッカー0.10 ダッシュボード機能を追加

例によってこちらです。 バージョン0.08の変更点:ダッシュボード機能 予告通りダッシュボードをつけました。 開くと科別・病棟別の出来高対比グラフ、また同じく科別・病棟別の収益分布がグラフで描画されます。 ネタが思いつけば追加は簡単なので、順次増…

DPCチェッカー0.08 デザインをちょっと修正

例によってこちらからどうぞ。 バージョン0.08の変更点:デザイン修正 これを書いている人間は、残念ながら「デザイン」とか「絵心」というものは皆無です。 ということでGoogle様のMaterial Design Liteに乗っかりました。 といっても所々昔のままで、ツギ…

SQL方言について(ついでにDPCチェッカーにクエリを追加)

SQLの方言 残念なことですが、SQLは実装ごとに方言があります。 私はPostgreSQLばっかりいじってたので気にも留めていませんでしたが、今回DPCチェッカーを作っていて否が応でも気付かざる得ませんでした。 DPCチェッカーは組み込みで配布するため、SQLite3…

DPCチェッカー0.07 : 外部クエリの読み込みに対応しました

例によってこちらからどうぞ。 バージョン0.07の変更点:外部クエリの読み込み機能について 今まで当ツールはコード内部にそのまんまSQLクエリが書いてあるというシロモノでした。 拡張性もへったくれもありませんので、バージョン0.07でSQLクエリは本体から…

DPCチェッカーを0.06にアップデートしました

といっても、csvエクスポート機能をつけただけですが… 例によってこちらからどうぞ。 今後の予定としては さっさと外部クエリ読み込みを実装する というか今までブログに上げてきたクエリを整理してGitHubにまとめる Bokehを使った可視化は業務でやってるの…

DPCチェッカー 0.05を公開しました

DPCチェッカー 0.05 いきなりですが、業務の片手間にツールを作ったので公開します。 こちらからどうぞ。 DPCチェッカーはEF/Dファイルを読み込み、出来高対比を算出したり、退院時処方のエラーチェックを行うソフトです。 Flask/Pandas/SQLite3で実装された…

持参薬の記録についてあれこれ

10月から持参薬の記録が必須になりました。 面倒極まりない仕様ですが、データを扱うときにも注意点が増えます。 というのも、この持参薬情報、 出来高実績点数や明細点数情報を保持したままなのです! つまり、普通にEFファイルを集計すると、持参薬込の…

再びのアプリケーション考察

データ分析をやっていると、やっぱり「アプリケーションで配布したい!」と思うときがあります。 (このブログで書いている諸々のSQL文も、まとめてアプリケーションにバンドルしてしまいたいのです) 最近真剣に選択肢を検討してみたので、結果をつらつら書…

pandasql : DataFrameにSQLクエリを発行するライブラリ

やっぱりDataFrameにもSQLをゴリゴリ書きたい! Pandasをいじっていると、そう思うことはよくあります。 別にDataFrameに不満があるわけではありませんが、例えば次のような例を見てみましょう。 df = pd.DataFrame({'category':['game','game','game','PC',…

電子点数本を使ってDPCデータを拡張する(2)

前回はDPC点数本をDBに取り込むと便利かも、みたいな話で終わりました。 例えば 分類番号 病名 入院期間1 入院期間2 入院期間3 040080xx 肺炎 5 12 30 みたいなテーブルを用意します。今回は仮にdpcmasterというテーブル名とします。 Dファイルには分類番号…

電子点数本を使ってDPCデータを拡張する(1)

DPCのDファイルには、DPC分類番号が記録されています。 理論的には、これを利用し紐付けすれば、その日の診療データがDPC期間のどの区分に該当するか、といった分析も可能になる筈です。 そのためのデータが厚生労働省のページで配布されているので、今回は…

【雑談】 「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」読んでます

以前に「Python 機械学習プログラミング」を読んでましたが、原理的な部分の理解が今ひとつだったので別な本に手を出しました。 「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」です。 最初からこれ読めば良かった 機械学習の初…

DPC「病院情報の公表」についての雑感

今年度より、「病院情報の公表」という制度が始まりました。 DPC導入病院は、所定のフォーマットに沿って情報を公表することで、評価を受けられるようになります。 さて、私の病院では大過なく公開にこぎつけましたが、マニュアルを読んでいて思った雑感など…

DPC入院中に行った診療行為を探すSQL(ついでにパラメータの変え方も)

SQL

以前、DPC中に使用した注射薬剤を探すSQLを書きました。 これはちょっと修正するだけで、あらゆる診療行為に拡張できます。 このブログではSQLの解説はあんまり真面目にしてきませんでしたので、今回はゆっくり解説をしてみましょう。 なお、SQLってなんだろ…

【雑談】 「Python 機械学習プログラミング」を読み始めるなど

半分趣味ですが、「Python 機械学習プログラミング」を読み始めてます。 最初はscikit-learnのドキュメントを読もうとしましたが、あっさり挫折したので・・・ OK、少しばかり言い訳させてください。 チュートリアルはやりましたよ。 でも、私の限られた知的能…

相関係数で疾患別の特徴を見る

DPCデータを見ていると、残念ながら「件数は多いのに赤字」という疾患に出くわすことがあります。 なぜ赤字なのか、理由は疾患によりますが、理由の一つに 在院日数が伸びても資源投入に変化がない というものがります。 DPC入院料は在院日数が伸びるにつれ…

アプリケーションについて幾つか

データ分析をやっていると、当然、分析結果をプレゼンすることがあります。 大体はパワーポイントをでっち上げますが、パワポは人間の「理解しよう」という気を失わせる道具です。 スライドが1枚進むたびに、聴衆の興味は失われていきます。 (もちろん、あ…

PostgreSQL : crosstabの使い方

SQL

遅れましたがcrosstab関数の紹介です。 まず前回使ったコードをおさらいしましょう。 select * from crosstab('select データ識別番号,連番,ペイロード9 from ff1test Where コード = ''A006040''', 'select m from generate_series(1,10) m') AS( データ識…

様式1ファイルを扱ってみる(2)

<注> 今回のSQLはPostgreSQLの拡張機能を使います!Postgre以外では動きません! 今回は前回作った様式1データから、横持ちのデータを取り出してみます。 やってみたいのは、以下のようなデータ抽出です。 元データ データ識別番号 連番 ペイロード9 001 1 …

様式1ファイルを扱ってみる(1)

今までのエントリでは、DPCデータのうちEFファイルとDファイルに焦点を絞って話してきました。 当然、こう思う方もいるでしょう。 「あれ、様式1はどこいったの?」 面倒くさいので扱いたくなかった試行錯誤の途中なのでエントリにしていませんでしたが、今…

前月からDPC請求方法が変化した患者を探す

今年度の改定で、DPC請求/出来高請求は一入院で統一することになりました。 つまり、DPCから出来高分岐になれば、前月以前分は返戻処理することになります。 また、前月でDPCが終わったものの、今月になって手術などを行いDPC期間が延長になれば、前月分を返…

入院日の点滴量を調べるSQL(正規表現を使用)

脱水の多い季節です。 この仕事をしていると、夏と言えば脱水で救急医療加算を算定しようとなるのですが、さてEFファイルから対象患者を探すことは出来るでしょうか? 結論から言えば、出来るけど面倒です。 記録されている点滴の内容はこんな感じですね。 …

グラフライブラリBokehの紹介(動く例つき)

以前、Bokehというグラフライブラリの紹介をしましたが、その時は「Webベースのグラフが出来上がる」と触れ込んだくせに例は画像ファイルという体たらくでした。 今回は反省して実際に動く例を作りましたので、リンクを張ります。 Bokehの実例 ぐりぐり動か…

NULLの問題について(テーブル結合の落とし穴)

最近あった問題点のお話です。 このブログでもDPC出来高対比の出し方は何度か記事にしてきました。 要は「データ識別番号」「入院年月日」の二つをキーにしてEFファイル/Dファイルを集計し、二つのテーブルを結合するという手順を踏むのですが、では日別に…

Bokehを使ったグラフ描画

今までPythonでのグラフ描画といえばmatplotlibやSeabornがメジャーでしたが、ここにきてBokehというライブラリが完成度を上げてきました。 matplotlibが最終的に静的なイメージファイルを吐き出すのと違い、Bokehはhtmlファイルを書き出します。 縮小・拡大…

DPC出来高対比を可視化する

前々回はSeabornを使ったグラフ描画を紹介しました。 今回は具体的にデータの可視化を行ってみましょう。試しに、一ヶ月の患者別DPC出来高対比点数をグラフにしてみます。 import pandas.io.sql as psql import psycopg2 as pg import pandas as pd import n…

副傷病分岐の無いDPCを探すSQL

DPC分類番号はご存知の通り14桁の英数字で構成されています。 それぞれの番号にはルールが設定されていますので、それに従うことで特定の条件に当てはまる患者データを抽出することが可能です。 例えば、手術をしている、処置1で分岐している等ですね。 …

PythonからSQLサーバーに接続してグラフを描いてみる

今日はPythonからPostgreのDBに接続し、データを引っこ抜いてくるところまでやってみましょう。 最後にオマケで、グラフを描画してデータの可視化まで行います。 使うライブラリは以下の通り。 Pandas(Pythonでデータを扱うなら必須のライブラリ) Numpy(Pa…