調剤データを活用して眼科用ラベルシールを作る

2023年5月21日

今回はかなりマニアックな内容を用意しました
色々書いてきましたが、私一番の得意な分野の紹介をしたい思います

業務効率化をするためのシステム開発・・・です

少々弱気に書いていますが、それにはわけがあります
自分では入念に設計して作成したものを、他の薬局に渡しても「使ってない」「使っているか分からない」という状況が常でして
15店舗以上で使っているシステムだったりするわりには反応が無さ過ぎて評価が分からないというありさまです(笑)
良かれと思って作っている割には、その効果がどれだけ出ているかが全く分からない残念な状態が続いています
こんな状態では面白くないので、世の中に「こんなことも出来ますよー」のアピールをしたく紹介します

NSIPSより点眼薬の袋に貼付するラベルを作成するシステム

簡単に言うと、レセコン入力したデータをもとに、「特定の眼科」「特定の点眼薬」のデータだけを自動抽出し、
点眼液の数を自動判別し、「患者名」「薬品名」「用法」「日付」が表示されたラベルシールを作ってくれるシステムです

老人ホーム施設などで眼科の処方せんを一度に数十枚処方があり一度に調剤したうえで、
施設のスタッフから、ミス防止のために点眼薬の袋に「患者名」「点眼方法」「日付」を、
しっかり記載して渡してほしいとの依頼・・・こちらは一人薬剤師だっつーの!
最初は文句タラタラでしたが、システム化してラベルシールに一括印刷してしまえば、超楽(ちょうらく)じゃね?
出力したデータは用法などもあるから処方せんの監査にもなるし

ま、手書きではなくてもエクセルを使いラベルシールに印刷するとかでも良いけど、
それを一括で自動化するのってなかなか難しいと思います

でも、これって何とかなるものだと思いませんか?
少なくとも「処方せんの入力はする」「薬袋には用法が表示される」ってことは、
レセコン上にはデータがありそれを抽出してデータ化してしまい、ラベルシール上に展開すれば作ることが可能では?と考えました
今までにもいろいろなシステムを作成してきたことがあるので、その組み合わせを活用しつつ・・・
結局完成してしまったのでそのプロセスを残したいと思います

著作権上の都合で、プログラム自体の公開は行っておりません、ごめんなさい
(基本的にエクセルでVBAの技術があって自分で調べることが出来れば作れるかと思います)

NSIPSという調剤データは必要なデータがそろう

レセコンに処方せん情報を入力し、外部にデータを出力するときにNSIPSというファイルを作成します
(NSIPSってあんまり細かいこと書いちゃいけないんですかね?詳細はシステム関連やっている人に聞いてください)
最近では監査システムや発注システムやMusubiのデータ出力など、
多岐にわたって利用されてますが、このファイルの中に調剤データがあります
それも、患者名、薬品名、量、日付など今回で必要なデータがすべて揃っていて、すべてエクセルで展開が可能

なので、ファイルを一つ開き必要な部分を抽出していけばシールが作れる!!というわけです

NSIPSをエクセルで展開し、部分抽出して一覧をつくる

レセコンから一括してNSIPSを出力する設定ができるので(すくなくとも私が使っているのは設定でできました)、
眼科の調剤が終了したら、一括でNSIPSを出力をかけてデータを用意します
エクセルで患者分だけNSIPSファイルを開いて必要な部分だけを抽出するって手動で行うのは非常に面倒なので、
特定フォルダに入ったNSIPSファイルを自動的に読み込み、必要な部分だけの抽出し一覧表を作るというプログラムを作ります
必要な部分だけを抽出して・・と簡単に書いてますが、いくつも条件をクリアしなければなりません

医療機関コードを抽出条件に

ずっと眼科の処方せんだけを受けているわけではなく、特定の眼科を抽出してラベルを抽出したいので、
私は処方せんに記載されている医療機関番号を抽出条件にしました
エクセルシート内に抽出したい医療機関番号を入力しておき、それ以外は抽出しないようにします

外用薬のみ抽出条件に

眼科の処方せんでもカリジノゲナーゼやトラネキサム酸などの処方も反応してしまうので、
NSIPSファイル内にある、内服と外用薬を判定する部分にて、外用薬だけを抽出する条件を加えます

