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

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

ICD→MDC6の変換表を作成する

色々あって、ICD10→DPCの頭6桁の変換を行う必要に迫られました。 とはいえ、電子点数表がありますから、楽勝でしょう。 そう思ってデータを見ると…ん…あれ…? I20$ → 050050 とかありますね。 困りました。実データは、I209とかなのです。これを050050に変…

EF/Dファイルのテーブル定義について

今更ですが、EFファイル/DファイルをDBに読み込む際のテーブル定義について、少し見直しをしていました。 今まで、「主キーとすべき項目が見当たらない」という理由で、id列を連番で振っていましたが、冷静になってみると複合主キー使えばいいんですね… Pos…

「病床の機能別分類」を境界点に従って区分する

いきなり何のこと? 病床の機能別分類は、国が(かなりいい加減に使っていた)高度急性期・急性期・回復期・慢性期の定義付けです。 ちゃんとした数字で指標を作らないと、統計も取れませんからね。 紹介記事はこちらを参考にしてください。 該当記事によれ…

DPCチェッカーの32bit版を公開…してみるが…

例によってこちらからどうぞ。 が、残念ながら既知の問題があります。 ある大きさ以上のファイルを読み込もうとすると、メモリ不足で落ちるようです。 (実際、検証したらエラーを吐きました) 32bit版WIndowsで、メモリ4GB(うちOSが3GB使用)で落ちたので…

scikit-learn 勉強ノート(1)

まえがきと目標 scikit-learnは最も有名なPythonの機械学習ライブラリです。 私も去年、「そろそろ機械学習をやるぞ!」と思い立って公式サイトを覗き、早々に諦めた覚えがあります。 だって恐ろしい数式が乱舞してますし、そもそも何を説明しているのかも分…

エクセルは事務職の生産性を本当に上げたのか?

事務職の生産性を上げるために えー、歴史を鑑みると、近代というのは機械化の時代です。 人間は逆立ちしてもトラクターには勝てませんし、馬ではトラックと競争出来ません。 事務職にとってコンピュータは、運送業におけるトラックと同じくらい大きな意味が…

ヒートマップで相関係数を可視化する

以前、相関係数について、ざっくりした記事を書きました。 stagira.hatenablog.com おさらいですが、相関係数は-1から+1の間を取る指標で、±0.7以上なら強い相関があると認められます。 マイナスなら負の相関、プラスなら正の相関ですね。 さて。以前の記事…

EFファイルを自力で統合する(2017年版)

EFファイルの統合は、EファイルとFファイルを縦方向に連結し、穴埋めをすることで可能です。色々な方法が考えられますが、Pandasでの実装が最も容易です。便利なメソッドにおんぶにだっこで、手っ取り早くEF統合をやってみましょう。

さいきん読んだ本など

あるごりずむ 特にネタがないので(おい)、今日は最近読んだ本の話でも。 私はどんな問題も 楽ができる機能がないか探す 楽ができるライブラリを探す StackOverFlowで答えを探す という方法で解決するゆとりコーダーです。はい、あまりプログラムは出来ませ…

Electronアプリ DPCチェッカー0.2を公開

えー、前回のリリースから一ヶ月以上サボってましたが、0.2が出来ましたので公開します。 例によってこちらからどうぞ。 変更点 Python版にあったダッシュボード機能を移植しました。 今回こんなに時間がかかったのは、方向性を決めあぐねて、色々フレームワ…

Pandasでささっと前年度比較

毎月レセプトが終わると、前年同月比較をやることが多いです。 まあ、手術がガクンと落ちたり上がったり、どうしても波があるからです。 今回は、EFからささっとデータを取ってくる方法を考えてみました。 わかりやすく、今年のデータはdf17、去年のデータは…

EFファイル統合スクリプトをアップしました

DPCデータのEFファイル統合スクリプトを作成しました。EファイルとFファイルの統合ツールとして、PRISMのEF統合ツールが公開されていますが、2017年度版は6月まで公開されません。 つなぎのためのスクリプトです。

