次に、添付図面を参照して本発明の実施形態を詳細に説明する。
図1から図3を参照すると、本発明の実施形態に係るハイブリッド型の薬剤払出し装置10は、一つの筐体(装置本体11)内に、整列収容型薬剤払出し装置(第1の薬剤払出し部)12、ランダム収容型薬剤払出し装置(第2の薬剤払出し部)13、及び特殊薬剤用薬剤払出し装置(第3の薬剤払出し部)14A,14Bを備えている。また、薬剤払出し装置10は、整列型、ランダム型、及び特殊型の薬剤払出し装置12,13,14A,14Bから払い出された薬剤をストッカ(薬剤蓄積部)15に搬送するための搬送部16を備えている。さらに、空のトレー17をストッカ15と対向する位置に搬送し、ストッカ15から薬剤を供給済みのトレー17を装置外に搬送するトレー搬送部18を備えている。
装置本体11内での整列収容型薬剤払出し装置12、ランダム収容型薬剤払出し装置13、特殊薬剤用薬剤払出し装置14A,14B、搬送部16、及びストッカ15の配置について説明すると、まず整列収容型薬剤払出し装置12とランダム収容型薬剤払出し装置13は縦方向ないしは上下方向(Z方向)に並んで配置されている。また、特殊薬剤用薬剤払出し装置14A,14Bは、整列収容型薬剤払出し装置12よりも下側に、かつランダム収容型薬剤払出し装置13と横方向ないしは水平方向(Y方向)に並んで配置されている。また、ストッカ15はランダム収容型薬剤払出し装置13及び特殊薬剤用薬剤払出し装置14A,14Bよりも下側に配置されている。さらに、搬送部16は後述するリフター41を除き、ランダム収容型薬剤払出し装置13及び特殊薬剤用薬剤払出し装置14A,14Bよりも下側に配置されている。
図4から図12をさらに参照して整列収容型薬剤払出し装置12について説明する。装置本体11には水平方向に延びる棚20が上下方向に複数段設けられている。各棚20毎に複数個の薬剤カセット(第1の容器)21が着脱可能に装着されている。
図6に示すように、各薬剤カセット21には本例ではアンプルである薬剤(第1の薬剤)22Aが一列に並んで整列されている。図4に示すように、棚20の薬剤カセット21が装着される位置では装置本体1の背面側に、回転軸の一端部に設けた従動ギア23を介して後述するロータ駆動機構46により回転駆動されるロータ(第1の払出し機構)25が設けられている。ロータ25は、切除されることにより形成された円弧面25aで、薬剤カセット21からの薬剤22Aを受け止めて回転することにより、次の薬剤22Aを外周面25bで支持し、円弧面5aで受け止めた薬剤を一つずつ取り出して払い出す。
図5及び図6を参照すると、薬剤カセット21は縦長の箱状で、上面が支軸26を中心として回転自在に設けた蓋体27によって閉塞されている。蓋体27には、中央部に長手方向に延びる押え部27aが形成され、収容した薬剤22Aに当接して所望の整列状態を得ることができるようになっている。また、図11に示すように、薬剤カセット21の前面側の端面には、薬剤カセット番号、収容される薬剤の名称、及び収容量を記載した表示部28が設けられている。図6に示すように、薬剤カセット21の前面側には棚20に対して薬剤カセット21を閉鎖状態に維持するための係止部29が形成されている。一方、薬剤カセット21の背面側の端部近傍には、薬剤カセット21を棚20から取り外すと突出位置となって薬剤の脱落を防止、薬剤カセット21を棚に対して正しく装着すると引き込み位置となって薬剤22Aの払出しを可能とするストッパ30が設けられている。
図5及び図6を参照すると、薬剤カセット2の内部底面には、長手方向に延びる係止ラック32が形成されている。この係止ラック32は、長手方向に所定ピッチで設けた複数の縦長の凹部32aで構成されている。この係止ラック32上に付勢ユニット(付勢機構)33が配置されている。この付勢ユニット33は定荷重ばね34により背面側へ付勢されている。また、下端側に図示しないピニオン部を有し、上端側に操作部35aを有する回転可能な係止部材35を備えている。蓋体27を開放した状態では係止部材35のピニオン部が係止ラック32に噛み合うことにより付勢ユニット33の移動が阻止されるが、蓋体27を閉鎖すると操作部35aが押し下げられることでピニオン部と係止ラック32の係合が解除される。その結果、付勢ユニット33を介して作用する定荷重の付勢力により薬剤カセット21内の薬剤は前面側から背面側に向けて付勢される。
図4に概略的に示すように、各棚20の各薬剤カセット21毎に薬剤22Aの払出しを検出するためのセンサ36が設けられている。
なお、図9に示すように、装置本体1の前面上部の操作パネル37にはスタートボタン、ストップボタン、薬品回収ボタン、及びキャンセルボタンと、オンライン、エラー、及び欠品の各LEDが設けられている。また、図10に示すように、各薬剤カセット21の列毎に配置された表示パネル38には、薬剤カセット番号、エラーLED、欠品LEDが設けられている。操作パネル37で、オンラインLEDが点灯している際、動作可能である。薬剤カセット2内の薬剤がなくなり欠品エラーが発生すると、欠品LEDが緑色で点灯し、表示パネル38に薬剤カセット番号が表示されると共に欠品LEDが点灯する。これにより、どの列であるのかが一目で分かり、かつ、どの薬剤カセットであるのかを識別容易となる。他の薬剤の払出作業を続行する場合には、欠品エラーをキャンセルすることができ、各パネル37,38の欠品LED及び表示パネル38の薬剤カセット番号は緑点滅状態に変化する。また、薬剤カセット2自体にエラーが発生した場合には、各パネル37,38のエラーLEDが赤点灯すると共に、表示パネル38の薬剤カセット番号が赤点滅する。また、図12に示すように、薬剤カセット21の側部には例えばバーコードである被検出部39が設けられ、この被検出部39を装置本体11側のセンサ(図示せず)が検出するか否かにより、薬剤カセット21の装着及び未装着が検出される。薬剤カセット21の未装着が検出されると、各パネル37,38の欠品LEDが緑点滅し、表示パネル38の薬剤カセット番号が緑点灯する。
ここで図2及び図3を参照して搬送部16の一部であるリフター41について説明する。装置本体11内の整列収容型薬剤払出し装置12及びランダム収容型薬剤払出し装置13よりも背面側には上下方向に延びるガイドロッド42が配設されており、リフター41は概略的に示す駆動機構43(例えばタイミングベルト、プーリ、及び駆動用モータからなる)によりガイドロッド42に沿って上昇可能である。ストッカ15は水平方向(X方向)に延びる細長い箱状であり、前面側に整列収容型薬剤払出し装置12及びランダム収容型薬剤払出し装置13から薬剤を投入するための開口44が設けられる。また、リフター41の底板45は概略的に示す駆動機構46により開閉駆動可能であり、底板45を開放することで内部の薬剤が排出される。ストッカ15の幅ないしはX方向の寸法は整列収容型薬剤払出し装置12の棚20の幅以上に設定されており、同一棚段の薬剤カセット21であればストッカ15を昇降移動させることなく薬剤を払い出すことができる。
ストッカ15の上部にはロータ駆動機構46が取り付けられている。図7及び図8を参照すると、ロータ駆動機構46はリフター41に固定したガイド板47に駆動モータ48と、回動板49とを設け、駆動モータ48の回転軸に設けた駆動ギア48aから回動板49に設けた中間ギア51a,51b,51c,51dを介して動力伝達ギア51eを回転させるようにしたものである。回動板49は、中間ギア51aと共に、ガイド板47に対して支軸52を中心として回転自在に取り付けられている。また、中間ギア51aにはワンウェイクラッチが内蔵され、駆動モータ48を逆転駆動して一方向に回転するときにのみ動力が伝達され(図7中矢印a方向に回転し)、回動板34を略水平方向とした退避位置(図7)となる。一方、また、駆動モータ48を正転駆動すれば、中間ギア51aから回動板49には動力は伝達されず、回動板49は自重(スプリングにより付勢してもよい。)により鉛直下方に向かう駆動位置(図8)に位置する。この状態で、動力伝達ギア51eがロータ25の従動ギア23に噛合し、駆動モータ33の駆動力が前記各ギアを介して従動ギア23(ロータ5)に伝達される。前述のようにロータ5が回転すると薬剤カセット21から1個ずつ薬剤22Aが払い出される。
次に、図1、図2、及び図13から図15を参照してランダム収容型薬剤払出し装置13について説明する。装置本体11には水平方向に延びる棚60が上下方向に複数段設けられている。各棚60毎に複数個の薬剤カセット(第2の容器)61が着脱可能に装着されている。
図13から図15に示すように、各薬剤カセット61は本実施形態でアンプルである薬剤(第2の薬剤)22Bを非整列状態で収容可能な薬剤カセット本体62と、この薬剤カセット本体62の底部に設けた搬送ベルト(移送機構)63と、装置本体11への装着時に背面側と薬剤カセット本体62の開口部62aに設けた扉64とを備えている。扉64は支軸65を中心に回動可能である。また、扉64の両側にはガイド突起66が設けられており、このガイド突起66が棚60側のガイド溝(図示せず)で案内されることにより、扉64が開閉する。棚60から取り外した状態では扉64はその両側に設けられた嵌合溝64aに薬剤カセット本体62側の嵌合突起67が嵌まり込むことで実線で示すように閉鎖位置に保持される。薬剤カセット61を棚60に装着するとガイド突起66がガイド溝に案内されることで扉64は開放位置となる。
棚60には薬剤カセット61の背面側に一時収容容器(一時収容部)68と回転体(第2の払出し機構)69が配設されている。また、棚60には薬剤カセット61の背面側には搬送ベルト63の駆動機構(図示せず)が設けられている。
一時収容容器68の入口(薬剤カセット61)側には、薬剤を検出するためのセンサ70が設けられており、このセンサ70が薬剤22Bを検出しないときは搬送ベルト63を駆動され、薬剤22Bを検出するときは搬送ベルト63を停止する。その結果、一時収容容器68内には常に適量の薬剤22Bが収容されている。
回転体69は全体として円柱状であり概略的に示す駆動モータ71によってそれ自体の軸線回りに回転駆動される。回転体69には、一端面の偏心した位置から他端面の中心に向かって傾斜孔69aが穿設されている。また、回転体69の一端面には、先端に向かって徐々に幅狭となる導入補助部69bが傾斜孔69aの縁部と連続するように形成されている。図14及び図15に示すように、回転体69がそれ自体の軸線回りに一回転すると、薬剤22Bが傾斜孔69aを通って払出し口72へ落下する。導入補助部69bを設けることで、薬剤22Bの先端が確実に傾斜孔69aへ案内される。薬剤22Bは払出し口72からリフター41に払い出される。払出し口72の入口付近には薬剤の払出しを検出するためのセンサ73が設けられている。
次に、図1、図2、図16、及び図17を参照して、特殊薬剤用薬剤払出し装置14A,14Bについて説明する。本実施形態の薬剤払出し装置10は、図16に示すブリスターパック1(図23参照)や箱収納型アンプル3(図25参照)を払い出すための特殊薬剤用薬剤払出し装置14A(この例ではブリスターパック1が収容されている)と、図17に示す複連アンプル4(図26参照)を払い出すための特殊薬剤用薬剤払出し装置14Bとをそれぞれ2つ備えている。これらの特殊薬剤用薬剤払出し装置14A,14Bは装置本体11に対して実線で示す収容位置と二点鎖線で示す引出し位置との移動可能な引出し機構75に搭載されている。
図16を参照すると、特殊薬剤用薬剤払出し装置14Aは、扉76により開閉可能な薬剤ケース(薬剤収容部)77を備え、この薬剤ケース77内にブリスターパック1が上下方向に積層された状態で収容される。薬剤ケース77の下側の下部ケース78には、薬剤ケース77の下端開口と対向して薬剤押出し機構(排出機構)79が配設されている。この薬剤押出し機構79は、薬剤ケース77に収容された最下段のブリスターパック1が載置される2条のレール80と、これらのレール80の下方にレール80に沿って配置され、モータ81により正逆転駆動可能なスクリュねじ82と、このスクリュねじ82に沿って往復移動可能な押出爪83とからなっている。
スクリュねじ82が正転すると押出爪83が後方側(図1のように装置本体1を正面から見ると右側)に向かって移動させる。これにより、薬剤ケース77内に積層された複数のブリスターパック1のうち最下段のブリスターパック1が押出爪32に押圧されてレール30上を移動し、後述する搬送コンベア102に落下する。最下段のブリスターパック1が押し出されると、2段目のブリスターパック1がレール80上に自重で降下する。続いて、スクリュねじ31を逆転させる。これにより、押圧爪83は初期位置に戻る。このとき押圧爪83は倒伏状態となりレール30下側に引き込まれるので、ブリスターパック1と干渉しない。
図17を参照すると、特殊薬剤用薬剤払出し装置14Bは、扉85により開閉可能な薬剤ケース(薬剤収容部)86を備え、この薬剤ケース86内に複連アンプル4が上下方向に積層された状態で収容される。薬剤ケース86の下側の下部ケース87には、薬剤ケース86の下端開口と対向して最下段の複連アンプル4が載置される載置部88が設けられている。この載置部88には複連アンプル4の後端(図17において奥側)を図において手前側(−Y方向)に押圧し、傾斜搬送路89に落下させる押出し部材90を備えている。特殊薬剤用薬剤払出し装置14Bの押出爪83と同様に、押出し部材90が初期位置に向けて図において奥側(+Y方向)に移動するときには、引込位置となるので複連アンプル4と干渉しない。傾斜搬送路89を落下する複連アンプル6はモータ91により回転駆動されるカッタ92により切り離し線5aで連結部5が切断されることで、個々のアンプル4に分離される。分離されたアンプル4は後述する搬送コンベア102に落下する。なお、図において93A,93Bは複連アンプル6の通過を検出するためのセンサである。
次に、図1から図3を参照して、リフター41を除く搬送部16について説明する。まず、搬送部16はランダム収容型薬剤払出し装置13と特殊薬剤用薬剤払出し装置14A,14Bの下側に配置された共通搬送コンベア(第1の搬送路)100を備えている。この共通搬送コンベア100は、後述する搬送コンベア101〜104によって搬送された薬剤をその下流側に配置されたストッカ15へ搬送するもので、装置本体11の背面側から前面側へ(−Y方向)に薬剤を搬送する。
リフター41の下側に配置された搬送コンベア(第2の搬送路)101は、リフター41から排出された薬剤を共通搬送コンベア100まで搬送するもので、装置本体11を正面から見て左側から右側(+X方向)に薬剤を搬送する。搬送コンベア101の下流側は共通搬送コンベア100の上流側と合流している。整列収容型薬剤払出し装置12やランダム収容型薬剤払出し装置13から払い出された薬剤はまずリフター41に払い出され、リフター41から搬送コンベア101及び共通搬送コンベア100を介してストッカ15へ搬送される。ただし、リフター41は共通搬送コンベア100の上方まで延びているので、リフター41から落下した薬剤は搬送コンベア101を介することなく共通搬送コンベア100で搬送される場合もある。
特殊薬剤用薬剤払出し装置14A,14Bの引出し機構75に取り付けられた搬送コンベア(第3の搬送路)102は、特殊薬剤用薬剤払出し装置14A,14Bから払い出された薬剤を装置本体11の背面側に搬送するためのもので、装置本体11の前面側から背面側(+Y方向)に薬剤を搬送する。同様に、装置本体11に設けられた搬送コンベア(第3の搬送路)103は、装置本体11の前面側から背面側に薬剤を搬送する。装置本体11内に設けられた搬送コンベア(第4の搬送路)104は、搬送コンベア102,103によって装置本体11の背面側に搬送された薬剤を共通搬送コンベア100に搬送するためのもので、装置本体11を正面から見て左側から右側(+X方向)に薬剤を搬送する。搬送コンベア103は搬送コンベア102よりも下方で搬送コンベア104よりも上方に位置している。搬送コンベア104の上流側には搬送コンベア103の下流側の端部が配置され、下流側は搬送コンベア101と反対側で共通搬送コンベア100に合流している。また、搬送コンベア103の下流側には薬剤のはね上がり防止のための揺動部材105が配設されている。の揺動部材105はその上端側が装置本体11に対して軸支されている。搬送コンベア102から搬送された薬剤が搬送コンベア103上ではねた場合、揺動部材105に当たることで搬送コンベア103上に確実に戻る。また、搬送コンベア103から搬送コンベア104に搬送される前に揺動部材105によって薬剤が揃えられる。特殊薬剤用薬剤払出し装置14A,14Bから払い出された薬剤は、搬送コンベア102,103,104及び共通搬送コンベア100を介してストッカ15へ搬送される。
ストッカ15は、その底部が図2において実線で示す閉鎖位置と、一点鎖線で示す開放位置とに切り替え可能である。ストッカ15は、例えば1つの処方箋分の薬剤が共通搬送路100から搬送されると、閉鎖位置から開放位置に切り換わって薬剤をトレー17に排出し、その後閉鎖位置に戻る。
本実施形態の薬剤払出し装置10は、整列型収容薬剤払出し装置12及びランダム収容型薬剤払出し装置13に加え、特殊薬剤用薬剤払出し装置14A,14Bを備えるので、特殊形態の薬剤を含む種々の薬剤の取り扱いが可能となる。また、整列収容型薬剤払出し装置12及びランダム収容型薬剤払出し装置13とを備えるので、薬剤収容の高集積化と薬剤補充作業の労力低減の両方を達成することができる。
リフター41は整列収容型薬剤払出し装置12とランダム収容型薬剤払出し装置13で共用される。また、薬剤を最終的にストッカ15に送るのは単一の共通搬送コンベア100であり、この共通搬送コンベア100に対して搬送コンベア101から104を介して整列収容型薬剤払出し装置12、ランダム収容型薬剤払出し装置13、及び特殊薬剤用薬剤払出し装置14A,14Bで払い出された薬剤が搬送される。従って、装置本体11の内部空間を有効利用し、装置の小型化を図ることができる。
次に、ランダム収容型薬剤払出し装置13における払出し制御ないしは払出し動作について詳細に説明する。図18を参照すると、整列収容型薬剤払出し装置12のコントローラ(制御部)111は、通信部112、記憶部113、タイマ114、及びカウンタ115を備える。通信部112は、払出しが要求される薬剤の種類及びその個数を含む処方箋情報をホストコンピュータ116から受信する。記憶部113は各棚60の各薬剤カセット61に収容されている薬剤の種類(薬剤レイアウト)等を記憶している。カウンタ115は後述する2種類のカウンタi,tを操作する。また、コントローラ111は、検索部117、割振り処理部118、割り込み処理部119、リフター駆動部120、及び払出し駆動部121を備える。これらは通信部112、記憶部113、タイマ114、カウンタ115、センサ70,73等と協働して払出し制御を実行する。
図19及び図20は払出し制御の位置を示す。図19及び図20の処理において、実際に回転体69の回転駆動(払出し動作)やリフター41の駆動を伴うのは、ステップS19−1、ステップS19−9〜S19−11、及びステップS19−3であり、これら以外の処理についてコントローラ111内部での計算処理として実行される。
まずステップS19−1において通信部112がホストコンピュータ116から処方箋情報を受信すると、ステップS19−2においてカウンタiが1だけインクリメントされる。このカウンタiは処方箋情報毎の薬剤検索を開始する棚60が最上段の棚60から何段目であるか(以下、必要に応じて「棚段」という。)を示し、その初期値は0である。カウンタiの最大値imaxはランダム収容型薬剤払出し装置13が合計何段の棚60を有するかで決まる。例えば、棚60が10段あれば、imaxは10である。最大値imaxまでインクリメントされるとカウンタiは0にクリアされる。処方箋情報を受信する度にステップS19−1においてカウンタiが1だけインクリメントされる。換言すれば、後述する検索部117が薬剤の検索を開始する棚段は1つずつ下側に移動することになる。
次に、ステップS19−3において、カウンタtに現在のカウンタiの値が代入される。カウンタtは第何段目の棚を検索しているのか計数するものである。次に、ステップS19−4において処方完了、すなわち処方箋情報に基づく払出し(後述するように処方箋情報に含まれる薬剤の必要数のすべてが払い出される場合だけでなく、払い出しされていない薬剤が存在する場合もあり得る。)が完了していなければ、ステップS19−4に移行する。次に、ステップS19−5においてカウンタtがカウンタiの最大値imaxよりも小さい場合、すなわち最下段の棚60まで検索が完了していなければステップS19−6に移行する。
ステップS19−6では、検索部117が現在のカウンタtの値に対応する第t段目の棚60に処方箋情報で払い出しが要求されている薬剤が収容された薬剤カセット61があるかを検索する。詳細には、検索部117は前述の記憶部113に記憶された薬剤レイアウトにより第t段目の棚60に含まれる各薬剤カセット61に収容された薬剤と払い出しが要求されている薬剤とを比較する。第t段目の棚60の検索が終了すると、ステップS19−7においてカウンタtが1だけインクリメントされた後、ステップS19−8に移行する。
ステップS19−8では、割振り処理部118が図20に示す割振り処理を実行する。まず、ステップS20−1においてステップS19−6で検索した棚段(第t段目の棚)に、処方箋情報で払い出しが要求されている同一薬剤を収容した薬剤カセット61が複数個あるか否かを検索する。この検索も前述の記憶部113に記憶された薬剤レイアウトに基づいて実行される。ステップS20−1において複数個の薬剤カセット61が存在すればステップS20−2に移行し、存在しなければステップS20−3に移行する。従って、ステップS20−2は当該棚段に同一の薬剤を収容した複数の薬剤カセット61が存在することが前提となる処理である。
ステップS20−2では薬剤カセット61の状態と、カセットタイムスタンプ(容器払出し履歴)とが判断される。薬剤カセット61の状態には、待機状態(薬剤を直ちに払い出せる状態)と、準備状態(払出し準備中の状態)と、欠品又は使用不可状態とがある。カセットタイムスタンプは個々の薬剤カセット61が薬剤の払出しを行った時刻であり、記憶部113に記憶されている。待機状態の薬剤カセット61があれば、その薬剤カセット61を最初に払出しを割り付ける薬剤カセット61に設定する。この時、複数待機状態のものがあれば、カセットタイムスタンプに基づいて古いものを優先して(それ以前に最後に払出しを行った時刻がより以前であるものを優先して)、払出しを割り付ける。また、待機状態の薬剤カセット61が存在せず、準備状態の薬剤カセット61のみの場合にもカセットタイムスタンプに基づいて古いものを優先して払出しを割り付ける。薬剤カセット61の状態を考慮することで払出し時間がより短縮され、カセットタイムスタンプを顧慮することで確実に先入れ先出しを行うことができる。
ステップS20−3では、残割当本数の有無(薬剤カセット61に払出しを割り当てていない薬剤の有無)と、リフター容量に空きがあるかを確認する。リフター容量の空きの有無は後述するリフター払出し情報に基づいて判断される。残割当本数があり、かつリフター容量に空きがあれば、ステップS20−4に該当する薬剤カセット61に薬剤の払出しを1本割り付ける。ステップS20−3において残割当本数が無くなるか、リフター容量に空きがなくなるまで、ステップS20−3で薬剤カセット61への払出しの割り付けが繰り返される。このステップS20−3,S20−4の処理により、リフター41の容量を考慮しつつ、複数の薬剤カセット61に均等に払出しが割り付けられる。リフター容量の空きを確認しつつ払出しの割り付けを行うことで、リフター41の容量をその限度まで有効に利用し、効率的な払出しが可能となる。
ステップS20−3において残割当本数が無くなるか、又はリフター容量に空きがなくれば、ステップS20−5に移行する。このステップS20−6において払出しがない場合、すなわちステップS20−4で払出しの割り付けがなされていない場合には、ステップS20−7を経てステップS19−5に戻り、ステップS19−5〜S19−8の処理が繰り返される。一方、ステップS20−5において払出しがある場合、すなわちステップS20−4で少なくとも1つの薬剤カセットに払出しが割り付けられた場合は、ステップS20−6を経てステップS19−9に移行する。
ステップS19−9ではリフター駆動部120がリフター41をステップS19−8で割振り処理が終了した段数の棚60に移動させる。ここで、このステップS19−9で初めて実際に装置が駆動され、それより前の処理はコントローラ111の内部処理として実行されることに留意する必要がある。ステップS19−9よりも前の処理(ステップS19−1〜S19−8)は、フローチャート上のステップ数は多いがコントローラ111の内部処理であるので処理に要する時間は極めて短い。次に、ステップS19−10において、払出し駆動部121からの指令に基づいて該当する薬剤カセット61の回転体69が回転駆動され、リフター41へ薬剤が払い出される。この払出し動作の際、払出し実績本数(処方箋情報で払出しが要求されている個々の薬剤について実際にリフター41に払い出された数)が記憶部113に記憶される。また、カセットタイムスタンプが記憶部113に記憶される。さらに、リフター払出し情報(リフター41に払い出された薬剤の数)も記憶部113に記憶される。
当該棚段について払い出し動作が完了すれば、ステップS19−5に戻り、ステップS19−5〜S19−10の処理が繰り返される。
割り込み処理部119は、ステップS19−10の払出し動作中に、ステップS19−4の割り込み条件が発生すると、処理をステップS19−8に戻して割振り処理部118に払出しの割り付けを再度実行させる。割り込み条件としては、第1に払出しを実行すべき薬剤カセット61に薬剤が収容されていないこと(欠品発生)がある。第2に払出しを実行すべき薬剤カセット61が払出し不能となること(払出しエラー)がある。第3に同一棚段に含まれる同一種類の薬剤が収容された薬剤カセット61のうちの一つが残りの他の薬剤カセット61よりも前に必要数(ステップS19−8で割り付けられた数)の払出しを完了したことがある。
ステップS19−5においてカウンタtがimaxを上回った場合、すなわち検索部117が最下段の棚まで薬剤の検索を完了しておりそれ以上リフター41が下段側に移動しない状態となると、ステップS19−12に移行する。ステップS19−12ではカウンタtの値を1に設定する(次回のステップS19−6では第1段の棚60の薬剤カセット61から検索することになる)。次に、ステップS19−3でリフター駆動部120からの指令に基づいて、リフター41が最下方位置まで移動し、収容している薬剤を搬送コンベア100,101を介してストッカ15に排出した後、ステップS19−4に戻る。
ステップS19−4において処方完了であれば、ステップS19−11において通信部112が払出し実績本数をホストコンピュータ116に送信し、1つの処方箋分の処理が終了する。処方完了には、処方箋情報で払出しが要求されているすべての薬剤について、払出し要求本数と払出し実績本数が等しくなった場合(処方箋情報通りの払出しが実際に完了した場合)と、処方箋情報で払出しが要求されているいずれかの薬剤について欠品等で払出しができない場合がある。従って、ホストコンピュータ116が払出し実績本数、払出しが行われなかった薬剤の種類や本数等を把握することができ薬剤の管理が容易になる。
概念化した例に基づいて図19及び図20の処理をさらに説明する。図22はランダム収容型薬剤払出し装置13の薬剤カセット61の配置の一例を概念的に示したもので、図において上下方向が棚段を示し、横方向が同一棚段の薬剤カセット61であることを示す。具体的には、棚段数は5段で各棚段には5個の薬剤カセット61がある。また、各薬剤カセット61に付したアルファベットは薬剤の種類を示す。従って、第2段目の左から2番目、第2段目の左から3番目のカセット、及び第3段目の左から2番目の薬剤カセット61には同一の薬剤が収容される。また、以下の説明では、処方箋情報で要求されている薬剤は、「“C”の薬剤を1個、“G”の薬剤を10個、“V”の薬剤を1個」とする。
この処方箋情報を受信すると(ステップS19−1)、第1段目が検索初期位置に設定され(ステップS19−1,S19−2)、処方完了ではなく(ステップS19−4)、かつカウンタtの値は1であるので、第1段目の棚60が検索される(ステップS19−5,S19−6)。第1段に“C”の薬剤を収容した薬剤カセット61が左から3番目にある。カウンタtを2とした(ステップS19−7)後、割振り処理(ステップS19−8)に移行する。第1段目についてはステップS20−1の処理は成立せず、残割当本数は1でリフタ容量に空きがあるので、左から3番目の薬剤カセット61に1個の払出しが割り付けられる(ステップS20−3,S20−4)。再度ステップS20−3に戻ると残割当本数はすでに0となっているので、ステップS20−5,S20−6を経てステップS19−9に移行する。
リフター41が第1段目の棚60と対応する位置まで移動し(ステップS19−9)、第2段目の左から3番目の薬剤カセット61から“C”の薬剤がリフター41に払い出される(ステップS19−10)。
次に、第2段目の棚60が検索される(ステップS19−5,S19−6)。左から2番目と3番目の薬剤カセット61に払出しが要求されている“G”の薬剤が収容されている。
今回の割振り処理ではステップS20−1の判断が成立する。2番目と3番目の薬剤カセット61のうち一方が待機状態で他方が準備状態であれば、待機状態の方を優先して払出しが割り付けられる。例えば、3番目の薬剤カセット61が待機状態で、2番目の薬剤カセット61が準備状態であれば、3番目の薬剤カセット61に1、3、5、7、及び9個目の払出しが割り付けられ、2番目の薬剤カセット61に2、4、6、8、及び10個目の払出しが割り付けられる。このように薬剤カセット61の状態を考慮して払出しの割り付けを行ことで、薬剤払出しに要する時間の短縮を図ることができる。
一方、2番目と3番目の薬剤カセット61の両方が待機状態であれば、カセットタイムスタンプに基づいて前回の払出しが古い方を優先して交互に払出しが割り付けられる(ステップS20−2〜S20−4)。例えば、2番目の薬剤カセットの方がタイムスタンプが古い場合には、2番目の薬剤カセット61に1、3、5、7、及び9個目の払出しが割り付けられ、3番目の薬剤カセット61に2、4、6、8、及び10個目の払出しが割り付けられる。このように薬剤カセット61が払出しを実行した履歴を考慮して払出しを割り付けることにより、いわゆる先出し先入れをより確実に実現することができる。ただし、後述する実際の払出し動作(ステップS19−10)では、複数の薬剤カセット61(この例では第2段目の左から2番目及び3番目の薬剤カセット61)が交互に払出しを実行するのではなく、複数の薬剤カセット61が独立して同時ないしは並列的にリフター41への払出しを実行する。
割振り処理後、リフター41が実際に第2段目に移動して左から2番目及び3番目の薬剤カセット61から5個ずつ“G”の薬剤が払い出される。このとき例えば2番目の薬剤カセット61が3番目の薬剤カセット61よりも先に払出しを完了した場合、割り込み処理が発生し(ステップS19−14)、再度2番目及び3番目の薬剤カセット61に払出しが割り付けられ、それに基づいて払出しが続行される。かかる再割振りにより払出しに要する時間をさらに短縮することができる。また、例えば2番目の薬剤カセット61が払出し中に欠品状態となっても割り込み処理が発生し(ステップS19−14)、3番目の薬剤カセット61に払出しが再割り付けれされるので、払出しを続行することができる。
“G”の薬剤の払出しが完了すれば、処方箋情報に含まれる残りの薬剤は“V”の薬剤である。第3段目及び第4段目には“V”の薬剤を収容した薬剤カセット61は存在しないので、第3段目及び第4段目については実際のリフター19の移動及び払出しは動作(ステップS19−9,S19−10)は行われず、検索のみが実行される。第5段目には左から3番目に“V”の薬剤を収容した薬剤カセット61があるので、リフター41が第5段目に移動し、左から3番目の薬剤カセット61からVの薬剤が払い出される(ステップS19−9,S19−10)。
“V”の薬剤の払出し後にステップS19−5に戻るとカウンタtの値は「6」であって、imaxである「5」より大きいので、ステップS19−13においてリフター41内の薬剤がストッカー15側に排出される。このように最下段まで薬剤の検索が終了した時点でリフターの薬剤を排出させることで、リフター41の昇降移動動作の頻度を低減し、薬剤払出しに要する時間をさらに短縮することできる。
図21は払出し制御の他の例を示す。図21において、ステップS21−2〜ステップS8及びステップS21−10〜ステップS21の処理は図19と同一である。ステップS21−9ではリフター移動時に記憶部113にリフタータイムスタンプ(リフター移動履歴)を記憶させる。リフタータイムスタンプはリフター41が個々の棚段に移動した時刻である。ステップS21−2では、このリフタータイムスタンプが最も古い棚段の棚段数の値がカウンタiの値に設定される。従って、処方箋情報毎の検索を開始する棚段は最も以前にリフター41が移動した棚段となる。かかる検索初期位置の設定により上段側の棚60と下段側の棚60で払出しが行われる頻度が均一化され、より確実に先入れ先出しを実現することができる。
なお、以上の制御は整列収容型薬剤払出し装置12にも適用することができる。また、整列収容型薬剤払出し装置12の薬剤カセット61と、ランダム収容型薬剤払出し装置13の薬剤カセット61で同一種類の薬剤を収容すれば、整列収容型薬剤払出し装置12からいったん払い出された後に返却された薬品をランダム収容型薬剤払出し装置13に戻すことで、返却された薬剤を効率的に処方に供することができる。