データーには複数の点眼薬が存在する場合もある

これが一番厄介な話で、一つのファイルに点眼薬が一つなら良いのですが、NSIPSって1ファイルに1処方なので、
処方中に3種類の点眼もあると展開されたデータを最後まで抽出できる条件文を入れておかないといけません

抽出データの用意

「患者カナ」「患者名」「処方日」「調剤日」「薬品名」「用量」「単位」「用法」
これだけのデータを抽出しました
本当はそんな簡単ではなく、小さなラベルシール表示するには必要ない部分を効率化しなりません
抽出する際にデータのスリム化もしてます
例えば薬品名は長いので「懸濁性」「配合」「点眼液」の表示だけでもはみ出してしまうので削除します
さらに薬品名が全角が無理なのでカタカナは半角カナにすべて変換、
用法は基本的に「点眼」という文字を消すようにします
例えばこんな感じ
 「グラナテック点眼液0.4%」→「(半角で)グラナテック0.4%」
 「ピレノキシン懸濁性点眼液0.005」→「(半角で)ピレノキシン0.005」
 「アゾルガ配合懸濁性点眼液」→「(半角で)アゾルガ」
文字の効率を上げないと幅38mm、高さ21mmのラベルシールに入りません

ラベルシール作成:
点眼薬の最大の難点2.5mL問題

2.5mL問題というものがあります

どーして点眼薬によって1本と数えたり5mLとかで表示したりするのでしょうね
(こういうの日本の悪い慣習がいつまでもあるんでしょうけど)
グチってもどうしようもないのでやめます(笑)
一覧表を作成するところまで成功してもこの問題は結構深刻なのです

ヒアレイン0.1%点眼は1本、2本

ガチフロ点眼は5mL、10mL
キサラタン点眼は2.5mL、5mL

今見てもコレはイライラする(笑)

というわけで面倒になったので現在発売されている2.5mLの点眼薬の一覧表を作成し、
その一覧表に合致したら1本とカウントする条件文でプログラムを組みました
(右側の名前はラベルシールに表示された場合の名前です)
今後、2.5mLの点眼薬が増えたらこの表に薬品を追加、削除をすれば長く利用が可能です

ラベルシールレイアウトに配置をする

データが蓄積されるとこんなリストが完成します

用量のところは変換済みのものなので、実際には本数が表示されています
あとは上から順番にラベルシートのフォーマットにデータを落とし込んでいきます

薬局業界では一般的な?A4サイズのラベルシールで縦13面X横5面の全65面のラベルシールに印刷するレイアウトを作ります

初めにラベルシールレイアウトを作成、そのまま印刷してもシールから印字が外れないように印刷設定などもすべて作成しておきます
一覧表をもとに「名前」「薬品名」「用法」「日付」の順番にセルを埋めていきます
薬品の数だけラベルシールが作られるようにします

ラベルの作成方向は左上から下方向に行き順番に埋めるようにプログラムし、65枚を超えたら次のページに行くように書いているので、
2ページでも3ページでも可能です(いや、そんなにやりたくない)

後は印刷するだけ

レイアウトは完成しているので、印刷すればラベルシールが完成するので、
処方せんとピッキングした薬、ラベルシールを確認しながら点眼薬の袋に貼付していけば終わりです

長々書いたけどできたアプリ自体で行う作業はほんのわずか

色々な工程をかいていますが、実際完成したアプリでは5分もあればラベルシールが完成してしまいます
もし、これを手書きですべてやっていたらどんなに時間がかかるんでしょうかね?私は分かりません
世の中には大変几帳面な方が手書きでやっていられるかと思うとぞっとします(笑)

以下に画面を掲載します
ボタン操作でおおよそ作業ができてしまいます

どうしてもこんなプログラムの作れることを示したかった

今回は非常にマニアックなプログラムの世界にお付き合いいただきありがとうございました
こんなの誰が見るんじゃい!となりそうなのですが、
作ってみたらすごい便利なツールが作れてしまったということを示したかったのです
たかが薬剤師ってなのですが、使えるデータ群とアプリケーションの特徴の理解、
プログラム作成するための探求心なんかあれば、これくらいはできてしまうんじゃないかと思います

inserted by FC2 system