Bokehで動的なグラフを描画する

Pythonのグラフ描画ライブラリ、Bokehの基本をおさらいします。 matplotlibと違い、HTMLとJavaScriptを出力するのでWebアプリとの親和性が高いです。 二つのグラフを同期して動かす、といったことも可能です。

DPC入院料を月別/科別に可視化する

DPC入院料を、月別/科別に集計して可視化します。Pandasのプロット機能と、seabornを使っています。

なんでPythonでGUIアプリを書かないの?

さて、前回はElectronを使ってでっち上げたアプリケーションを公開しました。 ElectronはJavaScriptベースのライブラリです。私が普段使っているのはPythonで、JavaScriptはロクに分かっていません。 が、いざデスクトップアプリを書く段になって、選択した…

DPCチェッカーElectron版を公開

今回はこちらです。 ZIPをダウンロードして解凍して、dpc.exeを叩いて下さい。ブラウザではなく、ちゃんとアプリケーションが走る筈です。 何だか一ヶ月ほど前に、「Windows版を作りました!」と自慢げにエントリ書いてますが、ええと、忘れて下さい。 前回…

「Electronではじめるアプリ開発 ~JavaScript/HTML/CSSでデスクトップアプリを作ろう」読んでます

年明けに「Webが全てにやってくるぞ!」と書いておきながら、何もしてなかったので本を買いました… というのは冗談で、ずっとNode.jsいじってました。で、Electronでアプリ化するにあたり、適当にブログやStackOverflowの記事なんか読みつつ書いてたんですが…

様式1データを扱いやすい形に変形する

DPCの様式1データは、そのままでは大変扱いづらいです。今回は、様式1データをスクリプトで扱いやすい形に整形してみます。

様式1のペイロード項目詳細を扱いやすい形に変換する

DPC様式1データを扱うためには、まずペイロード項目情報が必要です。 残念ながら、そのままでは扱いづらい形のデータなので、Python向けに加工します。

様式1ファイルの項目マスタをアップしました

DPCデータ提出で使われる、様式1ファイルのペイロード項目マスタをGitHubで公開しています。完全な情報は厚生労働省のサイトに公開されていますが、残念ながらPDFでした。データ分析に利用できるよう、csvとxlsxで公開しています。

Postgres用SQLクエリまとめに追加をしました

このブログでは今まで色々なSQLクエリを紹介してきましたが、殆どがPostgreSQL用でした。 SQLite向けのクエリはDPCチェッカーに突っ込んでいますが、Postgres用のクエリはどこにもまとまっていません。 流石に不味い、ということでこちらに随時アップロード…

DPCチェッカー 0.13 Windowsアプリケーション版を配布開始

DPCデータの簡易分析ツール、DPCチェッカーのWindows版を公開しました。算定チェックや簡単な可視化をやっています。

Scalaでcsvをいじってみました

Scalaを使ってCSVデータをいじってみます。使用する外部ライブラリはopencsvのみ。

EFファイル/DファイルをPowershellで扱う

PowerShellでEFファイルやDファイルを扱ってみます。Import-Ccvコマンドを使えば、単純な置換作業はとても簡単になります。

PostgreSQL用のクエリをまとめてます(進行形)

このブログではずっとPostgreSQL用にクエリを書き連ねて来ましたが、そろそろいい数になりましたのでGitHubに上げることにしました。 こちらです。 まだ数は多くありませんが、これから順次増やしていく予定です。 また、よくよく考えるとPostgresの環境構築…

SQLiteと日付型データについて

SQL

SQLiteは素晴らしいツールです。 単体exeで走り、かつデータベースは一つのファイルに纏まるので、DBをUSBに入れて、実行環境ごと持ち運ぶことが出来ます。 パブリックドメインなので、好きなように使って大丈夫です。Accessと違って、DBのサイズ制限も無い…

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、少しばかり言い訳させてください。 チュートリアルはやりましたよ。 でも、私の限られた知的能…