前回の続きですが、テーブルオカレンスの組み直しを中心に、自動集計の仕組みを再構築中。
やっているのは病床の稼働履歴の集計です。
- 入退院数
- 稼働数・稼働率・算定数
- 平均在院日数
- 医療区分別の割合
- 在宅復帰率
- 入院時の重症患者の割合
- 退院時に3点以上改善した患者の割合
等々
丹念にリレーションを組んで数をカウントしています。
(今までのものを再構築)。
基本的な構成
以下、概略のみの説明ではありますが、基本的な考え方としては、
- 日々、患者基本情報、入退院履歴等を入力する。
- それを元に、別テーブルで、日付ごとに稼働数などをカウントする(中間テーブル)。
- その日付ごとに集計されたデータを集計用のファイルにエクスポート。
- その上で期間集計などを行う。
という構成にしてあります。
基本的には自分のこれまでのやり方の踏襲です。
今回からの工夫として、一旦、日付ごとに数をカウントするために、集計用の中間テーブルを作る、というやり方にしました。
日付ごとの集計(中間テーブル)
各病棟ごとに日付ごとの稼働状況を集計するためのテーブルオカレンスグループを作成。
下図が一般病棟で日々の集計をするためのTOG。
これで一般病棟における
- 稼働数や
- 入退院数や
- 平均在院日数
を算出するための基本となる数字をカウントすることができます。
医療療養病棟や回復帰リハ病棟についても、同様にTOGを作って丹念にリレーションを組み、count関数で数を数えます。
次は期間集計
日付ごとの集計ができたら、それを元に、次は期間集計。
「日付ごとに集計された数」をエクスポートして利用します。
中間テーブルを利用することで、参照するレコードが少なくなって動きも軽くなる、という目論見です。
つまり、この時点では、患者さんの情報を参照する必要がないわけです。すでに数としてカウントしていますから。
作成したTOGが下図。
これで、
- 月別の稼働集計 とか
- 3ヶ月単位の平均在院日数 とか
- 6ヶ月単位の在宅復帰率
などを自動集計できるようになります。
もちろんsum関数とかで合計して、割り算したりかけ算したり。
結果、下図のように構成したレイアウトに、稼働状況が自動集計されて表示されます。
各病棟ごとに集計項目が違ってくるのは当然として、この画面に含まれているのは、
各病棟ごとの
- 稼働数
- 稼働率
- 算定数
- 平均在院日数
- 医療区分別の割合
- 入退院数
等々です。
ページを切り替えれば、例えば回復帰リハ病棟の
- 在宅復帰率や
- 入院時の重症患者の割合や
- 退院時に3点以上改善した患者の割合
などについて、6ヶ月単位&1ヶ月単位での集計結果を確認することができます。
また、日付を再入力すれば、それに応じて自動的に再計算が行われます。
平均在院日数をシミュレートする機能もあります。
ちなみに画面上部にタブコントロールみたくボタンを配置してありますが、
今回に関してはタブコントロールを使わずに丹念にページを作りました。