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

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

DPCチェッカー 0.12 ダッシュボード機能を書き直し

DPCチェッカーは、SQLとPandasを用いたDPCデータの簡易分析ツールです。ver 0.12にアップデートしました。

DPCチェッカー0.11 認知症ケア加算のチェック機能を追加

例によってこちらです。 今回は単なるクエリの追加だけですが、SQLiteの仕様について面白いことも分かったので、いずれ別記事で書きます。 また、今後の方針についてですが・・・ 今後の方針 やっぱりexeで走るアプリケーションにしたい 中身のコードがひどいの…

「改訂新版JavaScript本格入門」を読みました

今書いているアプリケーションでは、ブラウザを使ったデータの可視化をやってます。 残念ながらその部分はJavaScriptに頼らざるを得ず、コピペと当てずっぽうではコードが動かないので、本を買いました。 「改訂新版JavaScript本格入門」は、痒いところに手…

行値式を使った条件指定について(Postgres SQL前提)

SQL

保険算定というのは奇々怪々です。 あまりにも制度が複雑になりすぎて、「○○を行った患者さんで、××は算定してなくて、でも△△を算定してる人が知りたい」みたいな問題が割と出てきます。 一つ一つの条件は単純ですが、重なってくると面倒ですね。 さて、入院…

DPC疾患の月別推移を可視化する(修正版)

前回はタイトル通り、DPC疾患の月別推移を可視化する関数を書きました。 あれは実行するとデータを作り、同時にグラフを描画するというひどい代物で、流石に反省しましたのでクラスに書き換えてみました。 何気にこのブログでクラスを書くのは初めてですね。…

DPC疾患の月別推移を可視化する

今回はDPC入院料の分析のお話です。 DPC入院料の推移を見ると、時折奇妙な動きをすることがあります。特定の科の数字が跳ね上がったり、下がったりです。 もちろん中身をチェックすることになりますが、毎回集計して目で見るのは面倒ですね。自動化しましょ…

認知症ケア加算の算定ミスをチェックする

明けましておめでとうございます。 つい数日前のエントリで、今年はSQL紹介だけの単調なエントリはやらないぞ!と書いておいてアレですが、算定ミスチェックのSQLでございます。 認知症ケア加算は、「入院後14日以前か、15日以降か」で算定する点数が変わり…

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期間が延長になれば、前月分を返…