(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記ドアが開状態から閉状態となった場合に、前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すように前記第2リーダを制御し、前記第2リーダの読み出し結果に基づいて前記記憶部に記憶されているアイテム識別情報を更新する、
請求項1〜3のいずれかに記載された情報処理システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来のRFID技術を利用した保管庫において、1または複数の同一アイテムを含むアイテム容器(例えば、同一成分であって同量の錠剤を複数含む薬容器)を複数保管するときに、アイテム容器ごとに保管庫内のアイテムの在庫量を管理することができるようにしたものは知られていなかった。
【0005】
そこで、本発明の1つの観点は、1または複数の同一アイテムを含むアイテム容器を複数保管するときに、アイテム容器ごとに保管庫内のアイテムの在庫量を管理することができるようにすることにある。
【課題を解決するための手段】
【0006】
本発明の第1の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと、
第1タグと通信可能な保管庫と、を含む情報処理システムであって、
前記保管庫は、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
アイテムの使用量に関する使用量情報の入力を受け付ける入力部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器に含まれているアイテムの在庫量を、当該アイテム容器の入庫のときに前記入力部によって受け付けられた使用量情報に対応する使用量の分だけ低下させるようにして、前記記憶部に記憶されている在庫量の情報を更新する。
【0007】
本発明の第2の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと、
第1タグと通信可能な保管庫と、を含む情報処理システムであって、
前記保管庫は、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器に含まれているアイテムの在庫量を、当該アイテム容器の入庫のときに前記第1リーダによって読み出された使用量情報に対応する使用量の分だけ低下させるようにして、前記記憶部に記憶されている在庫量の情報を更新する。
【0008】
本発明の第3の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと、
第1タグと通信可能な保管庫と、を含む情報処理システムであって、
前記保管庫は、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体内においてアイテム容器を収容するために設けられ、アイテム容器ごとに割り当てられた1または複数の収容区画と、
収容区画ごとに設置され、収容区画に割り当てられているアイテム容器の重量を検出する重量センサと、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器が割り当てられた収容区画に設置されている重量センサの検出結果に基づいて、前記記憶部に記憶されている当該アイテム容器に含まれているアイテムの在庫量の情報を更新する。
【0009】
前記制御部は、前記ドアが開状態から閉状態となった場合に、前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すように前記第2リーダを制御し、前記第2リーダの読み出し結果に基づいて前記記憶部に記憶されているアイテム識別情報を更新してもよい。
【0010】
前記保管庫は、報知部をさらに備え、
前記制御部は、前記ドアが開状態から閉状態となった場合に、第2リーダの読み出し結果に基づいて、出庫されたアイテム容器に対応するアイテムのアイテム識別情報を特定し、特定したアイテム識別情報と、直前に前記第1リーダによって読み出されたアイテム識別情報とが一致するか否かを判定し、一致しないと判定した場合に報知を行うように前記報知部を制御してもよい。
【0011】
前記保管庫は、報知部をさらに備え、
前記制御部は、前記ドアが開状態から閉状態となった場合に、第2リーダの読み出し結果に基づいて、入庫されたアイテム容器に対応するアイテムのアイテム識別情報を特定し、特定したアイテム識別情報と、直前に前記第1リーダによって読み出されたアイテム識別情報とが一致するか否かを判定し、一致しないと判定した場合に報知を行うように前記報知部を制御してもよい。
【0012】
前記保管庫は、報知部をさらに備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、アイテムの在庫量の情報の更新による当該アイテムの在庫量の変化量が、直前に前記第1リーダによって読み出された使用量情報によって特定される使用量と一致するか否かを判定し、一致しないと判定した場合に報知を行うように前記報知部を制御してもよい。
【0013】
前記保管庫は、報知部をさらに備え、
前記第2タグは、取り付け対象のアイテム容器に含まれるアイテムの有効期限に関する情報を記憶し、
前記制御部は、前記ドアが開状態から閉状態となった場合に、第2リーダの読み出し結果に基づいて、入庫されたアイテム容器に含まれるアイテムの有効期限が切れている、または、当該アイテムの有効期限までの期間が所定期間内であると判断した場合に報知を行うように前記報知部を制御してもよい。
【0014】
前記情報処理システムは、前記保管庫のユーザを特定するユーザ識別情報が記録されたRFタグである第3タグをさらに含み、
前記保管庫は、
前記ドアを解錠または施錠するロック機構と、
前記第3タグに記録されたユーザ識別情報を読み出すための第3リーダと、をさらに備え、
前記制御部は、前記第3リーダによって読み出されたユーザ識別情報の認証が成功した場合に、前記ドアが解錠されるように前記ロック機構を制御してもよい。
【0015】
前記制御部は、前記ドアが開状態から閉状態となった場合に、前記ドアが施錠されるように前記ロック機構を制御してもよい。
【0016】
本発明の第4の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと通信可能な保管庫であって、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
アイテムの使用量に関する使用量情報の入力を受け付ける入力部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器に含まれているアイテムの在庫量を、当該アイテム容器の入庫のときに前記入力部によって受け付けられた使用量情報に対応する使用量の分だけ低下させるようにして、前記記憶部に記憶されている在庫量の情報を更新する。
【0017】
本発明の第5の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと通信可能な保管庫であって、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器に含まれているアイテムの在庫量を、当該アイテム容器の入庫のときに前記第1リーダによって読み出された使用量情報に対応する使用量の分だけ低下させるようにして、前記記憶部に記憶されている在庫量の情報を更新する。
【0018】
本発明の第6の実施態様は、アイテムを特定するアイテム識別情報と、当該アイテムの使用量に関する使用量情報と、が記録されたRFタグである第1タグと通信可能な保管庫であって、
1または複数の同一のアイテムを含み、当該アイテムのアイテム識別情報が記録されたRFタグである第2タグが取り付けられているアイテム容器を収容する筐体と、
前記筐体内においてアイテム容器を収容するために設けられ、アイテム容器ごとに割り当てられた1または複数の収容区画と、
収容区画ごとに設置され、収容区画に割り当てられているアイテム容器の重量を検出する重量センサと、
前記筐体と連結して設けられ、前記アイテム容器に対する外部からのアクセスが可能となる開状態、または、前記アイテム容器に対する外部からのアクセスが遮断される閉状態のいずれかの状態となるドアと、
前記第1タグに記録された情報を読み出すための第1リーダと、
前記筐体内に収容された全てのアイテム容器の第2タグに記録されているアイテム識別情報を読み出すための第2リーダと、
アイテム識別情報と、当該アイテム識別情報によって特定されるアイテムが含まれるアイテム容器内の当該アイテムの在庫量の情報とを記憶する記憶部と、
前記第1タグに記録された情報が前記第1リーダによって読み出された場合に、当該第1タグに記録されているアイテム識別情報によって特定されるアイテムに対応するアイテム容器の前記筐体からの出庫、または、当該アイテム容器の前記筐体への入庫のいずれかの処理を特定する制御部と、を備え、
前記制御部は、前記筐体から出庫されたアイテム容器が前記筐体に入庫されたと判断した場合に、当該アイテム容器が割り当てられた収容区画に設置されている重量センサの検出結果に基づいて、前記記憶部に記憶されている当該アイテム容器に含まれているアイテムの在庫量の情報を更新する。
【発明の効果】
【0019】
本発明によれば、1または複数の同一アイテムを含むアイテム容器を複数保管するときに、アイテム容器ごとに保管庫内のアイテムの在庫量を管理することができる。
【発明を実施するための形態】
【0021】
この明細書において「アイテム」とは、計数あるいは計量可能な商品、製品、半製品(製造途中であるが未だ最終製品に至らないもの)等であって、それ自体で使用または移送可能なものである。例えば、固形の薬の場合には、薬の成分を含む錠剤の単体、若しくは当該錠剤が封入された包装物の単体、または、薬の成分を含む所定量の顆粒が封入された分包の単体がアイテムに相当する。液体の薬の場合には、その液体自体がアイテムに相当する。以下の実施形態において、1錠または1包の麻薬は、1個のアイテムの一例である。
【0022】
この明細書において「アイテム容器」とは、1または複数の同一のアイテムが含まれた容器であり、保管庫による保管対象である。アイテム容器の形態、材質は問わない。例えば、容器は、ガラス瓶でもよいしビニール袋でもよい。以下の実施形態において、麻薬パックは、アイテム容器の一例である。この場合、麻薬パックには、1若しくは複数の錠剤(アイテムの一例)、または、1若しくは複数の分包(アイテムの一例)が含まれる。
【0023】
以下、本発明の実施形態について、図面に基づいて詳細に説明する。なお、実施形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0024】
以下の各実施形態の説明において、「トランザクション」とは、ユーザによる保管庫に対する作業単位を意味する。例えば、トランザクションは、ユーザが保管庫を閉状態から開状態とし、再度閉状態とするまでの間に行った、保管庫に対するアイテム容器の入庫、または、保管庫からのアイテム容器の出庫の作業である。その同じユーザが再度保管庫を開状態として作業を行うことは、新たなトランザクションとして定義される。後述するように、トランザクションIDは、保管庫に対するアイテム容器の入庫、または、保管庫からのアイテム容器の出庫の作業単位で割り当てられる。
【0025】
(1)第1の実施形態
(1−1)アイテム保管システム
以下、本発明の情報処理システムの一実施形態に係るアイテム保管システムについて説明する。
実施形態に係るアイテム保管システムでは、アイテム容器としての麻薬パックを保管する保管庫と、カード(後述するユーザカードUCおよび処方箋カードPC)とが使用される。麻薬パックにはラベルが取り付けられている。
ラベルとカードにはRFタグが内蔵されており、保管庫1には当該RFタグに電波を放射するアンテナが搭載されている。アンテナとRFタグは、RFID(Radio Frequency Identification)技術によって無線通信を行う。RFIDによる無線通信方式であれば如何なる方式でもよいが、PJM(Phase Jitter Modulation)方式のパッシブ型RFIDであることが、高速かつ大量なデータの認識を可能にする点で好ましい。
【0026】
(1−2)保管庫の構成
先ず、本実施形態に係る保管庫1について
図1〜3を参照して説明する。
図1は、本実施形態に係る保管庫1のドア3を閉状態としたときの斜視図である。
図2は、本実施形態に係る保管庫1のドア3を開状態としたときの斜視図である。
図3は、本実施形態に係る保管庫1内のラックとラック内の麻薬パックを例示する図である。
図1および
図2に示すように、保管庫1は、概ね直方体状の筐体2の内部に複数の麻薬パックを収容するようにして構成されている。
図1および
図2では、好ましい形態として保管庫1が移動可能となるように筐体2の底部にキャスタ4を取り付けた形態を示しているが、キャスタ4は必ずしも必須ではない。
【0027】
本実施形態の保管庫1には、筐体2と連結してドア3が設けられている。ドア3には、ドアハンドル3aが取り付けられている。
図1では、ドア3が、保管庫1が収容する複数の麻薬パックに対して外部からのアクセスが遮断される閉状態である場合を示している。
図2では、ドア3が、複数の麻薬パックに対する外部からのアクセスが可能となる開状態である場合を示している。ドア3は、ユーザからのアクセスがない場合には施錠され、認証されたユーザからのアクセスがあった場合に解錠されることが好ましい。
【0028】
本実施形態の保管庫1において、ドア3の上方には、表示パネル22aと、スピーカ24aと、アクセスアンテナ設置部10とが設けられている。
アクセスアンテナ設置部10は、筐体2内部に図示しないアクセスアンテナAAが設置されている位置に対応した、筐体2の前面の部分である。アクセスアンテナ設置部10が設けられている位置は、筐体2上の所定の領域の一例である。
表示パネル22aおよびスピーカ24aの位置は、ユーザがドア3と対向して立っているときにユーザの頭の位置と同程度の高さとなるように設定され、それによってユーザの表示パネル22aに対する視認性やスピーカ24aからの音声に対する聞き取りやすさが良好となるように工夫されている。
【0029】
後述するが、ユーザが保管庫1内の麻薬パックを出庫する、あるいは保管庫1内に麻薬パックを入庫するためには、アクセスアンテナ設置部10にユーザカードを近接させて(つまり、ユーザカードをアクセスアンテナ設置部10にかざして)認証を受けるようにすることが好ましい。このとき、アクセスアンテナ設置部10の位置は、ユーザがドア3と対向して立っているときにユーザの頭の位置と同程度の高さとなるように設定されているため、ユーザカードの操作性が良好となっている。
また、本実施形態の保管庫1では、表示パネル22aとアクセスアンテナ設置部10が設けられている位置とが近接した位置に配置されている。そのため、カードをアクセスアンテナ設置部10が設けられている位置にかざした場合、表示パネル22aに表示される処理結果の確認時の視線移動が少なくて済み、操作性が良好となっている。
【0030】
図2に示すように、保管庫1の筐体2の内部には、複数段(
図2の例では、7段)のラックR1〜R7(総称して「ラック群R」という。)が積層された状態で設けられている。各ラックは、上下に設けられた仕切り板によって区画されている。ラックR1は仕切り板P0と仕切り板P1の間に設けられ、ラックR2は仕切り板P1と仕切り板P2の間に設けられる、といった具合である。各仕切り板には、ラックアンテナが内蔵されている。すなわち、仕切り板P0〜P7にはそれぞれ、ラックアンテナRA0〜RA7が内蔵されている。
なお、ラックアンテナRA0〜RA7による受信性能に影響を及ぼさないように、ラック自体は金属製ではなく、例えばプラスチック製であることが好ましい。
筐体2の外観を構成する表面部材は、外部から照射される電磁波がラックアンテナの受信性能に影響を与えないように、電磁シールド機能を備えた金属製の部材であることが好ましい。例えば、保管庫1の外部から筐体2に近接または接触しうる、保管庫1とは無関連のRFタグを、保管庫1内のラックアンテナが誤検出することを防止することができる。
【0031】
各ラックには、様々な種類の麻薬錠剤または麻薬分包が含まれた麻薬パックが収容されている。
図3では、ラックR1に、麻薬パックIM1〜IM6が収容されている例が示される。各麻薬パックには、中に含まれるアイテムとしての麻薬を識別するためのアイテム識別情報が記録されたRFタグ(以下、「アイテムタグ」という。)を内蔵するラベルLが取り付けられている。アイテムタグは、第2タグの一例である。各ラベルLのおもて面には、貼り付け対象の麻薬パックに含まれる麻薬のアイテムコード(Item code)、アイテム名(Item Description)、有効期限(Expiry date)、および、ロット番号(Lot No.)が印字されている。アイテムタグは、第2タグの一例である。アイテムコードまたはアイテム名は、アイテム識別情報の一例である。
各ラベルLの裏面には粘着層が形成されており、粘着層によって麻薬パックにラベルLを取り付けられるように構成されている。ラベルLは、おもて面への印字と同時にアイテムタグへのデータ書き込みを行うプリンタを使用して作製することができる。なお、ラベルLにアイテムコード、アイテム名、有効期限、および、ロット番号の情報を印字することは必須ではなく、情報がラベルLに全く印字されていなくてもよい。
【0032】
各ラベルLに内蔵されたアイテムタグには、各ラベルLのおもて面に印字されたアイテムコード、アイテム名、有効期限、ロット番号、および、アイテムの初期含有量の各フィールドからなるデータ(以下、「アイテムデータ」という。)が記録されている。本実施形態では、麻薬パックに含まれる麻薬を特定するコードがアイテムコードの一例であり、当該麻薬の名称がアイテム名の一例である。本実施形態では、初期含有量は、未使用の麻薬パックに含まれる麻薬錠剤の数、または、麻薬分包の数である。
【0033】
上述したように、各仕切り板には、アイテムタグに対して電波を発信するラックアンテナが内蔵されている。
図3に示す例では、仕切り板P0,P1にそれぞれ内蔵されているラックアンテナRA0,RA1は、ラックR1に収容されているすべてのアイテムのアイテムタグに向けて電波を発信し、当該アイテムタグからの電波(反射波)を受信する。アイテムタグからの電波には、アイテムタグに記録されているアイテムデータが含まれる。
図3に示すように、ラックR1内の麻薬パックの位置やラベルLの貼り付け位置によって、ラックR1内のアイテムタグは様々な位置を取りうることから、ラックR1内の麻薬パックのアイテムタグとの通信は、ラックR1の上下に設けられた2つの仕切り板P0,P1にそれぞれ内蔵された2つのラックアンテナRA0,RA1によって行うように構成されている。
他のラックについても同様である。例えば、ラックR2内の麻薬パックのアイテムタグとの間の電波の送受信は、それぞれ、ラックアンテナRA1,RA2によって行われ、ラックR3内の麻薬パックのアイテムタグとの間の電波の送受信は、それぞれ、ラックアンテナRA2,RA3によって行われる。
【0034】
(1−3)カードの構成およびその使用方法
次に、本実施形態のアイテム保管システムにおいて使用されるカードの構成およびカードの使用方法について、
図4〜6を参照して説明する。
図4は、本実施形態のアイテム保管システムで使用されるユーザカードUCを説明する図である。
図5は、本実施形態のアイテム保管システムで使用される処方箋カードPCを説明する図である。
図6は、本実施形態に係るアイテム保管システムにおいて、ユーザがユーザカードUCまたは処方箋カードPCを使用する方法を説明する図である。
【0035】
(1−3−1)ユーザカード
ユーザカードUCとは、保管庫1にアクセスするユーザを認証するためのカードである。
図4に例示するユーザカードUCのおもて面には、ユーザの顔写真、ユーザIDおよび名前についての情報が印字されている。ユーザカードUCにはRFタグ(「ユーザタグ」という。)が埋め込まれている。ユーザタグは、第3タグの一例である。
ユーザタグには、ユーザID、名前、所属、および、役職についてのデータ(以下、「ユーザデータ」という。)が記録されている。ユーザIDは、ユーザカードUCを使用するユーザの認証に使用されるデータである。名前、所属、および、役職についてのデータは任意的な情報であり、ユーザの認証を行うのに必須の情報ではない。
図6に示すように、ユーザがユーザカードUCを使用する場合、ユーザカードUCを保管庫1のアクセスアンテナ設置部10にかざす(近接させる)ことで保管庫1にユーザカードUCを認識させる。
なお、ユーザカードUCにユーザID、名前、所属、および、役職等の情報を印字することは必須ではなく、情報がユーザカードUCに全く印字されていなくてもよい。
【0036】
(1−3−2)処方箋カード
処方箋カードPCとは、患者についての情報と、その患者に投与すべき麻薬の情報について記録されたカードである。処方箋カードPCに記録された麻薬が含まれた麻薬パックを保管庫1から出庫し(つまり、麻薬パックを保管庫1から取り出し)、あるいは、保管庫1へ入庫する(つまり、麻薬パックを保管庫1に戻す)ときに使用される。
図5に示すように、処方箋カードPCにはRFタグ(「処方箋タグ」という。)が埋め込まれている。処方箋タグには、処方箋を特定する処方箋ナンバー(処方箋No.)、発行日付、患者ID、患者氏名、患者の性別、患者に投与すべき麻薬についてのアイテムコード、アイテム名(例えば、麻薬の名称)、および、アイテムの使用量(つまり、例えば錠剤数等の麻薬の使用量)のデータ(以下、「処方箋データ」という。)が記録されている。処方箋タグは、第1タグの一例である。使用量のデータは、使用量情報の一例である。
図6に示すように、ユーザが処方箋カードPCを使用する場合、処方箋カードPCを保管庫1のアクセスアンテナ設置部10にかざす(近接させる)ことで保管庫1に処方箋カードPCを認識させる。
【0037】
(1−4)フルスキャン
次に、実施形態に係るアイテム保管システムに設けられている処理の一つであるフルスキャンについて説明する。
「フルスキャン」とは、保管庫1内に保管されているすべての麻薬パックに取り付けられているアイテムタグに記録されたアイテムデータを読み出す処理である。本実施形態のアイテム保管システムにおいてフルスキャンを実行する条件は、保管庫1が起動されたこと、または、認証されたユーザがドア3を開状態から閉状態に変更したことである。また、前回のフルスキャンを実行してから所定の時間が経過したこと、または予め設定された時刻になったことを認識したことを条件としてもよい。その場合、定期的にフルスキャンを強制実行させる。
認証されたユーザがドア3を開状態から閉状態に変更した場合、当該ユーザが保管庫1からの麻薬パックの出庫、または、保管庫1への麻薬パックの入庫の作業、つまり、ユーザの1回のアクセスに対するトランザクションが終了したと考えられる。このタイミングでフルスキャンを実行することで、保管庫1に収容されている麻薬パックの最新の在庫内容を保管庫1が常時把握することができる。
【0038】
(1−5)保管庫の内部構成
次に、本実施形態の保管庫1の内部構成について、
図7を参照して説明する。
図7は、本実施形態に係る保管庫の内部構成を示すブロック図である。
図7に示すように、実施形態の保管庫1は、制御部20、リーダユニット21、表示部22、記憶部23、音声出力部24、USBインタフェース25、LANインタフェース26、センサ27、ドアロック部28、アクセスアンテナAA、および、ラックアンテナ群RAを含む。
【0039】
制御部20は、マイクロプロセッサ、ROM(Read Only Memory)、および、RAM(Random Access Memory)を主要な要素として構成される。ROMには、OS(Operating System)やアプリケーションプログラムが記録されており、マイクロプロセッサは、保管庫1の起動時にROMから読み出したプログラムを実行することによって、後述する保管庫1の様々な機能を実現する。ROMに記録されているアプリケーションプログラムとして、保管庫1のアイテムの管理を行うためのアイテム管理アプリケーションプログラム(以下、単に「アイテム管理アプリケーション」という。)が含まれる。制御部20は、リアルタイムクロックICを備え、現在時刻を常時計測している。
【0040】
リーダユニット21は、制御部20とデータの送受信を行うように構成されている。リーダユニット21は、第1リーダ、第2リーダ、および、第3リーダの一例である。
リーダユニット21は、アクセスアンテナAAと接続され、アクセスアンテナAAから電波が放射されるようにアクセスアンテナAAに信号を送る。リーダユニット21は、アクセスアンテナAAからデータを受信した場合に、当該データ(つまり、読み出したデータ)を制御部20へ送信する。アクセスアンテナAAから制御部20へ送信されるデータは、ユーザデータまたは処方箋データのいずれかである。
【0041】
リーダユニット21は、ラックアンテナ群RAのラックアンテナRA1〜RA7の各々と接続されており、各ラックアンテナから電波が放射されるように各ラックアンテナに信号を送る。リーダユニット21は、ラックアンテナRA1〜RA7の各々からデータを受信した場合に、当該データ(つまり、読み出したデータ)を制御部20へ送信する。ラックアンテナRA1〜RA7の各々から送信されるデータは、ラックR1〜R7の各々に収容されている麻薬パックIMに付着されているアイテムタグに記録されているアイテムデータである。
なお、制御部20は、所定の条件を満たしたときにラックアンテナRA1〜RA7が動作するようにリーダユニット21を制御してもよい。所定の条件は、例えば、保管庫1が起動されたこと、または、ドア3の状態が開状態から閉状態に切り替わったことである。
【0042】
リーダユニット21は、センサ27からのドア3の開閉状態を示すデータを受信し、当該データを制御部20へ送信する。また、リーダユニット21は、制御部20からの制御信号に基づいて、ドアロック部28に対してドア3の施錠(ロック)あるいは解錠(ロックの解除)を指示する信号を送信する。
【0043】
表示部22は、表示駆動回路(図示せず)および表示パネル22aを含み、制御部20から送信される画像信号に基づいて画像を表示パネル22aに表示する。表示パネル22aは、例えばLCD(Liquid Crystal Display)パネルである。表示パネル22aに表示される画像には、リーダユニット21によって読み出されたデータに基づく処理結果や、警告メッセージ等の各種メッセージが含まれる。表示部22は、報知部の一例である。
また、本実施形態の例では、表示パネル22aは、ユーザによるタッチ入力を受け付けるタッチパネルであり、入力部の一例である。
【0044】
記憶部23は、例えばフラッシュメモリ等の不揮発性メモリであって、登録ユーザデータベース231、在庫データベース232、および、トランザクションログデータベース233を記憶する。記憶部23は制御部20から適宜アクセスされ、それによって各データベースが更新される。登録ユーザデータベース231、在庫データベース232、および、トランザクションログデータベース233の各構成については、後述する。
【0045】
音声出力部24は、信号処理回路(図示せず)およびスピーカ24aを含み、制御部20から送信される音声信号に対して所定の信号処理を施した後に増幅し、音声メッセージとしてスピーカ24aから出力する。音声出力部24は制御部20によって音声による警告メッセージを出力することがある。音声出力部24は、報知部の一例である。
【0046】
USBインタフェース25は、WiFi(登録商標)等のIEEE802.11に準拠した無線LANに対応した外部機器に接続され、インターネット等に接続するために設けられている。
LANインタフェース26は、有線LANを通して外部機器に接続するために設けられている。
【0047】
センサ27は、ドア3の開閉状態を検出するセンサである。センサ27は、例えば透過型あるいは反射型の光センサで構成することができる。センサ27による検出結果は、リーダユニット21から制御部20へ逐次送信される。
【0048】
ドアロック部28は、制御部20からリーダユニット21を介した指令に応じてドア3の施錠または解錠を行う電気錠を含む。ドアロック部28は、ロック機構の一例である。
【0049】
(1−6)保管庫が管理するデータベース
次に、本実施形態のアイテム保管システムにおいて参照されるデータベースについて、
図8〜10を参照して説明する。
図8は、登録ユーザデータベース231のデータ構成を例示する図である。
図9は、在庫データベース232のデータ構成を例示する図である。
図10は、トランザクションログデータベース233のデータ構成を例示する図である。
【0050】
登録ユーザデータベース231は、保管庫1内へのアクセスを許可された登録済みのユーザ(以下、「登録ユーザ」という。)が記録されているデータベースである。
図8に示す例では、登録ユーザデータベース231は、1件のレコードに対してユーザID、名前、所属、役職等の各フィールドのデータを含むデータベースである。登録ユーザデータベース231に設けられるフィールドは、ユーザカードUCのユーザタグに記録されているユーザデータのフィールド(
図4参照)と同一であるか、またはその一部である。
登録ユーザデータベース231は、保管庫1の内部にアクセスしようとするユーザの認証を行うときに参照される。
なお、本実施形態では、ユーザカードUCに記録されているユーザIDが登録ユーザデータベース231に記録されているいずれかのユーザIDと一致するか否かによってアクセス許否を判断する場合について例示的に説明するが、この場合に限られない。ユーザカードUC内にアクセス許否の情報が記録されており、当該情報に基づいてアクセス許否を直接判断するようにしてもよい。その場合、制御部20がユーザデータを基にアクセス許否を判断すればよいので、登録ユーザデータベース231を設けなくてもよい。
【0051】
在庫データベース232は、保管庫1内に収容されているすべての麻薬パックのデータが記録されているデータベースである。つまり、在庫データベース232のレコードは、麻薬パックごとに設けられている。各レコードには、対応する麻薬パックに含まれるアイテムコードとして麻薬のコード、アイテム名として麻薬の名称、麻薬の有効期限、ロット番号、および、在庫量の各フィールドのデータが含まれる。
各レコードの「在庫量」フィールドには、対応する麻薬パック内の在庫量(例えば、麻薬パックに錠剤が含まれている場合には錠剤の個数であり、麻薬パックに分包が含まれている場合には分包の個数)のデータが記録されている。
在庫データベース232は、保管庫1内に収容されているアイテムの、ユーザの1回のトランザクションの前後での変化を特定するために参照される。
【0052】
トランザクションログデータベース233は、ユーザによる1回ずつのトランザクションの結果が日時の順に記録されているデータベースである。
図10に示す例では、1件のレコードとして、トランザクションID、処方箋No.、ユーザID、アイテムコード、ロット番号、作業コード、出庫時の在庫量、および、ログ日時の各フィールドのデータを含むデータベースである。
【0053】
トランザクションログデータベース233において、「トランザクションID」フィールドには、ユーザによる1回のトランザクション、つまり、保管庫1のドア3を閉状態から開状態とした後に、再度ドア3を閉状態とするまでの期間の作業を識別するための識別情報が記録されている。「処方箋No.」フィールドには、トランザクションを開始するにあたって処方箋カードをアクセスアンテナ設置部10にかざしたときに処方箋タグから読み出された処方箋No.の値が記録されている。
「ユーザID」フィールドには、トランザクションIDに対応するトランザクションにおいて、保管庫1にアクセスしたユーザの識別情報が記録されている。「アイテムコード」および「ロット番号」の各フィールドには、作業コード(入庫:0、出庫:1)に対応する麻薬パックのアイテムコードおよびロット番号が記録されている。
「出庫時の在庫量」フィールドには、麻薬パックが出庫されたときの当該麻薬パックの在庫データベース232上の「在庫量」フィールドの値が記録される。「出庫時の在庫量」フィールドの値は、出庫された麻薬パックが再度保管庫1に入庫されたときの麻薬の在庫量を更新するときの基礎となる。
「ログ日時」フィールドには、トランザクションIDに対応するトランザクションが完了した日時(例えば、ドア3を閉状態とした日時)が記録されている。
【0054】
(1−7)アイテム保管システムにおいて実行される処理
次に、アイテム保管システムにおいて実行される処理について、
図11〜15を参照して説明する。
図11は、本実施形態に係る保管庫1の起動処理を示すフローチャートである。
図12は、本実施形態に係る保管庫1のアクセスアンテナ受信処理を示すフローチャートである。
図13は、本実施形態の麻薬パックの出庫処理を示すフローチャートである。
図14は、本実施形態の麻薬パックの入庫処理を示すフローチャートである。
図15は、本実施形態に係る保管庫1に対して麻薬の使用量を入力するときの画面遷移を例示する図である。
【0055】
なお、以下の各処理の説明では言及しないが、保管庫1内の麻薬パックのアイテムタグに記録されたアイテムデータを読み出したときに当該アイテムデータが認識できないと判断された場合には、その麻薬パックが認識できないことを示す警告メッセージ(例えば、「認識できない麻薬パック(アイテム名:aaaaa)があります。取り除いてください。」というメッセージ)が表示パネル22aおよび/またはスピーカ24aから出力される。「アイテムデータが認識できない場合」とは、例えば、ロット番号が含まれていない、あるいはロット番号が適切なデータとして認識できない場合等である。
【0056】
(1−7−1)アイテム保管システムの起動処理(
図11)
保管庫1の電源を起動すると、保管庫1の制御部20はOSを立ち上げ、OS上で保管庫1のアイテムの管理を行うためのアイテム管理アプリケーションを読み出して起動し(S10)、実行する。制御部20は、アイテム管理アプリケーションを実行することで、以下で述べる処理を行う。
【0057】
制御部20は先ず、フルスキャンを実行する(S12)。すなわち、制御部20は、保管庫1内に収容されているすべての麻薬パックのアイテムタグに記録されているデータを読み出し、在庫データベース232に記録する(S14)。制御部20は、読み出されたデータに基づいて不適切な麻薬パック(アイテムの一例)が保管庫1内に収容されているか否か判定する(S16)。不適切な麻薬パックとは、例えば、有効期限が切れた麻薬パックである。その場合、S16の判定は、在庫データベース232に記録された「有効期限」フィールドの値が現在時刻よりも前となるレコードが存在するか否かに基づいて行われる。保管庫1内に不適切なアイテムがない場合(S16:NO)、起動処理は終了する。
【0058】
保管庫1内に不適切なアイテムがある場合(S16:YES)、音声による警告メッセージが出力する(S18)。具体的には、制御部20は、スピーカ24aから警告メッセージの音声出力が行われるように音声出力部24を制御する。
なお、保管庫1を起動後に所定時刻にフルスキャンを実行する場合には、
図11のフローチャートのS12以降の処理を当該所定時刻に実行する。
【0059】
(1−7−2)処方箋処理(
図12)
処方箋処理は、アイテム保管システムの起動処理の後、処方箋カードに基づいて、患者に麻薬を投与するために処方箋タグに記録されている麻薬が含まれる麻薬パックを保管庫1から出庫する(取り出す)処理と、いったん出庫した麻薬パックを保管庫1へ入庫する(返却する)処理とを含む。麻薬パックを保管庫1から出庫する作業、および、麻薬パックを保管庫1へ入庫する作業は、それぞれ個別のトランザクションである。
【0060】
例えば医者等のユーザが処方箋カードPCを保管庫1のアクセスアンテナ設置部10にかざした場合、保管庫1のアクセスアンテナAAは、RFタグからのデータを受信する(S30:YES)。そして保管庫1の制御部20は、受信データが処方箋データである場合(S32:YES)、ユーザが麻薬パックを保管庫1から出庫する(取り出す)作業、あるいは麻薬パックを保管庫1に入庫する(返却する)作業のいずれかの作業を行うのか判定する(S34)。
【0061】
S34における判定処理は、トランザクションログデータベース233に基づいて行われる。すなわち、
図10に示したように、トランザクションログデータベース233には、トランザクションごとに(つまり、出庫または入庫の作業ごとに)その作業コード(0:入庫、1:出庫)が記録されている。そこで、制御部20は、ログ日時の新しい順に、S32で認識した処方箋データに含まれる処方箋No.をキーとしてレコード検索を行う。制御部20は、当該処方箋No.が記録された直近のレコードにおける作業コードが「入庫」を示す場合、または、該当するレコードが存在しない場合には、ユーザが麻薬パックを出庫する(取り出す)と判断してアイテム出庫処理を実行する(S40)。一方、制御部20は、当該処方箋No.が記録された直近のレコードにおける作業コードが「出庫」を示す場合、ユーザが麻薬パックを入庫する(返却する)と判断してアイテム入庫処理を実行する(S50)。
【0062】
(1−7−3)アイテム出庫処理(
図13)
図13は、
図12のS40の詳細なフローチャートである。
アイテム出庫処理を実行する場合、制御部20は先ず、ユーザカードをスキャンする指示が表示パネル22aに表示されるように、表示部22を制御する(S400)。S400による表示に応じてユーザがユーザカードをアクセスアンテナ設置部10にかざすことでアクセスアンテナAAがユーザデータを受信すると(S402:YES)、制御部20は、ドア3が解錠されるようにドアロック部28を制御し、それによってユーザがドア3を開状態とすることができるようになる。
【0063】
なお、制御部20は、S402においてユーザデータを受信した後、当該ユーザデータを基に認証処理を実行し、認証が成功した場合にドア3が解錠するようにドアロック部28を制御してもよい。その場合、制御部20は、S402で受信したユーザデータが登録ユーザデータベース231のいずれかのレコードのデータと一致する場合に、認証が成功したと判断する。
【0064】
ユーザによってドア3が開状態とされると(S406:YES)、制御部20は、S32(
図12参照)で受信した処方箋データを基に、出庫すべきアイテムとして、取り出すべき麻薬パックが表示パネル22aに表示されるように、表示部22を制御する(S408)。取り出すべき麻薬パックは、ドア3が開状態の間表示され、それによってユーザは、取り出すべき麻薬パックを誤ることなく取り出すことができる。
取り出すべき麻薬パックをユーザがすべて取り出してドア3を閉状態にすると(S412:YES)、制御部20は、ドア3が施錠されるようにドアロック部28を制御する(S414)。
【0065】
ドア3が施錠されると、制御部20はフルスキャンを実行する(S416)。すなわち、制御部20は、保管庫1内に収容されているすべての麻薬パックのアイテムタグに記録されているデータを読み出す(S416)。ユーザによる出庫作業が完了した直後にフルスキャンを実行することで、ユーザの出庫作業と保管庫1内の在庫の変化とを関連付けることができる。
フルスキャンを実行した結果、制御部20は、所定の警告発生条件を満たすか否かを判断する(S418)。警告発生条件は、以下の条件に限定されるものではないが、例えば以下の条件が挙げられる。
【0066】
[警告発生条件]
(条件C1)麻薬パックが保管庫1内に入庫されたこと
(条件C2)S32において認識された処方箋データに記述されていない麻薬が含まれる麻薬パックが出庫されたこと
(条件C3)有効期限が切れた麻薬パックが出庫されたこと、または、有効期限までの期間が所定期間内である麻薬パックが出庫されたこと
(条件C4)同一のアイテムコードの麻薬が含まれる麻薬パックのうち有効期限までの期間が最短ではないものが出庫されたこと(つまり、ユーザが、有効期限が近いものよりも有効期限が遠いものを出庫したこと)
(条件C5)保管庫1内に有効期限が切れた麻薬パックが存在すること
【0067】
条件C1を満足するか否かを判定するために、制御部20は、在庫データベース232に記録されているアイテムコードと、S416の実行結果に含まれるアイテムコードとを比較する。制御部20は、両者を比較した結果、S416の実行結果にのみ含まれるアイテムコードが存在する場合には、麻薬パックが保管庫1内に入庫されたと判断する。
【0068】
条件C2を満足するか否かを判定するために、制御部20は、在庫データベース232に記録されている各アイテムコードと、S416の実行結果に含まれる各アイテムコードとを比較し、出庫された麻薬パックのアイテムコードを特定する。次いで制御部20は、特定したアイテムコードと、S32において認識された処方箋データに含まれるアイテムコードとが一致するか否か判定する。
【0069】
条件C3を満足するか否かを判断するために、制御部20は、S416の実行結果と、在庫データベース232とを比較することで、S404〜S414の間に出庫された麻薬パックを特定する。次いで制御部20は、特定した麻薬パックのアイテムデータに含まれる有効期限の値と、現在時刻の値とを比較する。なお、条件C3における「所定期間」は、麻薬パックごとに個別に設定されていてもよい。
【0070】
条件C4を満足するか否かを判断するために、制御部20は、S416の実行結果と、在庫データベース232とを比較することで、S404〜S414の間に出庫された麻薬パックを特定する。次いで制御部20は、在庫データベース232において出庫された麻薬パックに対応するアイテムコードの麻薬パックが複数記録されている場合に、出庫された麻薬パックの有効期限までの期間が最短であるか否か判定する。
【0071】
条件C5を満足するか否かを判断するために、制御部20は、S416の実行結果に含まれる各アイテムコードに対応する有効期限の値と、現在時刻の値とを比較する。
【0072】
いずれかの警告発生条件を満たす場合には(S418:YES)、制御部20は、警告発生条件に応じた警告メッセージを表示パネル22aおよび/またはスピーカ24aに出力するように表示部22および/または音声出力部24を制御し(S420)、S422へ進む。いずれの警告発生条件を満たさない場合には(S418:NO)、制御部20は、警告メッセージを出力しないようにしてS422へ進む。
S422では制御部20は、S416でのフルスキャンの実行結果に基づいて、トランザクションログデータベース233(トランザクションログDB)および在庫データベース232(在庫DB)を更新し、その後アイテム出庫処理を終了させる。
【0073】
S422のトランザクションログデータベース233の更新において、制御部20は先ず、S416の直前に在庫データベース232に記録されていたデータと、S416でのフルスキャンの実行結果との差分に基づいて、出庫された麻薬パックを特定する。次いで制御部20は、特定した麻薬パックのアイテムデータと、S402において受信済みのユーザデータに含まれるユーザIDとを関連付けて、トランザクションログデータベース233に、特定した麻薬パックの数のレコードを追加する。このとき、追加される各レコードの「トランザクションID」フィールドには、他のレコードの値と重複しない値が記録される。「ユーザID」フィールドにはS402で読み込まれたユーザデータに含まれるユーザIDの値が記録される。「アイテムコード」および「ロット番号」の各フィールドには上記特定した麻薬パックのアイテムデータに含まれるアイテムコードおよびロット番号の値が記録される。「作業コード」フィールドには「1」(出庫)が記録される。「ログ日時」フィールドには現在時刻の値が記録される。
「出庫時の在庫量」フィールドには、上記特定した麻薬パック(つまり、出庫された麻薬パック)について、在庫データベース232を更新する前の「在庫量」フィールドの値が記録される。
【0074】
(1−7−4)アイテム入庫処理(
図14)
図14は、
図12のS50の詳細なフローチャートである。
アイテム入庫処理を実行する場合、制御部20は先ず、ユーザカードをスキャンする指示が表示パネル22aに表示されるように、表示部22を制御する(S500)。S500による表示に応じてユーザがユーザカードをアクセスアンテナ設置部10にかざすことでアクセスアンテナAAがユーザデータを受信すると(S502:YES)、制御部20は、ドア3が解錠されるようにドアロック部28を制御し、それによってユーザがドア3を開状態とすることができるようになる。
【0075】
なお、制御部20は、S502においてユーザデータを受信した後、当該ユーザデータを基に認証処理を実行し、認証が成功した場合にドア3が解錠するようにドアロック部28を制御してもよい。その場合、制御部20は、S502で受信したユーザデータが登録ユーザデータベース231のいずれかのレコードのデータと一致する場合に、認証が成功したと判断する。
【0076】
ユーザによってドア3が開状態とされると(S506:YES)、制御部20は、S32(
図12参照)で受信した処方箋データを基に、入庫すべきアイテムとして、返却すべき麻薬パックが表示パネル22aに表示されるように、表示部22を制御する(S508)。なお、前述したように、アイテム入庫処理を実行すると判断した時点(
図12のS34)で、S32(
図12)において特定された処方箋No.が記録されたレコードであって作業コードが「入庫」となっている直近のレコードが特定されているか、または、当該処方箋No.が記録されたレコードが存在しないかのいずれかであることが分かっている。前者の場合に、S508において返却すべき麻薬パック(つまり、上記レコードに含まれる麻薬パック)が、ドア3が開状態の間表示され、それによってユーザは、返却すべき麻薬パックを誤ることなく返却することができる。後者の場合には、新しい麻薬パックの入庫であることを意味するため、返却すべき麻薬パックは表示されない。
【0077】
S508において保管庫1の表示パネル22aの表示例が
図15の画像G10である。画像G10の例では、返却すべき2個の麻薬パックの名称(アイテム名)として「aaaaa」,「bbbbb」が表示されている。
次いで制御部20は、返却すべき麻薬パックごとに、麻薬の使用量の入力を受け付ける(S510)。
図15の画像G10には、返却すべき麻薬パックごとに「使用量」の欄が設けられている。この「使用量」の欄を例えば指Fでタップすることで、画像G10から画像G11に遷移する。画像G11は、タップ操作によって選択された麻薬パックの使用量(この例では、錠剤の数)を、テンキーを用いてタッチ入力することができるように構成されている。
【0078】
返却すべき麻薬パックをユーザがすべて入庫し、当該麻薬パックの使用量の入力が完了した後にドア3を閉状態にすると(S512:YES)、制御部20は、ドア3が施錠されるようにドアロック部28を制御する(S514)。
【0079】
ドア3が施錠されると、制御部20はフルスキャンを実行する(S516)。すなわち、制御部20は、保管庫1内に収容されているすべての麻薬パックのアイテムタグに記録されているデータを読み出す。ユーザによる入庫作業が完了した直後にフルスキャンを実行することで、ユーザの入庫作業と保管庫1内の在庫の変化とを関連付けることができる。
フルスキャンを実行した結果、制御部20は、所定の警告発生条件を満たすか否かを判断する(S518)。警告発生条件は、以下の条件に限定されるものではないが、例えば以下の条件が挙げられる。
【0080】
[警告発生条件]
(条件C6)麻薬パックが保管庫1から出庫されたこと
(条件C7)S32において認識された処方箋データに記述されていない麻薬が含まれる麻薬パックが入庫されたこと
(条件C8)有効期限が切れた麻薬パックが入庫されたこと、または、有効期限までの期間が所定期間内である麻薬パックが入庫されたこと
(条件C9)保管庫1内に有効期限が切れた麻薬パックが存在すること
【0081】
条件C6を満足するか否かを判定するために、制御部20は、在庫データベース232に記録されているアイテムコードと、S516の実行結果に含まれるアイテムコードとを比較する。制御部20は、両者を比較した結果、在庫データベース232にのみ記録されているアイテムコードが存在する場合には、麻薬パックが保管庫1から出庫されたと判断する。
【0082】
条件C7を満足するか否かを判定するために、制御部20は、在庫データベース232に記録されている各アイテムコードと、S516の実行結果に含まれる各アイテムコードとを比較し、入庫された麻薬パックのアイテムコードを特定する。次いで制御部20は、特定したアイテムコードと、S32において認識された処方箋データに含まれるアイテムコードとが一致するか否か判定する。
【0083】
条件C8を満足するか否かを判断するために、制御部20は、S516の実行結果と、在庫データベース232とを比較することで、S504〜S514の間に入庫された麻薬パックを特定する。次いで制御部20は、特定した麻薬パックのアイテムデータに含まれる有効期限の値と、現在時刻の値とを比較する。なお、条件C8における「所定期間」は、麻薬パックごとに個別に設定されていてもよい。
【0084】
条件C9を満足するか否かを判断するために、制御部20は、S516の実行結果に含まれる各アイテムコードに対応する有効期限の値と、現在時刻の値とを比較する。
【0085】
いずれかの警告発生条件を満たす場合には(S518:YES)、制御部20は、警告発生条件に応じた警告メッセージを表示パネル22aおよび/またはスピーカ24aに出力するように表示部22および/または音声出力部24を制御し(S520)、S522へ進む。いずれの警告発生条件を満たさない場合には(S518:NO)、制御部20は、警告メッセージを出力しないようにしてS522へ進む。
S522では制御部20は、S516でのフルスキャンの実行結果に基づいて、トランザクションログデータベース233(トランザクションログDB)および在庫データベース232(在庫DB)を更新し、その後アイテム入庫処理を終了させる。
【0086】
S522のトランザクションログデータベース233の更新において、制御部20は先ず、S516の直前に在庫データベース232に記録されていたデータと、S516でのフルスキャンの実行結果との差分に基づいて、入庫された麻薬パックを特定する。次いで制御部20は、特定した麻薬パックのアイテムデータと、S502において受信済みのユーザデータに含まれるユーザIDとを関連付けて、トランザクションログデータベース233に、特定した麻薬パックの数のレコードを追加する。このとき、追加される各レコードの「トランザクションID」フィールドには、他のレコードの値と重複しない値が記録される。「ユーザID」フィールドにはS502で読み込まれたユーザデータに含まれるユーザIDの値が記録される。「アイテムコード」および「ロット番号」の各フィールドには上記特定した麻薬パックのアイテムデータに含まれるアイテムコードおよびロット番号の値が記録される。「作業コード」フィールドには「0」(入庫)が記録される。「ログ日時」フィールドには現在時刻の値が記録される。
【0087】
S522の在庫データベース232の更新において、制御部20は以下のようにして、入庫された麻薬パックに対応する「在庫量」フィールドの値を更新する。すなわち、制御部20は先ず、入庫された麻薬パックが直前に出庫されたときのトランザクションログデータベース233のレコード(換言すれば、S32において特定された処方箋No.が記録されたレコードであって作業コードが「入庫」となっている直近のレコード)を読み出す。次いで制御部20は、読み出したレコードに含まれる「出庫時の在庫量」フィールドの値から、S510で受け付けた麻薬の使用量の値を減算した値を、入庫された麻薬パックに対応する、在庫データベース232の「在庫量」フィールドに書き込む。
なお、新しい麻薬パックの入庫である場合、つまり、S32(
図12)において特定された処方箋No.が記録されたレコードが存在しない場合、制御部20は、当該麻薬パックに対応する在庫データベース232の「在庫量」フィールドに、当該麻薬パックのアイテムデータに含まれる初期含有量の値を書き込む。
【0088】
以上説明したように、本実施形態のアイテム保管システムによれば、1または複数の同一の麻薬(アイテムの一例)を含む麻薬パック(アイテム容器の一例)を複数保管するときに、麻薬パックごとに保管庫内の麻薬の在庫量を管理することができる。
【0089】
(2)第2の実施形態
以下、本発明の情報処理システムの第2の実施形態に係るアイテム保管システムについて説明する。本実施形態のアイテム保管システムに含まれる保管庫1およびプリンタ8のハードウェア構成は、第1の実施形態において説明したものと同じである。第1の実施形態と異なるのは、在庫データベース232の「在庫量」フィールドの更新方法にある。
【0090】
第1の実施形態では、ユーザからの入力情報に基づいてアイテムとしての麻薬の使用量の情報を取得し(
図14のS510参照)、取得した情報に基づいて在庫データベース232の「在庫量」フィールドの値を更新する場合について説明した。それに対し、本実施形態では、保管庫1の制御部20は、
図12のS32において受信した処方箋データに基づいて在庫データベース232の「在庫量」フィールドの値を更新する。
本実施形態のアイテム保管システムの処方箋処理は図示しないが、以下の点が第1の実施形態で説明したもの(
図12〜14のフローチャート)と異なる。すなわち、
図14のアイテム出庫処理において、本実施形態ではS510の処理は不要である。その代わりS522において在庫データベース232を更新するときに、制御部20は、S32で受信した処方箋データ(
図5参照)に含まれるアイテムコードごとの「使用量」フィールドの値の分だけ低下させるように、在庫データベース232の「在庫量」フィールドの値を更新する。
【0091】
本実施形態のアイテム保管システムによれば、第1の実施形態のシステムと比較して、ユーザによる入力の煩雑さを防止しつつ、麻薬パックごとに保管庫内の麻薬の在庫量を管理することができるという利点がある。
【0092】
(3)第3の実施形態
以下、本発明の情報処理システムの第3の実施形態に係るアイテム保管システムについて説明する。本実施形態のアイテム保管システムに含まれる保管庫1Aは、第1の実施形態の保管庫1と比較して、以下の点が異なる。
すなわち、本実施形態の保管庫1Aの内部の各ラックは、筐体2内において、麻薬パックを収容するために麻薬パックごとに割り当てられた1または複数の収容区画を備える。さらに保管庫1Aの内部の各ラックは、収容区画ごとに、収容区画に割り当てられている麻薬パックの重量を検出する重量センサを備える。なお、本実施形態では、筐体2の内部には、収容区画ごとに、同一の麻薬が含まれた麻薬パックが1または複数収容されている。
【0093】
図16は、第3の実施形態に係る保管庫1Aのラックの構成例を示す図である。
図16では、保管庫1Aの内部の複数のラックのうち1つのラックR1について、その側断面とX−X断面とを示している。
図16に示す例では、1つのラックに対して3×4の12個の収容区画D(1,1)〜D(4,3)が設けられており、各収容区画には、麻薬パックを1または複数収容できる構造となっている。各収容区画の底面部には重量センサWSが設けられており、それによって各収容区画に置かれた麻薬パックの総重量が検出される。
図16に示す例では、1つのラックに対して12個の重量センサが設けられている。
【0094】
なお、上述したように、本実施形態では、各ラックの収容区画ごとに、同一の麻薬が含まれた麻薬パックが置かれることが前提であるため、ユーザが誤った収容区画に麻薬パックを返却することがないように、各収容区画に、対応する麻薬の名称のラベルを貼り付けておくことが好ましい。
【0095】
図17は、第3の実施形態に係る保管庫1Aの内部構成を示すブロック図である。保管庫1Aは、保管庫1と比較して、重量センサユニット29を含む点、および、記憶部23Aが記憶部23に対して収容区画データベース234をさらに含む点で異なる。
重量センサユニット29は、保管庫1Aの内部の収容区画ごとに設けられたすべての重量センサWS(
図16に示した例では、12個/ラック×7(ラック)=84個)からの各検出値を取り込み、各検出値を制御部20へ送信する。なお、収容区画の数よびレイアウトは、当業者によって適宜改変可能である。
【0096】
図18は、収容区画データベース234のデータ構成を例示する図である。
図18に示すように、収容区画データベース234では、各ラックの収容区画を特定する値と、収容区画に収容される麻薬パックに含まれる麻薬のアイテムコードと、が対応付けられている。収容区画データベース234は、各収容区画に収容された麻薬パックと、その重量の検出値とを対応付けるために参照される。
本実施形態では、ユーザが保管庫1A内の各収容区画に収容させる麻薬パックの種類を変更する場合、表示パネル22aに対する入力に応じて、収容区画データベース234が適宜書き換えられるように構成されていることが好ましい。
【0097】
本実施形態のアイテム保管システムの処方箋処理は、第1の実施形態で説明したもの(
図12〜14)と比較して、アイテム入庫処理が異なる。
図19に、第3の実施形態に係るアイテム入庫処理のフローチャートを示す。なお、
図19のフローチャートの中で、
図14のフローチャートと同一の処理については同一の符合を付して重複説明を省略する。
図19のアイテム出庫処理では、
図14に含まれるS510の処理は不要であり、その代わりS517の処理がフルスキャンの実行後に追加される。S517において制御部20は、重量センサユニット29から筐体2内の各収容区画に配置された重量センサの検出値を受信して読み込む。
【0098】
S522において在庫データベース232を更新するときに、制御部20は先ず、収容区画データベース234を参照して、各収容区画に対応付けられたアイテムコードと、アイテムコードに対応する麻薬パックの重量値と、を対応付ける。なお、麻薬パックごとに、内部に含まれる錠剤単品または分包単品の重量は一定であるから、麻薬パックとその中に含まれる麻薬の錠剤の個数または分包の個数との関係は既知である。そこで、制御部20は、所定の対応テーブルあるいは所定の演算式を用いて、アイテムコードに対応する麻薬パックの重量値を、当該麻薬パックに含まれる麻薬の錠剤の個数または分包の個数に換算する。
次いで制御部20は、在庫データベース232において、アイテムコードに対応する「在庫量」フィールドの値を、上記換算によって得られた、アイテムコードに対応する麻薬パックに含まれる麻薬の錠剤の個数または分包の個数に書き換える。これによって、アイテムコードに対応する麻薬パックごとに在庫量が更新される。
【0099】
本実施形態のアイテム保管システムによれば、保管庫内に保管されている麻薬パックごとの重量値に基づいて麻薬の錠剤の個数または分包の個数の在庫量を精度良く管理することができる。また、本実施形態のアイテム保管システムによれば、第1および第2の実施形態とは異なり、重量値によって在庫量を算出しているため、麻薬パックが液状の麻薬が包含された容器である場合であっても在庫量を管理することができるようになる。
【0100】
以上、本発明の実施形態について詳細に説明したが、本発明の範囲は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。また、上記の実施形態および変形例に記載された複数の技術的事項は、適宜組合せ可能である。
【0101】
上述した各実施形態では、フルスキャンを実行した後に警告発生条件を満たすか否かを判断する処理を実行する場合について説明した。この処理は必ずしも必須の処理ではないが、この処理を行うことで、以下の利点がある。
すなわち、条件C1,C6を設定することで、本来行うべき作業とは異なる作業を行っている場合にユーザに適時に報知することができる。
条件C2,C3,C5,C8,C9を設定することで、誤った薬を患者に投与することや、誤った量の薬を患者に投与すること、有効期限が切れた薬を患者に投与すること等を事前にユーザが認識することができ、あるいは、事後に直ちにユーザが認識することができる。
条件C4を設定することで、保管庫1内に同一の麻薬を含む麻薬パックが複数収容されている場合に、有効期限が早く到来する麻薬パックから順に使用されるようになるため、麻薬パックを効率良く使用することができる。
条件C7を設定することで、保管庫1内の麻薬パックの適切な管理を維持することができる。
【0102】
なお、上述した実施形態では、警告発生条件の例として、「保管庫1内に有効期限が切れた麻薬パックが存在すること」(条件C5,C9)を挙げたが、「現在時刻から有効期限までの時間が所定時間より短いこと」であってもよい。このとき、所定時間の長さは、保管対象の麻薬パックに応じて適宜決定することができる。
【0103】
上述した実施形態では、警告発生条件を満たした場合に、保管庫の表示および/または音声によってユーザに報知する例を説明したが、かかる報知方法に限られない。例えば保管庫1の制御部20は、計億発生条件を満たしたと判断した場合、WiFi(登録商標)を経由して監督者へ電子メールが送信されるようにUSBインタフェース25が制御されるようにしてもよい。
【0104】
上述した各実施形態では、ユーザカードによる認証(ユーザ認証)が成功した場合に保管庫のドアを解錠する場合について説明したが、この場合に限られない。しかし、ユーザ認証が成功した場合に保管庫のドアを解錠することで、保管庫を使用するユーザを特定のユーザに制限することで、保管庫内のアイテムに対するアクセスを効果的に制限することができる。上述した実施形態において例示したように、アイテムが麻薬パックのような取り扱いに注意を要するアイテムの場合には、ユーザ認証を行うことは特に有効である。また、ユーザによる保管庫内の作業が完了した後に(つまり、ドアが閉状態となった後に)ドアを施錠することで、保管庫内部へのアクセス制限を確実に行うことができる。
【0105】
なお、在庫データベース232を設けずに各麻薬パックの在庫量を管理することもできる。例えば、各実施形態では、リーダユニット21は、リーダライタ(R/W)ユニットであってもよい。そして、R/Wユニットは、麻薬パックに貼り付けられたラベルをアクセスアンテナ設置部10にかざしたときに、アクセスアンテナAAを介してラベルに含まれるアイテムタグのデータ(アイテムデータ)を読み取り、あるいはアイテムタグに書き込みを行っても良い。この場合、アイテムデータ(
図3)は、「初期含有量」に代えて「在庫量」のフィールドを設け、アイテムタグによって直接在庫量を管理することができる。
例えば、第1の実施形態では、フルスキャン(
図14のS516)の実行後に入庫された麻薬パックを特定し、特定した麻薬パックのアイテムタグのデータ(アイテムデータ)の「在庫量」フィールドの値がS510で受け付けられた麻薬パックの使用量の分だけ低下させるように「在庫量」フィールドの値を書き換える。
また、第2の実施形態では、S34(
図12参照)でアイテム入庫(返却)と判断された後に、返却対象の麻薬パックを入庫前にアクセスアンテナ設置部10にかざした場合には、R/Wユニットは、S32(
図12参照)で読み出された処方箋データに含まれる「使用量」フィールドの値の分、アイテムデータの「在庫量」フィールドの値が低下するようにするように「在庫量」フィールドの値を書き換える。
以上のようにすることで、アイテムタグによって各麻薬パックの在庫量を管理することができ、在庫データベース232によって各麻薬パックの在庫量を管理しなくても済む。
【0106】
上述した各実施形態では、アイテムの例として麻薬、アイテム容器の例として麻薬パックを挙げたが、この例に限られない。他の例として、アイテムが血液、アイテム容器が血液バッグ等であってもよい。また、アイテムは、劇薬、向精神薬であって、アイテム容器がそれぞれ、劇薬パック、向精神薬パックであってもよい。