EXCLEを使って1人にしか使用していない薬をレセコンデータから抽出する
患者様へお薬をお渡しした後、基本的に次回の来局日までにそのお薬を購入するわけですが、「買わない」期間を正しく管理できれば、その期間は不必要な在庫を保有しなくてもよくなります。
1人にしか使用していない薬を的確に把握すると、対象患者様の来局間隔に応じて在庫管理を行うことが可能となります。エクセル(2007年以降)とレセコンデータを使用して、1人にしか使用していない薬を抽出する方法を検討しました。
レセコンから一定期間(例えば直近6ヶ月)の医薬品使用データをテキストファイルやcsvファイルで出力します。90日を超える処方を応需することが多い薬局の場合は、指定期間を6~8ヵ月ほどに設定して出力すると、適切なデータを作成できるかと思います。(リストもれを回避のために期間を長めに設定します)
在庫管理ABC分析
レセコンから出力するデータ項目は
・調剤日
・患者指名
・医薬品名
・使用量
が含まれていればいいかと思います。このデータをテキストファイルやcsvファイルで出力して、エクセル(2007年以降)で開きます。今回は患者氏名の部分を患者番号で表示します
テキストファイルやCSVファイルをエクセルで開いたときに、以下のようにA列に、すべてのデータがまとまって表示されることがあります。
この場合は「Ctrl」キーと「A」キーを同時に押してすべてのデータを範囲選択します。タブに表示されている「データ」→「区切り位置」をクリックします。(またはA列を範囲選択して、タブに表示されている「データ」→「区切り位置」をクリックします。)
以下のような画面が出ますので、「次へ」「完了」とすすめるとA列にまとまって表示されていたデータを複数の列へ分けることができます。
作成したデータの先頭行に見出しをつけます。今回の場合は
調剤日・患者番号・医薬品名・使用量とつけました。
次に、データの並び替えを行います。「Ctrl」キーと「A」キーを同時に押してすべてのデータを範囲選択します。次にタブに表示されている「データ」→「並べ替え」をクリックします。
以下のような画面がでますので「先頭行をデータの見出しとして使用する」にチェックをいれます(赤いマルの部分です)。次に青矢印部分をクリックして「調剤日」を選択し、黒矢印部分をクリックして「降順」を選択して「OK」をクリックします。この作業により最新の調剤日から順に上から下へ表示するデータを作成されたことになります。
今回は直近6ヶ月のデータを利用して、1人にしか使用していない薬を調べる作業を行います。
たとえばアムロジン10mgを使用している患者さんが、Aさん1人だけだとします。
このAさんが60日に1回来局しているとすると、直近6ヶ月の出力データには
○月△日:Aさんアムロジン10mg60錠
□月×日:Aさんアムロジン10mg60錠
★月▽日:Aさんアムロジン10mg60錠
というように“3回”名前が表示されます。アムロジン10mgを使用している患者さんはAさん一人だけですので、上記の3行のデータを1行に収束する作業(重複の削除)を行います。
☆:調剤回数ではなく使用人数を把握するために重複の削除を行います。
重複データの削除を行います。「Ctrl」キーと「A」キーを同時に押してすべてのデータを範囲選択します。タブに表示されている「データ」→「重複の削除」をクリックします。
すると以下のような画面が表示されます。先頭行をデータの見出しとして使用するにチェックがはいっていることを確認します(赤マル部分)。「患者氏名」と「医薬品名」にチェックを残し、それ以外のチェックは外します(青マル部分)。以下の図では患者氏名ではなく患者番号で作業を行いますので、患者番号(B列)、医薬品名(C列)にチェックをいれ、それ以外はチェックを外して「OK」をクリックします(赤矢印)。
すると重複している行が削除されるため
○月△日:Aさんアムロジン10mg60錠
□月×日:Aさんアムロジン10mg60錠
★月▽日:Aさんアムロジン10mg60錠
↓
○月△日:Aさんアムロジン10mg60錠
というデータ1行だけが残ります。
ここまでの作業により、出力したレセコンデータの、すべての患者さんデータに関して、重複データの削除を行ったことになります。あとは使用している人数をカウントしていきます。
まずは、わかりやすいようい医薬品名順に並び替えます。
データの並び替えを行います。「Ctrl」キーと「A」キーを同時に押してすべてのデータを範囲選択します。次にタブに表示されている「データ」→「並べ替え」をクリックします。
以下のような画面がでますので「先頭行をデータの見出しとして使用する」にチェックをいれます(赤いマルの部分です)。次に
青矢印部分をクリックして「医薬品名」を選択し、黒矢印部分をクリックして「昇順」を選択して「OK」をクリックします。この作業により医薬品名順に並び替えることができます。
次にcountif関数を使用します。この関数は検索条件に一致する個数を数えるという関数です。空いている列にcountif関数を入力します。私の場合はE列があいていますので、セルE2に
=COUNTIF(C:C,C2)
と入力します
説明:医薬品名が「C2」と同じものの個数を数える
以下E3セル、E4セルと連続データで同様の処理をおこないますのでオートフィルを行います。E2セルの右下部分(赤マルでかこまれた部分)に黒いポッチが表示されます。この部分にマウスポインタを合わせると、マウスポインタの形が黒い十字に変わります。この状態で下方向へドラッグすると連続データを入力することができます(オートフィル)。表示された数字が使用人数となります。
上図を見ると、AZ点眼液、EPLカプセルの使用人数が1人、Lアスパラギン酸Ca錠200mg「サワイ」の使用人数が2人であることがわかります。
セルE1に見出しをつけるため、セルE1に「使用人数」と入力します。
最後に使用人数順に並び替えを行います。
データの並び替えを行います。「Ctrl」キーと「A」キーを同時に押してすべてのデータを範囲選択します。次にタブに表示されている「データ」→「並べ替え」をクリックします。
以下のような画面がでますので「先頭行をデータの見出しとして使用する」にチェックをいれます(赤いマルの部分です)。次に青矢印部分をクリックして「使用人数」を選択し、黒矢印部分をクリックして「昇順」を選択して「OK」をクリックします。この作業により使用人数順に並び替えることができます。
上記作業をすべて行いますと、1人にしか使用していない医薬品を確認することができます。例えば、1人にしか使用していない医薬品についてカードをつくると、調剤した段階で把握することができますので、次回来局する日にちを把握することができます。また、カードに調剤日を書き記していくと、棚卸ごとに不動品となっていないかどうかも同時にチェックすることができるようになります。1人にしか使用していない医薬品が多数ある場合は、特に金額の高い品目について重点的に管理を行うと店舗としての在庫金額を有益に管理することができると私は思います。
在庫管理を極端に表現すると「来月まで買わない」「棚卸があるので買わない」という判断の繰り返しなのかもしれません。この判断を容易に行うことができれば時間短縮につながるのではないかと私は考えております。