(定義)
本明細書において、「在庫量」は、在庫の数量を示し、在庫を定量的に表す。在庫の数量は、絶対数量であってもよいし、相対数量であってもよい。好ましくは、在庫の数量は、絶対数量である。例えば、在庫量を絶対数量とすることで、在庫量は、直感的にわかりやすいデータとなる。
本明細書において、「在庫レベル」は、在庫の程度を示し、在庫を定性的に表す。例えば、在庫レベルは、在庫が有るか在庫がないかの2段階であり得る。例えば、在庫レベルは、在庫が有るか、在庫があまりないか、在庫がないか等の多段階であり得る。在庫レベルにおける各段階は、他店の在庫または過去の在庫等との比較によって相対的に決定されてもよいし、絶対的に決定されてもよい。例えば、在庫レベルにおける各段階を絶対的に決定することで、在庫レベルは、直感的にわかりやすいデータとなる。
以下、図面を参照しながら、本発明の実施の形態を説明する。
1.医薬品の流通を支援するための新たなサービス
(薬局間在庫共有サービス)
本発明の発明者は、医薬品の流通を支援するための新たなサービスを開発した。そのサービスの1つは、薬局間で在庫情報を共有するためのサービスである。薬局は、このサービスを利用することにより、他の薬局がどの程度の在庫を有しているかを知ることができるようになる。これは、例えば、或る医薬品について在庫が不足している薬局が、その医薬品の在庫を豊富に有している薬局を知りたいときに有用である。或る医薬品について在庫が不足している薬局は、その医薬品の在庫を豊富に有している薬局を特定し、その薬局に対して購入意図を伝え、その薬局からその医薬品を購入することができる。薬局から直接医薬品を購入することは、概して、医薬品卸業者にその医薬品を発注して購入するよりも安くかつ早く医薬品を入手することができる。一般的に、薬局間で取引をした方が現場の実情を考慮して安く取引できる傾向があり、また、医薬品卸業者に発注して医薬品を購入すると、医薬品の納品まで時間がかかるからである。これにより、薬局は、不足する在庫を即座に補うことができ、医薬品の効率的な流通がより促進される。
図1Aは、薬局間で在庫情報を共有するためのサービスにおけるフローの一例を概略的に示す図である。図1Aでは、サービスプロバイダ10と、薬局20との間のフローを説明する。図1Aでは、3つの薬局20A〜20Cしか示されていないが、薬局20の数は、2以上の任意の数であり得る。薬局20には、例えば、このサービスを利用している薬局全体が含まれてもよく、例えば、このサービスを利用している特定のエリア内の薬局が含まれてもよく、例えば、このサービスを利用している特定のグループ(例えば、薬剤師会等)内の薬局が含まれてもよい。
サービスプロバイダ10は、薬局間で在庫情報を共有するためのサービスを提供する。サービスプロバイダ10は、例えば、薬局間で在庫情報を共有するためのサービスを利用するためのネットワークサイト(例えば、インターネットサイト)を提供し、サービス利用者がそのサイトにアクセスすることを可能にする。
薬局20A〜20Cは、例えば、このサービスを利用するために会員登録を行った薬局である。薬局20A〜20Cは、薬局の店舗データを登録している。
ステップS101では、薬局20A〜20Cはそれぞれ、その薬局に関する情報をサービスプロバイダ10に提供する。薬局に関する情報は、例えば、その薬局で扱ったレセプト(調剤報酬明細書)のデータを含む。レセプト自体には、個人情報が含まれているため、個人情報をハッシュ化または削除したうえで、レセプトのデータをサービスプロバイダ10に提供することが好ましい。
薬局20A〜20Cからサービスプロバイダ10に提供されるレセプトのデータには、例えば、「いつ」「どの医薬品を」「どのくらい」処方したかを示す情報が含まれている。レセプトのデータには、例えば、個人情報をハッシュ化された患者の情報(例えば、氏名の一部、性別、生年月日)が含まれてもよい。
薬局に関する情報には、例えば、その薬局が扱う医薬品の価格(薬価)が含まれてもよい。
サービスプロバイダ10は、薬局20A〜20Cから受信した薬局に関する情報を利用して、薬局間で在庫情報を共有するためのサービスを提供する。
ステップS102では、薬局20Aは、特定の医薬品の在庫情報をサービスプロバイダ10に要求する。このとき、薬局20Aは、在庫情報を要求する薬局の範囲を指定するようにしてもよい。例えば、このサービスを利用している薬局全体を指定するようにしてもよいし、例えば、このサービスを利用している特定のエリア内の薬局を指定するようにしてもよいし、例えば、このサービスを利用している特定のグループ(例えば、薬剤師会等)内の薬局を指定するようにしてもよいし、このサービスを利用している薬局のうち、特定の条件を満たす薬局を指定するようにしてもよい。
サービスプロバイダ10は、ステップS102での要求に応答して、ステップS103で、特定の医薬品の在庫情報を薬局20Aに提供する。例えば、サービスプロバイダ10は、薬局20Aによって指定された範囲内の薬局の在庫情報を提供するようにしてもよい。
在庫情報は、例えば、○△×等の段階的な指標で表される定性的な情報であってもよいし、数量で表される定量的な情報であってもよい。
サービスプロバイダ10から提供された在庫情報により、薬局20Aは、他の薬局に特定の医薬品がどれほど在庫しているかを知ることができる。
例えば、在庫情報が、薬局20Aが特定の医薬品の在庫を欠いており、薬局20Bが在庫を有していることを示す場合、ステップS104で、薬局20Aは、薬局20Bに対して、その医薬品の購入意図を伝達する。購入意図は、公知の意思伝達手段を用いて伝達され得る。例えば、購入意図は、電話、電子メール、ファクシミリ、郵便、SNS等であり得るが、電話等の即時の伝達手段が好ましい。
薬局20Bが薬局20Aの購入意図を確認し、これに応じると、ステップS105で、特定の医薬品が薬局20Bから薬局20Aに販売される。
このようにして、薬局20Aは、在庫が不足している医薬品を、その医薬品の在庫を有している他の薬局から入手することができる。薬局20Aは、医薬品卸業者に発注して納品してもらうよりも概して早く特定の医薬品を入手することができる。例えば、薬局20Bが地理的に近い場所にあれば、なお一層早くなる。これにより、医薬品の効率的な流通が促進される。
上述したステップS102およびステップS103は、例えば、図1Bおよび図1Cに示される画面を介して行われてもよい。
図1Bおよび図1Cは、薬局20Aの端末装置に表示される画面の一例を示す図である。
図1Bおよび図1Cは、例えば、薬局20Aが、薬局20Aの端末装置を利用してサービスプロバイダ10が提供するサイトにログインした後に表示される画面である。ここでは、特定のグループ(ここでは、架空のXYZ薬剤師会)に属する薬局間で在庫情報を共有するための画面が示されている。
図1Bおよび図1Cに示される画面11は、医薬品名称入力欄12、検索ボタン13、および在庫情報表示欄14を備えている。
例えば、図1Cに示されるように、医薬品名称入力欄12に「ロキソニン(登録商標)錠」と入力し、検索ボタン13をクリックすると、在庫情報表示欄14にXYZ薬剤師会に属する複数の薬局における「ロキソニン(登録商標)錠」の在庫情報が表示される。例えば、AABBファーマシーは、ロキソニン(登録商標)錠60mgを14.5円/錠で販売しており、在庫を有していること、DEF薬局は、ロキソニン(登録商標)錠60mgを14.5円/錠で販売しており、在庫を有していないこと、おくすりGHIは、ロキソニン(登録商標)錠60mgを14.5円/錠で販売しており、在庫をあまり有していないこと、JKL調剤薬局は、ロキソニン(登録商標)錠60mgを14.5円/錠で販売しており、在庫を有していることが在庫情報表示欄14に表示されている。
在庫情報表示欄14を確認することにより、他の薬局がどの程度の在庫を有しているかを知ることができる。
このとき、例えば、薬局名を選択すると、その薬局の連絡先情報が表示されるようにしてもよい。これにより、薬局の連絡先情報を調べる手間が排除され得る。例えば、薬局名を選択すると、その薬局に購入意図を伝達するための画面に遷移するようにしてもよい。これにより、個別に連絡する手間が排除され得る。
(期限切迫品販売サービス)
新たなサービスの他の1つは、医薬品の購入可能性が高い薬局を知らせるサービスである。これは、例えば、医薬品卸業者向けのサービスである。医薬品には、使用期限があり、使用期限を過ぎた医薬品は廃棄されることになる。廃棄は損失であるためで、廃棄されるくらいなら安くでもいいから売ってしまいたいのが医薬品卸業者の常である。このサービスは、医薬品卸業者に、或る医薬品を購入する可能性の高い薬局を知らせるサービスである。医薬品卸業者は、このサービスを利用することにより、或る医薬品をどの薬局が買ってくれそうかを知ることができ、使用期限が切迫している医薬品をその薬局に割引価格で販売するようにセールス活動することができるようになる。使用期限が切迫している医薬品をやみくもにセールス活動するよりも、購入確率の高い薬局に絞ってセールス活動することにより、使用期限が切迫している医薬品が売れる可能性が高まる。これにより、使用期限が切迫している医薬品すらも流通するようになり、医薬品の効率的な流通がより促進される。
図1Dは、医薬品の購入可能性が高い薬局を知らせるサービスにおけるフローの一例を概略的に示す図である。図1Dでは、サービスプロバイダ10’と、薬局20と、医薬品卸業者30との間のフローを説明する。図1Dでは、1つの医薬品卸業者30しか示されていないが、医薬品卸業者30の数は、1以上の任意の数であり得る。図1Dでは、2つの薬局20Aおよび20Bしか示されていないが、薬局20の数は、2以上の任意の数であり得る。薬局20には、例えば、このサービスを利用している薬局全体が含まれてもよく、例えば、このサービスを利用している特定のエリア内の薬局が含まれてもよく、例えば、このサービスを利用している特定のグループ(例えば、薬剤師会等)内の薬局が含まれてもよい。
サービスプロバイダ10’は、医薬品の購入可能性が高い薬局を知らせるサービスを提供する。サービスプロバイダ10’は、例えば、医薬品の購入可能性が高い薬局を知らせるサービスを利用するためのネットワークサイト(例えば、インターネットサイト)を提供し、サービス利用者がそのサイトにアクセスすることを可能にする。サービスプロバイダ10’は、図1Aを参照して上述したサービスプロバイダ10と異なる実体として説明されているが、サービスプロバイダ10と同一実体であってもよい。
サービスプロバイダ10’は、例えば、薬局間で医薬品の売買を行うためのサービスも提供することができる。サービスプロバイダ10’は、例えばこのサービスのために、ネットショッピングサイト、または、オークションサイトを提供することができる。薬局20は、このサービスを利用すると、容易に他の薬局と医薬品の売買を行うことができる。
薬局20Aおよび薬局20Bは、図1Aを参照して上述した薬局20と同様に、例えば、このサービスを利用するために会員登録を行った薬局である。
ステップS111では、薬局20A〜20Bはそれぞれ、その薬局に関する情報をサービスプロバイダ10’に提供する。薬局に関する情報は、例えば、その薬局で扱ったレセプト(調剤報酬明細書)のデータを含む。レセプトのデータには、個人情報が含まれているため、個人情報をハッシュ化または削除したうえで、レセプトのデータをサービスプロバイダ10’に提供することが好ましい。
薬局20A〜20Bからサービスプロバイダ10’に提供されるレセプトのデータには、例えば、「いつ」「どの医薬品を」「どのくらい」処方したかを示す情報が含まれている。レセプトのデータには、例えば、個人情報をハッシュ化された患者の情報(例えば、氏名の一部、性別、生年月日)が含まれてもよい。
薬局に関する情報は、例えば、薬局間で行われた医薬品の取引に関するデータを含む。薬局間で行われた医薬品の取引に関するデータは、例えば、サービスプロバイダ10’が提供する薬局間で医薬品の売買を行うためのサービスを介して取得された売買に関するデータであってもよいし、例えば、サービスプロバイダ10’が提供する薬局間で医薬品の売買を行うためのサービスとは別で行われた売買に関するデータであってもよい。薬局間で行われた医薬品の取引に関するデータは、例えば、「いくらで」「どのくらいの値引きで」「どのくらい期限が切迫している」医薬品が売買されたかの情報を含み得る。
サービスプロバイダ10’は、薬局20A〜20Bから受信した薬局に関する情報を利用して、医薬品の購入可能性が高い薬局を知らせるサービスを提供する。
ステップS112では、医薬品卸業者30は、特定の医薬品の購入可能性が高い薬局の情報をサービスプロバイダ10’に要求する。このとき、医薬品卸業者30は、特定の医薬品の購入可能性が高い薬局の情報を要求する薬局の範囲を指定するようにしてもよい。例えば、このサービスを利用している薬局全体を指定するようにしてもよいし、例えば、このサービスを利用している特定のエリア内の薬局を指定するようにしてもよいし、例えば、このサービスを利用している特定のグループ(例えば、薬剤師会等)内の薬局を指定するようにしてもよいし、このサービスを利用している薬局のうち、特定の条件を満たす薬局を指定するようにしてもよい。
サービスプロバイダ10’は、ステップS112での要求に応答して、ステップS113で、特定の医薬品の購入可能性が高い薬局の情報を医薬品卸業者30に提供する。例えば、サービスプロバイダ10’は、医薬品卸業者30によって指定された範囲内の薬局のうち、特定の医薬品の購入可能性が高い薬局の情報を提供するようにしてもよい。
特定の医薬品の購入可能性が高い薬局の情報は、例えば、最も購入可能性が高い薬局の名称で表されてもよいし、購入可能性が所定の閾値(例えば50〜80%、例えば、60%、70%、80%等)を超える可能性を有する薬局の名称で表されてもよい。特定の医薬品の購入可能性が高い薬局の情報は、例えば、医薬品卸業者30によって指定された範囲内の薬局の全てについて、0%〜100%の購入確率で表されてもよい。
サービスプロバイダ10’から提供された購入可能性の情報により、医薬品卸業者30は、複数の薬局のうち、どの薬局が特定の医薬品を買ってくれそうかを知ることができる。
例えば、購入可能性の情報が、特定の医薬品(例えば、使用期限が迫っている医薬品)について、薬局20Aが最も購入可能性が高いことを示す場合、ステップS114で、医薬品卸業者30は、薬局20Aに対して、その医薬品のセールス活動を行うことができる。医薬品卸業者30は、例えば、薬局20Aを訪問してセールス活動をしてもよいし、電話によってセールス活動をしてもよいし、ダイレクトメールによってセールス活動をしてもよい。このとき、医薬品卸業者30は、使用期限までの日数に応じて、適宜販売価格を値引きすることが好ましい。
ステップS115で、薬局20Aが特定の医薬品の販売価格および使用期限の切迫状況を受け入れると、医薬品卸業者30から薬局20Aにその医薬品が販売される。
このようにして、医薬品卸業者30は、使用期限が切迫している医薬品について、その医薬品の購入確率が高い薬局に対してセールス活動することができ、使用期限が切迫している医薬品が売れる可能性を高めることができる。これにより、使用期限が切迫している医薬品すらも流通するようになり、医薬品の効率的な流通が促進される。
上述した医薬品の流通を支援するための新たなサービスは、例えば、以下に説明する医薬品の流通を支援するためのシステムによって実現され得る。
2.医薬品の流通を支援するためのシステムの構成
図2は、医薬品の流通を支援するためのシステム100の構成の一例を示す。
システム100は、データベース部200に接続されている。また、システム100は、少なくとも1つの薬局端末装置300と、少なくとも1つの医薬品卸業者端末装置400とにネットワーク500を介して接続されている。
ネットワーク500は、任意の種類のネットワークであり得る。ネットワーク500は、例えば、インターネットであってもよいし、LANであってもよい。ネットワーク500は、有線ネットワークであってもよいし、無線ネットワークであってもよい。
システム100の一例は、図1Aおよび図1Dに示されるサービスプロバイダ10または10’に設置されているコンピュータ(例えば、サーバ装置)であるが、これに限定されない。薬局端末装置300の一例は、図1Aおよび図1Dに示される薬局20に設置されているコンピュータ(例えば、端末装置)であるが、これに限定されない。医薬品卸業者端末装置400の一例は、図1Dに示される医薬品卸業者30に設置されているコンピュータ(例えば、端末装置)であるが、これに限定されない。ここで、コンピュータ(サーバ装置または端末装置)は、任意のタイプのコンピュータであり得る。例えば、端末装置は、スマートフォン、タブレット、パーソナルコンピュータ、スマートグラス等の任意のタイプの端末装置であり得る。
システム100は、例えば、薬局における医薬品の在庫量または在庫レベルを予測するための機能、および/または、医薬品を購入する可能性の高い薬局を予測するため機能を有する。これらの機能のための構成は後述する。
システム100は、さらに、薬局間で医薬品の売買を行わせるための機能を有してもよい。システム100は、薬局間で医薬品の売買を行わせるための機能のために、公知の任意の構成を有することができる。例えば、システム100は、いわゆるネットショッピングを可能にする公知の任意の構成を有することができ、医薬品のネットショッピングを可能にすることができる。例えば、システム100は、いわゆるネットオークションを可能にする公知の任意の構成を有することができ、医薬品のネットオークションを可能にすることができる。システム100は、薬局間での医薬品の売買で得られた取引データをデータベース部200に格納することができる。
データベース部200には、例えば、薬局端末装置300から送信された薬局に関する情報が格納され得る。また、データベース部200には、例えば、薬局間での医薬品の売買で得られた取引データが格納され得る。
図2に示される例では、データベース部200は、システム100の外部に設けられているが、本発明はこれに限定されない。データベース部200をシステム100の内部に設けることも可能である。このとき、データベース部200は、システム100のメモリ部を実装する記憶手段と同一の記憶手段によって実装されてもよいし、システム100のメモリ部を実装する記憶手段とは別の記憶手段によって実装されてもよい。いずれにせよ、データベース部200は、システム100のための格納部として構成される。データベース部200の構成は、特定のハードウェア構成に限定されない。例えば、データベース部200は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部200は、システム100の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。
図3は、薬局における医薬品の在庫量または在庫レベルを予測するための機能、および/または、医薬品を購入する可能性の高い薬局を予測するため機能を達成するためのシステム100の構成の一例を示す。
システム100は、受信手段110と、プロセッサ部120と、送信手段130と、メモリ部140とを備えている。
受信手段110は、システム100の外部からデータを受信することが可能であるように構成されている。受信手段110は、例えば、薬局端末装置300または医薬品卸業者端末装置400からネットワーク500を介してデータを受信してもよいし、システム100に接続された記憶媒体(例えば、USBメモリ、光ディスク等)またはデータベース部200からデータを受信してもよい。受信手段110によって受信されたデータは、後続処理のためにプロセッサ部120に渡される。
受信手段110は、例えば、データベース部200に格納されている薬局に関する情報を受信する。薬局に関する情報は、例えば、レセプトのデータを含む。薬局に関する情報は、例えば、薬局間で行われた医薬品の取引に関するデータも含む。薬局に関する情報は、例えば、薬局の連絡先情報も含み得る。
受信手段110は、例えば、特定の医薬品の在庫情報のリクエストを薬局端末装置300からネットワーク500を介して受信するようにしてもよい。受信手段110は、例えば、特定の医薬品の購入可能性の情報のリクエストを医薬品卸業者端末装置400からネットワーク500を介して受信するようにしてもよい。
プロセッサ部120は、システム100全体の動作を制御する。プロセッサ120は、メモリ部140に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、システム100を所望のステップを実行する装置として機能させることが可能である。プロセッサ部120は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。プロセッサ部120によって処理されたデータは、送信手段130に渡される。
プロセッサ部120は、予測手段121を少なくとも備える。
予測手段121は、例えば、受信手段110が受信した薬局に関する情報に基づいて、予測するように構成されている。
例えば、予測手段121は、受信手段110が受信した薬局に関する情報に基づいて薬局における医薬品の在庫量または在庫レベルを予測するように構成され得る。
一実施形態において、予測手段121は、例えば、機械学習によって薬局における医薬品の在庫量または在庫レベルを予測することができる。予測手段121は、例えば、サポートベクターマシン(SVM)を利用した機械学習によって薬局における医薬品の在庫量または在庫レベルを予測するようにしてもよい。サポートベクターマシンは、受信手段110が受信したデータを使用して予め学習処理がなされた学習済みモデルを利用する。
予測手段121は、例えば、ニューラルネットワークを利用した機械学習によって薬局における医薬品の在庫量または在庫レベルを予測するようにしてもよい。
図4は、予測手段121が利用し得るニューラルネットワーク1210の構造の一例を示す。
ニューラルネットワーク1210は、入力層と、少なくとも1つの隠れ層と、出力層とを有する。ニューラルネットワーク1210の入力層のノード数は、入力されるデータの次元数に対応する。ニューラルネットワーク1210の出力層のノード数は、出力されるデータの次元数に対応する。ここでは、出力されるデータは、医薬品の在庫量であるかまたは医薬品の在庫レベルであるため、出力層のノード数は1である。ニューラルネットワーク300の隠れ層は、任意の数のノードを含むことができる。
ニューラルネットワーク1210は、受信手段110が受信したデータを使用して予め学習処理がなされ得る。学習処理は、受信手段110が受信したデータを使用して、ニューラルネットワーク1210の隠れ層の各ノードの重み係数を計算する処理である。学習処理では、例えば、所定期間内の薬局に関する情報(例えば、特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「価格」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」)を入力用教師データとし、その所定期間後の在庫量または在庫レベルを出力用教師データとして、複数の所定期間のデータを使用してニューラルネットワーク1210の隠れ層の各ノードの重み係数を計算する。特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「価格」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」は、例えば、レセプトのデータを集計して得られるデータであってもよいし、別のソースから得られるデータであってもよい。ここでいう「患者数」は、正確な値ではなく推定値であることが想定される。レセプトのデータでは、個人情報がハッシュ化または削除されており、正確な患者数を導出できないからである。例えば、同姓同名で、同一生年月日の二人の患者の情報は同様の態様でハッシュ化されるため、レセプトのデータを集計して得られるデータでは、一人の患者として扱われ得る。
例えば、出力用教師データは、或る閾値を基準として、実際の在庫量または在庫レベルが閾値より多ければ「1」とし、閾値以下であれば「0」とすることができる。これにより、学習済のニューラルネットワーク1210は、0〜1の値を出力するようになる。出力された0〜1の値は、在庫レベルを表し得る。ここで、或る閾値は、医薬品ごとに適宜定められ得る値である。
例えば、出力用教師データは、実際の在庫量を表す数値とすることができる。これにより、学習済のニューラルネットワーク1210は、数値で出力するようになる。出力された数値は、在庫量を表し得る。
例えば、所定期間を1月とすると、(入力用教師データ,出力用教師データ)の組は、(過去1月間の薬局に関する情報,現在の在庫量または在庫レベル)、(過去1月〜過去2月間の薬局に関する情報,過去1月前の在庫量または在庫レベル)、(過去2月〜過去3月間の薬局に関する情報,過去2月前の在庫量または在庫レベル)・・・等であり得る。
このような学習済のニューラルネットワーク1210の入力層に、運用段階で得られた現在〜過去1月間の薬局に関する情報を入力すると、出力層に現在の在庫量または在庫レベルが出力され得る。
例えば、特定の医薬品の「最終調剤日」を入力データに用いることにより、その医薬品を最近調剤したか否か等を考慮して在庫量または在庫レベルを予測するようになる。これは、薬剤師が経験上行っている在庫管理に通じており、高精度の予測につながる。例えば、特定の医薬品の「最終調剤日」に加えて、特定の医薬品の「調剤回数」も入力データに用いることにより、その医薬品の調剤頻度等を考慮して在庫量または在庫レベルを予測するようになる。これも、薬剤師が経験上行っている在庫管理に通じており、高精度の予測につながる。例えば、特定の医薬品の「最終調剤日」および「調剤回数」に加えて、特定の医薬品を調剤された「患者数」もさらに入力データに用いることによって、多くの患者が必要としている医薬品であるか否か等を考慮した予測をすることができるようになる。これも、薬剤師が経験上行っている在庫管理に通じており、高精度の予測につながる。
上述した例では所定期間を1月としたが、特定の期間は、例えば、1週間、1月、3月、6月、1年等の任意の期間であり得る。
学習に用いられる薬局に関する情報をシステム100が受信するタイミングは問わない。例えば、システム100は、定期的(例えば、上記所定期間毎)に薬局に関する情報を薬局端末装置300から受信するようにしてもよいし、不定期に(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき)に薬局に関する情報を薬局端末装置300から受信するようにしてもよい。例えば、システム100は、一度学習処理が完了した後は、学習に用いられる薬局に関する情報を受信しないようにしてもよいし、学習済モデルの更新のために、学習に用いられる薬局に関する情報を受信するようにしてもよい。
別の実施形態において、予測手段121は、例えば、統計分析、例えば、回帰分析によって医薬品の在庫量または在庫レベルを予測することができる。回帰分析は、例えば、単回帰分析である。例えば、過去の在庫量の推移に基づいて、単回帰分析を行って回帰式を求めることにより、医薬品の在庫量を予測することができ、あるいは、過去の在庫レベルの推移に基づいて、単回帰分析を行って回帰式を求めることにより、医薬品の在庫レベルを予測することができる。回帰分析は、例えば、重回帰分析であり得る。単回帰分析よりも、重回帰分析の方が高精度で医薬品の在庫量または在庫レベルを予測することができる点で好ましい。例えば、過去の在庫量または在庫レベルの推移に加えて、薬局に関する情報(例えば、特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「価格」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」)に基づいて、重回帰分析を行って回帰式を求めることにより、医薬品の在庫量または在庫レベルを予測することができる。
予測手段121は、上述した例で挙げられた薬局に関する情報の他に、薬局に関する他の任意の情報を用いて学習処理をなされることができる。薬局に関する他の任意の情報は、例えば、データベース部200に格納されている情報であってもよいし、薬局端末装置300から受信される情報であってもよい。
プロセッサ部120は、例えば、予測手段121によって予測された医薬品の在庫量を、ユーザが容易に認識可能な情報(例えば、在庫レベル)に変換する処理をさらに行うようにしてもよい。例えば、プロセッサ部120は、予測手段121によって予測された医薬品の在庫量を、「○」(在庫を有している)、「△」(在庫があまりない)、「×」(在庫がない)のいずれかに変換することができる。このとき、プロセッサ部120は、例えば、0≦予測された医薬品の在庫量<0.3の場合に「×」に変換し、0.3≦予測された医薬品の在庫量<0.7の場合に「△」に変換し、0.7≦予測された医薬品の在庫量≦1の場合に「○」に変換する。なお、これらの数値および記号は一例であり、任意の数値および記号を用いることができる。
プロセッサ部120は、例えば、予測手段121によって予測された医薬品の在庫レベルを、ユーザが容易に認識可能な情報(例えば、在庫量)に変換する処理をさらに行うようにしてもよい。例えば、プロセッサ部120は、予測手段121によって予測された医薬品の在庫レベルに所定の係数を乗じて、在庫量を算出することができる。例えば、所定の係数は、その薬局のその医薬品の最大在庫量であり、プロセッサ部120は、予測された医薬品の在庫レベルに最大在庫量を乗じることにより、在庫量を算出することができる。
プロセッサ部120は、例えば、予測手段121によって予測された医薬品の在庫量または在庫レベルに基づいて、複数の薬局のうち、在庫を有している少なくとも1つの薬局を決定する処理を行うようにしてもよい。例えば、プロセッサ部120は、予測手段121からの出力が所定の閾値を超える少なくとも1つの薬局を、在庫を有している薬局として決定することができる。このとき、所定の閾値は、固定値であってもよいし、変動値であってもよい。変動値である場合には、例えば、医薬品ごとに変動する値であり得る。
予測手段121は、例えば、受信手段110が受信した薬局に関する情報に基づいて薬局における医薬品の在庫量または在庫レベルを予測することに加えて、または、受信手段110が受信した薬局に関する情報に基づいて薬局における医薬品の在庫量または在庫レベルを予測することに代えて、受信手段110が受信した薬局に関する情報に基づいて薬局が特定の医薬品を購入する確率を予測するように構成され得る。
一実施形態において、予測手段121は、例えば、機械学習によって医薬品の購入確率を予測することができる。予測手段121は、例えば、サポートベクターマシン(SVM)を利用した機械学習によって医薬品の購入確率を予測するようにしてもよい。サポートベクターマシンは、受信手段110が受信したデータを使用して予め学習処理がなされた学習済みモデルを利用する。
予測手段121は、例えば、ニューラルネットワークを利用した機械学習によって医薬品の購入確率を予測するようにしてもよい。例えば、予測手段121は、図4に示されるニューラルネットワーク1210と同様の構造を有するニューラルネットワークを利用し得る。
学習処理では、例えば、所定期間内の薬局に関する情報(例えば、特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」、特定の医薬品の「価格情報」、特定の医薬品の「有効期限からの残日数」、特定の医薬品の「状態」)を入力用教師データとし、その所定期間内にその薬局がその医薬品を購入したか否かを出力用教師データとして、複数の所定期間のデータを使用してニューラルネットワークの隠れ層の各ノードの重み係数を計算する。特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」は、例えば、レセプトのデータを集計して得られるデータであってもよいし、別のソースから得られるデータであってもよい。ここでいう「患者数」は、正確な値ではなく推定値であることが想定される。レセプトのデータでは、個人情報がハッシュ化または削除されており、正確な患者数を導出できないからである。特定の医薬品の「価格情報」、特定の医薬品の「有効期限からの残日数」、特定の医薬品の「状態」は、例えば、薬局間で行われた医薬品の取引に関するデータを集計して得られるデータであってもよいし、別のソースから得られるデータであってもよい。ここでいう医薬品の「価格情報」は、医薬品の価格に関する情報であり得、例えば、医薬品の価格(例えば、卸値)、医薬品の価格に対する値引き額、医薬品の価格に対する値引き率のうちの少なくとも1つを含み得る。
出力用教師データは、所定期間内に、その薬局がその医薬品を購入した場合に「1」とし、購入しなかった場合に「0」とすることができる。これにより、学習済のニューラルネットワークは、0〜1の値を出力するようになる。薬局が医薬品を購入したか否かは、例えば、薬局間で行われた医薬品の取引に関するデータから判定することができる。例えば、薬局間で行われた医薬品の取引に関するデータは、取引が成立したときに生成される、医薬品を購入した薬局名を示すデータを含むことができ、このデータを参照することにより、薬局が医薬品を購入したか否かを判定することができる。
例えば、所定期間を1月とすると、(入力用教師データ,出力用教師データ)の組は、(過去1月間の薬局に関する情報,過去1月間内にその薬局が特定の医薬品を購入したか否か)、(過去1月〜過去2月間の薬局に関する情報,過去1月〜過去2月間内にその薬局が特定の医薬品を購入したか否か)、(過去2月〜過去3月間の薬局に関する情報,過去1月〜過去2月間内にその薬局が特定の医薬品を購入したか否か)・・・等であり得る。
このような学習済のニューラルネットワークの入力層に、運用段階で得られた現在〜過去1月間の薬局に関する情報を入力すると、出力層に現在の薬局が医薬品を購入する確率が出力され得る。
例えば、特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、および特定の医薬品の「価格情報」を入力データに用いることにより、その医薬品が回転率の良い医薬品であるか否か、その医薬品の価格は安いのか否か等を考慮して医薬品の購入確率を予測するようになる。これは、医薬品卸業者および薬剤師が経験上行っている医薬品取引に通じており、高精度の予測につながる。例えば、上記に加えて、特定の医薬品を調剤された「患者数」もさらに入力データに用いることによって、多くの患者が必要としている医薬品であるか否か、すなわち、その医薬品が回転率の良い医薬品であるか否か等を考慮した予測をすることができるようになる。例えば、上記に加えて、特定の医薬品の「有効期限からの残日数」も入力データに用いることにより、その医薬品が期間切迫品であるか否か等を考慮して医薬品の購入確率を予測するようになる。これにより、期間切迫品であっても購入してくれそうな薬局を予測することが可能になる。
上述した例では所定期間を1月としたが、特定の期間は、例えば、1週間、1月、3月、6月、1年等の任意の期間であり得る。
学習に用いられる薬局に関する情報をシステム100が受信するタイミングは問わない。例えば、システム100は、定期的(例えば、上記所定期間毎)に薬局に関する情報を薬局端末装置300から受信するようにしてもよいし、不定期に(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき、薬局から医薬品の販売の申出があったとき、薬局間で医薬品の取引が行われたとき等)に薬局に関する情報を薬局端末装置300から受信するようにしてもよい。例えば、システム100は、一度学習処理が完了した後は、学習に用いられる薬局に関する情報を受信しないようにしてもよいし、学習済モデルの更新のために、学習に用いられる薬局に関する情報を受信するようにしてもよい。
別の実施形態において、予測手段121は、例えば、統計分析、例えば、回帰分析によって医薬品の購入確率を予測することができる。回帰分析は、例えば、単回帰分析である。例えば、過去の医薬品の価格の推移に基づいて、単回帰分析を行って回帰式を求めることにより、医薬品の購入確率を予測することができる。回帰分析は、例えば、重回帰分析であり得る。単回帰分析よりも、重回帰分析の方が高精度で医薬品の購入確率を予測することができる点で好ましい。例えば、過去の医薬品の価格の推移に加えて、薬局に関する情報(例えば、特定の医薬品の「最終調剤日」、特定の医薬品の「調剤回数」、特定の医薬品を調剤された「患者数」、特定の医薬品の「薬価収集医薬品コードの薬効分類番号」、特定の医薬品の「価格情報」、特定の医薬品の「有効期限からの残日数」、特定の医薬品の「状態」)に基づいて、重回帰分析を行って回帰式を求めることにより、医薬品の購入確率を予測することができる。
予測手段121は、上述した例で挙げられた薬局に関する情報の他に、薬局に関する他の任意の情報を用いて学習処理をなされることができる。薬局に関する他の任意の情報は、例えば、データベース部200に格納されている情報であってもよいし、薬局端末装置300および/または医薬品卸業者端末装置400から受信される情報であってもよい。
プロセッサ部120は、例えば、予測手段121によって予測された医薬品の購入確率に基づいて、複数の薬局のうち、購入確率が最も高い薬局を決定する処理をさらに行うようにしてもよい。あるいは、プロセッサ部120は、例えば、予測手段121によって予測された医薬品の購入確率に基づいて、複数の薬局のうち、購入確率が所定の閾値を超える少なくとも1つの薬局を決定する処理をさらに行うようにしてもよい。このとき、所定の閾値は、固定値であってもよいし、変動値であってもよい。変動値である場合には、例えば、医薬品ごとに変動する値であり得る。
再び図3を参照して、出力手段130は、システム100の外部にデータを出力することが可能であるように構成されている。出力手段130がどのような態様でシステム100から情報を出力することを可能にするかは問わない。例えば、出力手段130がデータ書き込み装置である場合、システム100に接続された記憶媒体またはデータベース部200に情報を書き込むことによって情報を出力するようにしてもよい。あるいは、出力手段130が送信器である場合、送信器がネットワーク500を介してシステム100の外部に(例えば、薬局端末装置300および/または医薬品卸業者端末装置400に)情報を送信することにより出力してもよい。出力手段130は、ローカルに情報を出力してもよく、例えば、出力手段130が表示画面である場合、表示画面に情報を出力するようにしてもよいし、出力手段130がスピーカである場合には、スピーカからの音声によって情報を出力するようにしてもよい。
出力手段130は、例えば、プロセッサ部120の予測手段121によって予測された薬局における医薬品の在庫量または在庫レベルを示す情報を出力し得る。出力手段130は、例えば、予測手段121からの出力、例えば、0〜1の値または他の数値をそのまま出力するようにしてもよいし、プロセッサ部120がユーザが容易に認識可能な情報(例えば、在庫レベル)に変換したものを出力するようにしてもよい。出力手段130は、例えば、薬局における医薬品の在庫レベルを示す情報を「○」(在庫を有している)、「△」(在庫があまりない)、「×」(在庫がない)のいずれかで出力することができる。出力手段130は、例えば、複数の薬局のうち、在庫を有していると決定された薬局情報(例えば、薬局名)を出力するようにしてもよい。例えば、上述した例で「○」または「△」を示す薬局の情報を出力するようにしてもよいし、医薬品の在庫レベルが「○」を示す薬局の情報のみを出力するようにしてもよい。
出力手段130が予測手段121からの出力をそのまま出力する場合には、出力を受信した装置、例えば、薬局端末装置300がユーザが容易に認識可能な情報に変換するようにしてもよい。
出力手段130は、例えば、プロセッサ部120の予測手段121によって予測された医薬品の購入確率に基づいて決定された、医薬品の購入確率が高い薬局を示す情報を出力し得る。出力手段130は、例えば、複数の薬局のうち購入確率が最も高い薬局の情報(例えば、薬局名)を出力するようにしてもよい。あるいは、出力手段130は、例えば、複数の薬局のうち購入確率が所定の閾値を超える少なくとも1つの薬局の情報(例えば、薬局名)を出力するようにしてもよい。
出力手段130は、例えば、プロセッサ部120の予測手段121によって予測された医薬品の購入確率をそのまま出力するようにしてもよい。この場合、出力を受信した装置、例えば、医薬品卸業者端末装置400が医薬品の購入確率が高い薬局を決定することができる。
メモリ部140には、システム100における処理を実行するためのプログラムやそのプログラムの実行に必要とされるデータ等が格納されている。メモリ部140には、例えば、薬局における医薬品の在庫量または在庫レベルを予測するための処理のためのプログラム(例えば、後述する図6に示される処理を実現するプログラム)および/または複数の薬局のうち、医薬品を購入する可能性の高い薬局を予測するための処理のためのプログラム(例えば、後述する図7に示される処理を実現するプログラム)が格納されている。メモリ部140には、任意の機能を実装するアプリケーションが格納されていてもよい。例えば、薬局間で医薬品の売買を行わせるための機能のためのプログラムが格納され得る。例えば、データベース部に格納されたデータを集計して薬局に関する情報を取得するためのプログラムが格納され得る。例えば、受信した薬局に関する情報に基づいて、学習済モデルを構築するためのプログラムが格納され得る。ここで、プログラムをどのようにしてメモリ部140に格納するかは問わない。例えば、プログラムは、メモリ部140にプリインストールされていてもよい。あるいは、プログラムは、ネットワーク500を経由してダウンロードされることによってメモリ部140にインストールされるようにしてもよい。メモリ部140は、任意の記憶手段によって実装され得る。
図3に示される例では、システム100の各構成要素がシステム100内に設けられているが、本発明はこれに限定されない。システム100の各構成要素のいずれかがシステム100の外部または遠隔に設けられることも可能である。例えば、プロセッサ部120、メモリ部140のそれぞれが別々のハードウェア部品で構成されている場合には、各ハードウェア部品が任意のネットワークを介して接続されてもよい。このとき、ネットワークの種類は問わない。各ハードウェア部品は、例えば、LANを介して接続されてもよいし、無線接続されてもよいし、有線接続されてもよい。システム100は、特定のハードウェア構成には限定されない。例えば、プロセッサ部120をデジタル回路ではなくアナログ回路によって構成することも本発明の範囲内である。システム100の構成は、その機能を実現できる限りにおいて上述したものに限定されない。
上述した例では、プロセッサ120の予測手段121が、薬局における医薬品の在庫量または在庫レベルを予測するように構成されることに加えて、またはこれに代えて、受信手段110が受信した薬局に関する情報に基づいて薬局が特定の医薬品を購入する確率を予測するように構成されることを説明したが、本発明はこれに限定されない。薬局における医薬品の在庫量または在庫レベルを予測するための構成および薬局が特定の医薬品を購入する確率を予測する構成が、複数のプロセッサ部に分散される構成も本発明の範囲内である。このとき複数のプロセッサ部は、同一場所に存在する必要はなく、相互に遠隔に存在し得る。
図5Aは、データベース部200に格納されている薬局に関する情報の構成一例を示す。図5Aでは、薬局端末装置300から受信されるレセプトのデータから、レセプト毎に生成されるデータ510の一例を示す。
システム100は、薬局端末装置300からレセプトのデータを受信する度に、そのレセプト毎にIDを付与してデータ510を生成する。生成されたデータ510は、データベース部200に送られ、レセプト毎に格納される。各データ510は、created_at、amount、days、dosage、dispensing_date、fake_pt、medicine_code等の項目を有する。amountは、処方された医薬品の量を示し、daysにdosageを乗じた数である。daysは、処方日数を示している。dosageは、1日服用量を示している。dispensing_dateは、調剤日を示し、患者に医薬品が渡された日を表している。fake_ptは、患者の氏名の一部、性別、生年月日をハッシュ化することによって生成されたハッシュ値を示す。medicine_codeは、レセプト電算処理システム用コードであり、医薬品の種類を示す。
図5Bは、データベース部200に格納されている薬局に関する情報の構成一例を示す。図5Bでは、データ510から、薬局毎かつ医薬品毎に生成されるデータ520の一例を示す。
データ510が生成されると、システム100は、薬局毎かつ医薬品毎にデータ520を生成し、または、データ520を更新する。生成または更新されたデータ520は、データベース部200に送られ、薬局毎かつ医薬品毎に格納される。各データ520は、medicine_code、pharmacy_id、dispensing_date、fake_pt、recept_rx_key、status等の項目を有する。medicine_codeは、レセプト電算処理システム用コードであり、医薬品の種類を示す。pharmacy_idは、薬局毎に割り当てられたIDを示す。dispensing_dateは、患者に医薬品が渡された日のリストを示す。fake_ptは、患者の氏名の一部、性別、生年月日をハッシュ化することによって生成されたハッシュ値のリストを示す。recept_rx_keyは、データ520が基づいたデータ510のIDのリストを示す。ここでは、例えば、ID:02bd0c09e-42c5-610463198のデータ520が、ID:1a2b3c4のデータ510、ID:3ss45s1のデータ510、ID:6rt98j3のデータ510・・・に基づいて生成/更新されたことを示している。statusは、医薬品の在庫状態を示し、例えば、IN_USE(回転在庫)、RESERVED(不動在庫)、NO_STOCK(在庫なし)のいずれかの状態を示し得る。
図5Cは,データベース部200に格納されている薬局に関する情報の構成一例を示す。図5Cでは、薬局間で行われる医薬品の取引において生成されるデータであって、販売に出された医薬品毎に生成されるデータ530の一例を示す。
薬局端末装置300から医薬品の販売の申出があると、システム100は、その医薬品の取引についてのデータ530を医薬品毎に生成する。生成されたデータ530は、データベース部200に送られ、医薬品毎に格納される。データ530は、取引の状況に応じて更新され得る。各データ520は、created_at、medicine_code、medicine_price、discount_price、discount_rate、expiration_date、condition、status、buyer_pharmacy_id等の項目を有する。created_atは、医薬品が販売に出された日時を示す。medicine_codeは、レセプト電算処理システム用コードであり、医薬品の種類を示す。medicine_priceは、販売に出された価格を示す。これは、例えば、薬価(例えば、医薬品卸業者から提供される卸値)と、discount_priceの分だけ異なり得る。discount_priceは、薬価(例えば、卸値)に対する値下げ額を示す。discount_rateは、薬価(例えば、卸値)に対する値下げ率(%)を示す。expiration_dateは、医薬品の使用期限月の初日を示す。conditionは、医薬品の状態を示し、例えば、USED(パッケージ開封済)およびNEW(新品)のいずれかの状態を示し得る。statusは、取引の状態を示し、例えば、OPEN(販売中)、DEALING(購入手続中)、CLOSE(取引終了)、CANCEL(取り消し)のいずれかの状態を示し得る。buyer_pharmacy_idは、取引において医薬品を購入した薬局のIDを示す。まだ購入されていないときはnullが格納される。buyer_pharmacy_idの値を参照することによって、その医薬品が取引において購入されたか否かを判断することができる。buyer_pharmacy_idの値は、医薬品の購入確率を予測するためのモデルに学習処理を施すときの出力用教師データのために利用され得る。
上述したデータの例は一例であり、データベース部200は、他の任意のデータを格納し得る。
3.医薬品の流通を支援するためのシステムの処理
図6は、医薬品の流通を支援するためのシステム100における処理の一例を示す。図6に示される例では、薬局における医薬品の在庫量または在庫レベルを予測するための処理600を説明する。
ステップS601では、システム100の受信手段110が、薬局に関する情報を受信する。薬局に関する情報は、例えば、データベース部200に格納されており、受信手段110は、データベース部200から薬局に関する情報を受信する。薬局に関する情報は、例えば、ネットワーク500を介してシステム100の外部から受信されるようにしてもよい。
受信手段110は、受信した薬局に関する情報をプロセッサ部120に渡し、プロセッサ部120は、薬局に関する情報を受信する。
薬局に関する情報は、例えば、特定の医薬品について、最終調剤日、調剤回数、患者数、価格、薬価収集医薬品コードの薬効分類番号を含み得るが、これらに限定されない。
薬局に関する情報は、例えば、データベース部200に格納されているデータ520を集計して算出されるデータであってもよい。例えば、最終調剤日は、dispensing_dateの項目内の最新の日時から算出され得る。例えば、調剤回数は、recept_rx_keyの項目内のIDの数を数えることによって算出され得る。例えば、患者数は、fake_ptの項目内のハッシュ値の数を数えることによって算出され得る。
薬局に関する情報を算出する処理は、例えば、システム100のプロセッサ120によって行われてもよいし、プロセッサ120とは別個のプロセッサによって行われてもよいし、システム100の外部で行われてもよい。システム100のプロセッサ120または別個のプロセッサによって行われる場合、例えば、受信手段110が受信したレセプトのデータから薬局に関する情報が算出される。
プロセッサ部120が薬局に関する情報を受信すると、ステップS602では、プロセッサ部120の予測手段121の予測手段121が、薬局に関する情報に基づいて、薬局における医薬品の在庫量または在庫レベルを予測する。
予測手段121は、例えば、機械学習によって薬局における医薬品の在庫量または在庫レベルを予測する。利用される学習済モデルは、薬局に関する情報に基づいて学習処理がなされたモデルであり得る。学習済モデルは、複数の薬局のそれぞれに対して個別に構築された専用学習済モデルであってもよいし、複数の薬局全体のために構築された汎用学習済モデルであってもよい。専用学習済モデルは、その薬局に関する情報に基づいて学習処理を施されているので、その薬局に特化した予測をすることができ、精度が、汎用学習済モデルより高いが、コストも汎用学習済モデルより高い。
機械学習は、例えば、サポートベクターマシン(SVM)を利用した機械学習であってもよいし、ニューラルネットワークを利用した機械学習であってもよい。例えば、ニューラルネットワークを利用する場合、薬局に関する情報を学習済のニューラルネットワークの入力層に入力すると、医薬品の在庫量または在庫レベルが出力層に出力され得る。
予測手段121は、例えば、機械学習に代えて、任意の統計分析、例えば、回帰分析によって薬局における医薬品の在庫量または在庫レベルを予測することができる。
医薬品の在庫量または在庫レベルが予測されると、プロセッサ部120は、医薬品の在庫量または在庫レベルを示す情報を出力手段140に渡し、ステップS603では、出力手段140が医薬品の在庫量または在庫レベルを示す情報を出力する。
プロセッサ部120は、予測手段121によって予測された医薬品の在庫量を、ユーザが容易に認識可能な情報(例えば、在庫レベル)に変換する処理を行ったうえで、ユーザ
が容易に認識可能な情報を出力手段140に渡すようにしてもよいし、プロセッサ部120は、予測手段121によって予測された医薬品の在庫レベルを、ユーザが容易に認識可能な情報(例えば、在庫量)に変換する処理を行ったうえで、ユーザが容易に認識可能な
情報を出力手段140に渡すようにしてもよい。ユーザが容易に認識可能な情報は、例えば、○△×等の段階的な指標であってもよいし、絶対在庫量を示す数値であってもよいし、在庫を有している薬局の情報(例えば、薬局名)であってもよい。
複数の薬局のそれぞれについて、ステップS601〜ステップS603を繰り返すことにより、複数の薬局のそれぞれについての在庫量または在庫レベルを示す情報を出力することができる。これにより、複数の薬局の在庫量または在庫レベルを相互に比較することができるようになる。
ステップS601〜ステップS603では、薬局に関する情報は、医薬品の入荷に関する情報を含む必要がない。従って、薬局では、例えば、レセプトのデータを管理しさえすれば医薬品の入荷に関する情報を管理する必要がなく、薬局での医薬品の在庫管理が単純化される。
ステップS601〜ステップS603を行った後に、上述した学習処理と同様の処理を行うことにより、上述した学習モデルを更新するようにしてもよい。これにより、学習モデルが薬局の状態の経時的変化に対応するように調節され、予測の精度を向上させることができる。
上述した処理600の各ステップS601〜ステップS603が行われるタイミングは問わない。例えば、薬局端末装置300から在庫情報のリクエストを受信したことに応答して、ステップS601〜ステップS603を行うようにすることができる。例えば、定期的(例えば、1時間、12時間、1日、1週間、1月、3月、6月、1年等)または不定期(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき)にステップS601が行われることにより、システム100の受信手段110が薬局に関する情報を受信しておき、薬局端末装置300から在庫情報のリクエストを受信したことに応答して、そのときに受信してある薬局に関する情報を用いて、ステップS602およびステップS603を行うようにすることができる。例えば、定期的(例えば、1時間、12時間、1日、1週間、1月、3月、6月、1年等)または不定期(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき)にステップS601〜ステップS602が行われることにより、システム100の予測手段121が医薬品の在庫量または在庫レベルを予測しておき、薬局端末装置300から在庫情報のリクエストを受信したことに応答して、そのときに予測してある医薬品の在庫量または在庫レベルを示す情報を出力するように、ステップS603を行うようにすることができる。
図7は、医薬品の流通を支援するためのシステム100における処理の一例を示す。図7に示される例では、複数の薬局のうち、医薬品を購入する可能性の高い薬局を予測するための処理700を説明する。
ステップS701では、システム100の受信手段110が、薬局に関する情報を受信する。薬局に関する情報は、例えば、データベース部200に格納されており、受信手段110は、データベース部200から薬局に関する情報を受信する。薬局に関する情報は、例えば、ネットワーク500を介してシステム100の外部から受信されるようにしてもよい。
受信手段110は、受信した薬局に関する情報をプロセッサ部120に渡し、プロセッサ部120は、薬局に関する情報を受信する。
薬局に関する情報は、例えば、特定の医薬品について、最終調剤日、調剤回数、患者数、価格情報(例えば、価格、価格に対する値引き額、価格に対する値引き率)、有効期限からの残日数、状態、薬価収集医薬品コードの薬効分類番号を含み得るが、これらに限定されない。
薬局に関する情報は、例えば、データベース部200に格納されているデータ520を集計して算出されるデータであってもよい。例えば、最終調剤日は、dispensing_dateの項目内の最新の日時から決定され得る。例えば、調剤回数は、recept_rx_keyの項目内のIDの数を数えることによって決定され得る。例えば、患者数は、fake_ptの項目内のハッシュ値の数を数えることによって決定され得る。
薬局に関する情報は、例えば、データベース部200に格納されているデータ530を集計して算出されるデータであってもよい。例えば、価格情報のうちの価格は、medicine_priceの項目の値にdiscount_priceの項目の値を加算することによって算出される。例えば、価格情報のうちの価格に対する値引き額は、discount_priceの項目の値から算出される。例えば、価格情報のうちの価格に対する値引き率は、discount_rateの項目の値から算出される。例えば、有効期限からの残日数は、expiration_dateの項目の日時と現在の日時との差分を取ることによって算出される。
薬局に関する情報を算出する処理は、例えば、システム100のプロセッサ120によって行われてもよいし、プロセッサ120とは別個のプロセッサによって行われてもよいし、システム100の外部で行われてもよい。システム100のプロセッサ120または別個のプロセッサによって行われる場合、例えば、受信手段110が受信したレセプトのデータおよび/または薬局間で行われた医薬品の取引に関するデータから薬局に関する情報が算出される。
プロセッサ部120が、複数の薬局のそれぞれについて薬局に関する情報を受信すると、ステップS702では、プロセッサ部120の予測手段121の予測手段121が、複数の薬局のそれぞれについて、薬局に関する情報に基づいて、薬局が医薬品を購入する確率を予測する。
予測手段121は、例えば、機械学習によって薬局が医薬品を購入する確率を予測する。利用される学習済モデルは、薬局に関する情報に基づいて学習処理がなされたモデルであり得る。学習済モデルは、複数の薬局のそれぞれに対して個別に構築された専用学習済モデルであってもよいし、複数の薬局全体のために構築された汎用学習済モデルであってもよい。専用学習済モデルは、その薬局に関する情報に基づいて学習処理を施されているので、その薬局に特化した予測をすることができ、精度が、汎用学習済モデルより高いが、コストも汎用学習済モデルより高い。
機械学習は、例えば、サポートベクターマシン(SVM)を利用した機械学習であってもよいし、ニューラルネットワークを利用した機械学習であってもよい。例えば、ニューラルネットワークを利用する場合、薬局に関する情報を学習済のニューラルネットワークの入力層に入力すると、薬局が医薬品を購入する確率が出力層に出力され得る。
予測手段121は、例えば、機械学習に代えて、任意の統計分析、例えば、回帰分析によって薬局が医薬品を購入する確率を予測することができる。
薬局が医薬品を購入する確率が予測されると、プロセッサ部120は、医薬品を購入する確率が高い薬局を示す情報を出力手段140に渡し、ステップS703では、出力手段140が医薬品を購入する確率が高い薬局を示す情報を出力する。
プロセッサ部120は、予測手段121によって予測された医薬品の購入確率に基づいて、複数の薬局のうち、購入確率が最も高い薬局を決定する処理を行ったうえで、医薬品を購入する確率が高い薬局を示す情報を出力手段140に渡すようにしてもよい。あるいは、プロセッサ部120は、例えば、予測手段121によって予測された医薬品の購入確率に基づいて、複数の薬局のうち、購入確率が所定の閾値を超える少なくとも1つの薬局を決定する処理を行ったうえで、医薬品を購入する確率が高い薬局を示す情報を出力手段140に渡すようにしてもよい。
出力手段140は、例えば、薬局端末装置300に医薬品の医薬品を購入する確率が高い薬局を示す情報を送信し、これにより、医薬品卸業者端末装置400の使用者は、複数の薬局のうち、どの薬局が医薬品を買ってくれそうかを把握することが可能になる。
ステップS701〜S703を行った後に、上述した学習処理と同様の処理を行うことにより、上述した学習モデルを更新するようにしてもよい。これにより、学習モデルが薬局の状態の経時的変化に対応するように調節され、予測の精度を向上させることができる。
上述した処理700の各ステップS701〜ステップS703が行われるタイミングは問わない。例えば、医薬品卸業者端末装置400から医薬品の購入可能性の情報のリクエストを受信したことに応答して、ステップS701〜ステップS703を行うようにすることができる。例えば、定期的(例えば、1時間、12時間、1日、1週間、1月、3月、6月、1年等)または不定期(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき、薬局から医薬品の販売の申出があったとき、薬局間で医薬品の取引が行われたとき等)にステップS701が行われることにより、システム100の受信手段110が薬局に関する情報を受信しておき、医薬品卸業者端末装置400から医薬品の購入可能性の情報のリクエストを受信したことに応答して、そのときに受信してある薬局に関する情報を用いて、ステップS702およびステップS703を行うようにすることができる。例えば、定期的(例えば、1時間、12時間、1日、1週間、1月、3月、6月、1年等)または不定期(例えば、薬局において医薬品が調剤され、レセプトのデータが薬局端末装置300に入力されたとき、薬局から医薬品の販売の申出があったとき、薬局間で医薬品の取引が行われたとき等)にステップS701〜ステップS702が行われることにより、システム100の予測手段121が医薬品の購入確率を予測しておき、医薬品卸業者端末装置400から医薬品の購入可能性の情報のリクエストを受信したことに応答して、そのときに予測してある医薬品の購入確率を示す情報を出力するように、ステップS703を行うようにすることができる。
図6、図7を参照して上述した例では、図6、図7に示される各ステップの処理は、プロセッサ部120とメモリ部140に格納されたプログラムとによって実現することが説明されたが、本発明はこれに限定されない。図6、図7に示される各ステップの処理のうちの少なくとも1つは、制御回路などのハードウェア構成によって実現されてもよい。
本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。