(58)【調査した分野】(Int.Cl.,DB名)
所定の処理において、処理対象物より先行して前記複数の処理が開始された先行処理対象物に対して、前記処理対象物の前記所定の処理が先行して行われた場合における許容先行時間を規定している排出制約が格納されている記憶部と、
複数の前記処理における配列について、前記処理対象物に関する前記配列である処理対象配列の候補を複数生成し、
前記処理対象配列のそれぞれと、前記先行処理対象物に関する前記配列である先行処理対象配列と、における前記所定の処理の完了時刻を比較し、
前記処理対象配列における前記所定の処理の完了時刻が、前記先行処理対象配列における前記所定の処理の完了時刻より早い前記処理対象配列が存在する場合、
前記処理対象配列における前記所定の処理の前記完了時刻と、前記先行処理対象配列における前記所定の処理の前記完了時刻との差が、前記記憶部に格納されている前記排出制約の許容先行時間より大きい前記処理対象配列を、前記排出制約に適合しない前記処理対象配列として削除することで、前記処理対象配列を絞り込む処理部と、
を有することを特徴とする配列生成装置。
【発明を実施するための形態】
【0016】
次に、本発明を実施するための形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
本実施形態では、まず、自動分析システムの一部をなす分析処理システムが、前処理、搬送、分析、後処理の各種モジュールを備える例を述べる。
【0017】
[システム構成]
図1は、本実施形態に係る自動分析システムの構成例を示す図である。
自動分析システム10は、前処理・搬送管理サーバ(配列生成装置)1、分析管理サーバ2、検査情報サーバ3、操作端末4、前処理・搬送モジュール群6および分析モジュール群7を有している。
なお、本実施形態では、各装置あるいはモジュール群を1つずつとしたが、複数台あるいは複数群あってもよい。なお、前処理・搬送モジュール群6および分析モジュール群7をまとめて自動分析システム5と称することがある。
【0018】
また、前処理・搬送モジュール群6と、前処理・搬送管理サーバ1はEthernet(登録商標)などを用いた前処理・搬送装置ネットワーク81を介して接続されている。そして、分析モジュール群7と、分析管理サーバ2はEthernet(登録商標)などを用いた分析装置ネットワーク82を介して接続されている。
また、前処理・搬送管理サーバ1と、分析管理サーバ2と、検査情報サーバ3と、操作端末4はEthernet(登録商標)などを用いた検査情報ネットワーク83を介して接続されている。
さらに、検査情報サーバ3は、Ethernet(登録商標)などを用いた病院ネットワーク84を介して電子カルテシステムなどの病院の他のシステムと接続されている。
なお、
図1に示す各装置1〜7は、1つのネットワークで接続されても、さらに階層分けされたネットワークで接続されてもよい。また、分析処理システム5における、各モジュールは数珠つなぎに接続されてもよい。また、検査室内で使用しても問題のない程度の無線を用いて、無階層の無線ネットワークを構築し、この無線ネットワークで各装置1〜7を接続してもよい。
【0019】
(前処理・搬送サーバ)
前処理・搬送管理サーバ1は、処理部110、設定データ記憶部121、基本ルート記憶部122、中間ルート記憶部123および詳細ルート記憶部124を有する。
処理部110は、情報の処理を行い、基本ルート生成部111、中間ルート生成部112、詳細ルート生成部113、検索処理部114および前処理・搬送制御部115を有する。
基本ルート生成部111は、設定データ記憶部121に格納されている各種設定データを用いて、検体に適合している基本ルート(基本配列)を選択する。
中間ルート生成部112は、基本ルート生成部111が選択した基本ルートを展開し、この展開された基本ルートを、さらに後記する立ち寄り制約で絞り込むことで中間ルートを生成する中間ルート生成を行う。基本ルートの展開は後記して説明する。
詳細ルート生成部113は、中間ルート生成部112が生成した中間ルートにおいて、空いているモジュールを補完し、さらに排出制約で絞り込むことで詳細ルート(処理対象配列)を生成する。
検索処理部114は、ユーザの指示に従ってモジュールの状況確認のための画面などを生成し、操作端末4へ送信する。
前処理・搬送制御部115は、詳細ルート生成部113が生成した詳細ルートに従って前処理・搬送モジュール60を制御する。
【0020】
設定データ記憶部121は、基本ルート、中間ルートおよび詳細ルートを生成するために必要な情報を格納している。
基本ルート記憶部122は、基本ルート生成部111が選択した基本ルートデータ2000(
図20)を格納している。基本ルートについては後記して説明する。
中間ルート記憶部123は、中間ルート生成部112が生成した中間ルートデータ2100(
図21)を格納している。中間ルートについては後記して説明する。
詳細ルート記憶部124は、詳細ルート生成部113が生成した詳細ルートデータ2200(
図22)を格納している。詳細ルートについては後記して説明する。
【0021】
(分析管理サーバ)
分析管理サーバ2は、分析モジュール70を制御する分析制御部21を有する。
(検査情報サーバ3)
検査情報サーバ3は、病院ネットワーク84を介して電子カルテなどを取得し、検体に関する依頼情報を前処理・搬送管理サーバ1へ送信する検査情報管理部31を有する。
(操作端末)
操作端末4は、前処理・搬送管理サーバ1へ情報を入力するための端末であり、情報を入力する入力部41と、情報を出力表示する出力部42とを有する。
(前処理・搬送モジュール)
前処理・搬送モジュール群6を構成する前処理・搬送モジュール60は、前処理・搬送管理サーバ1の前処理・搬送制御部115の指示に従って、前処理・搬送モジュール60自身を制御する前処理・搬送機構制御部61を有する。
(分析モジュール)
分析モジュール群7を構成する分析モジュール70は、分析管理サーバ2の分析制御部21の指示に従って、分析モジュール70自身を制御する分析機構制御部71を有する。
なお、前処理・搬送モジュール60および分析モジュール70については、
図2および
図3を参照して後記する。
また、個々の前処理・搬送モジュール60や、分析モジュール70をまとめてモジュールと称することがある。
【0022】
[分析処理システム]
図2は、本実施形態に係る分析処理システムの構成例を示す図である。
分析処理システム5は、前記したように前処理・搬送モジュール群6(
図1)および分析モジュール群7(
図1)を有している。
前処理・搬送モジュール群6(
図1)は、前処理を行うモジュールとして、投入モジュール201、遠心モジュール202,203、開栓モジュール204および分注モジュール205などを有している。また、前処理・搬送モジュール群6は後処理を行うモジュールとして、閉栓モジュール206および収納モジュール207などを有している。そして、前処理・搬送モジュール群6は、搬送を行うモジュールとして、ラインモジュール211,213,215,217、方向転換モジュール212,216、移載モジュール214,218などを有している。さらに分析モジュール群7(
図1)は、分析部投入モジュール221,231、電解質分析モジュール222,232、生化学分析モジュール223,224、233,234、免疫分析モジュール225、235および分析部収納モジュール226,236などを有している。それぞれのモジュールは
図2に示すような形で接続されている。
【0023】
これらの各モジュールはそれぞれが検体の搬入出を行う複数本の搬送路を内部に備えており、隣接するモジュールの搬送路同士が連結されることで、モジュール間の検体の受け渡しを可能としている。例えば、ライン241とライン242は
図2の左から右へ(すなわち収納モジュール207から遠心モジュール202への方向に)検体を搬送する。また、ライン243は
図2右から左へ(すなわち分注モジュール205から閉栓モジュール206への方向に)検体を搬送する。
【0024】
なお、以降、投入モジュール201は「投入1」、遠心モジュール202は「遠心1」、遠心モジュール203は「遠心2」、開栓モジュール204は「開栓1」、分注モジュール205は「分注1」などと適宜称される。また、閉栓モジュール206は「閉栓1」、収納モジュール207は「収納1」などと適宜称される。さらに、ラインモジュール211,213,215,217はそれぞれ「ライン1」、「ライン2」、「ライン3」、[ライン4」などと適宜称される。そして、方向転換モジュール212,216はそれぞれ「JCT1」、「JCT2」などと適宜称される。また、分析部投入モジュール221,231はそれぞれ「分析部投入1」、「分析部投入2」、電解質分析モジュール222,232はそれぞれ「電解質1」、「電解質2」などと適宜称される。そして、生化学分析モジュール223,224,233,234はそれぞれ「生化1」、「生化2」、「生化3」、「生化4」などと適宜称される。さらに、免疫分析モジュール225,235はそれぞれ「免疫1」、「免疫2」などと適宜称され、分析部収納モジュール226,236はそれぞれ「分析部収納1」、「分析部収納2」などと適宜称される。
【0025】
前処理・搬送モジュール群6の前処理・搬送機構制御部61(
図1)や、分析モジュール群7の分析機構制御部71(
図1)は、前処理・搬送管理サーバ1が出力する詳細ルートに従って、検体の搬送を行う。
【0026】
[搬送機構]
図3は、本実施形態に係る検体の搬送機構の例を示す図である。
図3は、投入モジュール201(
図2)の機構を示しているが、その他のモジュールも概ね同様の構成を有している。
図2に示す投入モジュール201もしくは収納モジュール207から検体301が搬入されるとき、または、分注モジュール205で子検体が新たに作成されるとき、検体301はホルダ303に載置される。このホルダ303は、読み書き可能なRFID(Radio Frequency Identification)タグ304を有している。検体301がホルダ303に載置されると、検体301に貼付されたバーコード302の識別情報が図示しないバーコード読取機によって読み取られる。そして、バーコード読取機で読み取られた識別情報はRFIDリーダライタ307へ送られ、RFIDリーダライタ307からRFIDタグ304に記録される。検体301が載置されたホルダ303は、ベルトライン305によってモジュール内およびモジュール間を搬送される。なお、遠心モジュール202,203(
図2)などを除いて、ホルダ303と検体301は常にペアとなって搬送される。
【0027】
また、モジュール内において、処理または分岐があるときにはストッパ306が検体301を一時停止させ、RFIDリーダライタ307がRFIDタグ304から検体301の識別情報を読み取る。そして、処理機構308が、搬送や処理を行う。その際には、各モジュールの処理内容に応じた処理を処理機構308が処理を行う。例えば、投入モジュール101(
図2)であれば、処理機構308はロボットアームやXYZテーブル機構である。そして、投入モジュール101では、このような処理機構308(ロボットアームやXYZテーブル機構)が、トレイ(図示せず)から検体301を取り出し、ホルダ303へ載置する処理を行う。このような処理機構308もしくは別の処理機構308を組み合わせて、検査に必要な前処理、搬送、分析、後処理などの処理が実現される。
【0028】
[ハードウェア構成]
(前処理・搬送モジュール群および分析モジュール群)
図4は、前処理・搬送モジュール群および分析モジュール群におけるモジュールのハードウェア構成を示す図である。
前処理・搬送モジュール群6(
図1)における前処理・搬送モジュール60および分析モジュール群7(
図1)における分析モジュール70は、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403、外部記憶装置404、通信I/F(Interface)405、コントローラ406がバス409によって互いに接続している。また、コントローラ406には、センサ407およびアクチュエータ408が接続されている。
【0029】
前処理・搬送モジュール群6を構成する前処理・搬送モジュール60における前処理・搬送機構制御部61(
図1)や、分析モジュール群7を構成する分析モジュール70における分析機構制御部71(
図1)は、ROM402もしくは外部記憶装置404に格納されているプログラムがRAM403に読み込まれ、CPU401によって実行されることによって具現化する。また、このようにして具現化した前処理・搬送機構制御部61や、分析機構制御部71は、通信I/F405、センサ407、アクチュエータ408を管理するコントローラ406を制御する。
【0030】
(前処理・搬送管理サーバ、分析管理サーバ、検査情報サーバ、操作端末)
図5は、前処理・搬送管理サーバ、分析管理サーバ、検査情報サーバ、操作端末のハードウェア構成を示す図である。
前処理・搬送管理サーバ1、分析管理サーバ2、検査情報サーバ3、操作端末4は、CPU501、ROM502、RAM503、外部記憶装置504、通信I/F505、キーボード506、マウス507、ディスプレイ508がバス509によって互いに接続されている。
前処理・搬送管理サーバ1の処理部110、基本ルート生成部111、中間ルート生成部112、詳細ルート生成部113、検索処理部114、前処理・搬送制御部115、分析管理サーバ2の分析制御部21、検査情報サーバ3の検査情報管理部31は、ROM502もしくは外部記憶装置504に格納されているプログラムがRAM503に読み込まれ、CPU501によって実行されることにより具現化する。具現化した各部111〜115,21,31は、通信I/F505を介した情報の送受信を行ったり、キーボード506や、マウス507を介して入力された情報を処理したり、ディスプレイ508へ情報を表示させたりする。
【0031】
[データ構造]
次に、
図6から
図22を参照して、本実施形態において使用される各種データの構造を説明する。なお、
図6から
図22に示す各データの内、依頼データ600、分注グループ割り当てデータ700、縮退レベルデータ800、分注グループデータ900、基本ルート定義データ1000、サブルート定義データ1100、代替ルート定義データ1200、モジュール種別データ1300、立ち寄り制約データ1400、立ち寄り先補完データ1500、排出制約データ1600、滞在時間データ1700、搬送時間データ1800は、設定データ記憶部121(
図1)に格納されているデータである。
【0032】
(依頼データ)
図6は、本実施形態に係る依頼データのデータ構造例を示す図である。
依頼データ600は、検査情報サーバ3から前処理・搬送管理サーバ1に送信される検査依頼の内容と、項目グループや、親検体の情報とをひも付けるためのデータである。
図6に示すように、依頼データ600は、依頼ID(Identification)、項目グループID、親検体IDおよび投入状況の各フィールドを有している。
依頼IDは、検査依頼を一意に特定するための識別情報であり、依頼内容が詳細に記述されている依頼内容データ(図示せず)とひも付けるためのIDである。
項目グループIDは、複数の検査項目の組み合わせパターンを表すための識別情報である。項目グループとは、例えば、人間ドック用の検査や、定期検査や、血液検査用の検査、あるいは、再検検査や、緊急検査など、検査の種類に対応している。
【0033】
親検体IDは、患者から採取された検体(これを親検体と称する)を特定するための識別情報である。
投入状況は、検査システムに検体が投入された状況である。なお、投入状況には、分析処理システム5に検体が投入された時刻が格納されてもよい。
【0034】
通常、まず、検査依頼が電子カルテなどで予め検査情報サーバ3に登録される。そして、この検査依頼が検査情報サーバ3を介して前処理・搬送管理サーバ1に送信される。その後、検査室に検体が届くため、依頼データ600が生成された時点では投入状況の欄は「未」となっている。緊急検体や追加項目などの項目変更が生じた場合は、検査技師が操作端末4を介して、依頼データ600を直接入力・修正する。
また、検査項目数が多い場合などには、依頼に対して、1人から複数の親検体が作成される。この場合、依頼データ600には、
図6の例で示すように依頼ID「100101」、項目グループID「10」、親検体ID「1001」、投入状況「済」のエントリと、依頼ID「100101」、項目グループID「10」、親検体ID「1002」、投入状況「未」のエントリが設定されるといったように複数のエントリが設定される。つまり、1人から複数の親検体が作成される場合、同じ依頼IDに対して、複数のエントリが設定される。
なお、依頼データ600は、電子カルテなどから前処理・搬送管理サーバ1が生成するデータもしくは、操作端末4を介して、ユーザが作成するデータである。
【0035】
(分注グループ割り当てデータ)
図7は、本実施形態に係る分注グループ割り当てデータの構造例を示す図である。
分注グループ割り当てデータ700は、
図6にて前記した項目グループに対する親検体と、その親検体から分注される検体(これを子検体と称する)とが親子関係にある(同一の親検体から分注されたことを示す)分注グループの割り当てを表すデータである。分注グループ割り当てデータ700は、項目グループID、縮退レベル、分注グループIDの各フィールドを有している。
項目グループIDは、
図6において説明済みであるため、ここでは説明を省略する。
【0036】
縮退レベルは、モジュールの状態に基づく分析処理システム5の縮退具合を示す。ここで、縮退とは、モジュールが停止状態あるいは処理能力が低下していることを示す。例えば、モジュールの不具合で、そのモジュールが使用できなかったり、検体の吸入口にフィブリン(繊維状のタンパク質)が絡みついていたりするため、処理能力が低下しているなどしている場合、そのモジュールが行う検査項目は縮退が発生しているという。ここでは、縮退のない状態を縮退レベル「0」とし、縮退がある状態を縮退レベル「1」とするが、これ以外に縮退の状態などに応じて段階的に設定してもよい。縮退レベルは、各項目グループと、項目グループで使用されるモジュールの状態に対して予め定義され、各管理サーバ1,2の各制御部115,21によって更新される。
分注グループIDは、同一の依頼内容に応じて分注が定義されていることを示す識別情報である。ここで、分注グループIDは、異なる人物でも同じIDが付される場合がある。例えば、同じ検査を受ける患者A、患者Bがいたとすると、これらの患者は、同じ検査(分注グループ)に属すので、それぞれ同じ項目グループID、分注グループIDが付される。
【0037】
図7の1行目の例は、項目グループID「10」に対して、まったく縮退のない場合(縮退レベル「0」)に分注グループID「101」が割り当てられていることを示している。同様に、
図7の2行目は、項目グループID「10」に対して、縮退がある場合(縮退レベル「1」)に、分注グループID「201」が割り当てられていることを示している。
なお、分注グループ割り当てデータ700は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0038】
(縮退レベルデータ)
図8は、本実施形態に係る縮退レベルデータのデータ構造例を示す図である。
縮退レベルデータ800は、項目グループに対する現在の縮退レベルを示すデータである。縮退レベルデータ800は、項目グループIDおよび縮退レベルの各フィールドを有している。
なお、項目グループIDおよび縮退レベルは、
図7において説明済みであるため、ここでは説明を省略する。
例えば、
図8の1行目の例では、項目グループID「10」で使用するモジュールのすべて正常である場合(縮退がない場合:縮退レベル「0」)を示している。
なお、縮退レベルデータ800は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0039】
(分注グループデータ)
図9は、本実施形態にかかる分注グループデータの構造例を示す図である。
分注グループデータ900は、分注グループにおける親検体と、その親検体から分注される子検体の搬送ルート(以下、適宜ルート(配列)と称する)を示すデータである。分注グループデータ900は、分注グループID、親No、子Noおよび基本ルートIDのフィールドを有している。
分注グループIDは、
図7にて説明済みであるため、ここでは説明を省略する。
親Noは、同じ分注グループに属し、かつ同じ患者から採取された親検体のうち、何個目の親検体かを示している。
子Noは、同じ親検体から分注された子検体のうち、何個目の子検体かを示している。
ここで、
図9の例を参照して、親Noと、子Noについて詳細に説明する。同じ親Noに対応している子Noは、同じ親検体から分注されていることを示す。例えば、
図9の2行目および3行目は、親No「1」の検体から2つの子検体(子No「1」、「2」)が分注されることを示している。なお、子No「0」は親検体自身であることを示す。
図9で示されている例における検体は、同一の人物から採取された検体である。つまり、同一の人物から、親No「1」、「2」の2つの検体が採取されている。
【0040】
基本ルートIDは、
図10で設定されている基本ルートを識別するための識別情報であり、親検体、子検体に割り当てられるルートを示している。基本ルートについては後記して説明する。
例えば、
図9の1行目のエントリは、分注グループID「101」に属す親検体(親No「1」、子No「0」)が、基本ルートID「201」のルートで搬送されることを示している。同様に、
図9の2行目のエントリは、分注グループID「101」に属し、親No「1」の親検体から分注された子検体の1つ(親No「1」、子No「1」)が、基本ルートID「301」のルートで搬送されることを示している。
なお、分注グループデータ900は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0041】
(基本ルート定義データ)
図10は、本実施形態に係る基本ルート定義データの構造例を示す図である。
基本ルート定義データ1000は、基本ルートIDにひも付けられている基本ルートを設定するためのデータである。基本ルートとは、必ず通るべきモジュールと、その順番に関する情報が記載されているものであり、検体が通過するすべてのモジュールが記載されているものではない。
基本ルート定義データ1000は、基本ルートIDおよび基本ルートのフィールドを有している。
基本ルートIDは、
図9において説明済みであるため、説明を省略する。
基本ルートは、基本ルートIDに対応する基本ルートである。
【0042】
ここで、本実施形態共通のルートデータの表記方法を説明する。本実施形態では、モジュール状態に応じて最適な経路が後で決定できるように、“A⇒B”、“A→B”、“{A,B}”、“[A|B]”といった記法が用いられることによって、ルートデータが柔軟に表現される。
まず、“A⇒B”は、検体がモジュールAに搬送された後に、モジュールBへ搬送されることを意味する。この時、検体は、モジュールAとモジュールBの間に他のモジュールを経由する可能性がある。
“A→B”は、先の“⇒”と同様に、検体がモジュールAに搬送された後に、モジュールBへ搬送されることを意味する。しかしながら、検体は、モジュールAとモジュールBの間に他のモジュールを経由しない。
【0043】
“{A,B}”は、検体がモジュールAとモジュールBに搬送されることを意味する。このとき、モジュールAとモジュールBとの間の順序関係は規定されない。すなわち、“{A,B}”において検体は“A⇒B”で搬送されてもB⇒Aで搬送されてもよい。
“[A|B]”は、検体がモジュールAかモジュールBのどちらか一方に搬送されることを意味する。
【0044】
このような表記方法を用いることで、検体が、前記した電解質1と、生化1および生化2のどちらか一方と、免疫1に搬送(いずれも順序は問わない)後、分析部収納1に搬送される場合、{電解質1,[生化1|生化2],免疫1}⇒分析部収納1といった記述で基本ルートが表現される。
【0045】
なお、
図10の基本ルート定義データ1000では、最初のモジュールである「投入」を省略している。これは、どの検体も最初に通過するものであるためである。
例えば、
図10の基本ルートID「101」は、収納部への搬送である“収納1”とのみ記述されているが、実際には“投入⇒収納1”である。同様に、基本ルートID「201」は、分注1へ搬送後、収納1に搬送する“分注1⇒収納1”と記述されているが、実際には“投入⇒分注1⇒収納1”である。
また、“フル1”、“フル2”は、
図11のサブルート定義データ1100で定義されるサブルートIDである。
なお、
図10の基本ルートID「303」は、サブルート「フル1」および「フル2」のどちらか一方が使用されることを意味している。
なお、基本ルート定義データ1000は、
図29で後記する基本ルート作成画面2900を用いて、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0046】
(サブルート定義データ)
図11は、本実施形態に係るサブルート定義データの構造例を示す図である。
サブルート定義データ1100は、部分的な搬送経路を1つの搬送先のように扱うための定義を行うためのデータである。すなわち、サブルートは、異なる基本ルートにおいて、同じようなルートが用いられる際に、その入力を簡便にするために設定されるルートである。
サブルート定義データ1100は、サブルートIDおよびサブルートのフィールドを有している。
サブルートIDは、サブルートを特定するための識別情報である。
サブルートは、前記した表記方法に従って定義される搬送経路である。
図11の例において、サブルートID「フル1」は、“{電解質1,[生化1|生化2],免疫1}⇒分析部収納1”と定義されている。同様に、サブルートID「フル2」は、 “{電解質2,[生化3|生化4],免疫2}⇒分析部収納2”と定義されている。
なお、サブルート定義データ1100は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0047】
(代替ルート定義データ)
図12は、本実施形態に係る代替ルート定義データの構造例を示す図である。
代替ルート定義データ1200は、生成されたルート(後記する中間ルートおよび詳細ルート)について、後記する立ち寄り制約や、排出条件や、モジュール状態などの問題から詳細ルートの再生成を基本ルート生成部111(
図1)が要求された場合において、基本ルートの代替となる基本ルートを定義するものである。
代替ルート定義データ1200は、基本ルートID、代替順位、代替基本ルートIDのフィールドを有している。
基本ルートIDは、
図10において説明済みであるため、ここでは説明を省略する。
代替順位は、代替する順番を示している。まず、基本ルート生成部111は、代替順位「1」の代替基本ルートで代替し、それでも再生成が要求される場合は、代替順位「2」の代替基本ルートで代替を行う。
代替基本ルートIDは、基本ルートIDに対して代替を行う基本ルートの識別情報を示している。
【0048】
図12に示す例に従うと、基本ルート「301」は、基本ルートID「302」、「101」の代替基本ルートを有している。そして、その代替順位は、代替基本ルート「302」が「1」であり、代替基本ルート「101」が「2」である。つまり、基本ルート生成部111は、基本ルート「301」で中間ルート、詳細ルートを生成して再生成が指示されると、まず、代替基本ルート「302」で詳細ルート再生成し、それでも再生成が指示される場合、代替基本ルート「101」で詳細ルートを再生成する。
なお、代替ルート定義データ1200は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0049】
(モジュール種別定義データ)
図13は、本実施形態にかかるモジュール種別定義データの構造例を示す図である。
モジュール種別定義データ1300は、立ち寄り順に関する制約(立ち寄り制約と呼ぶ)を定義する上で用いるモジュールの種別を定義するデータである。
モジュール種別定義データ1300は、モジュールIDおよび種別のフィールドを有している。
モジュールIDは、モジュールを特定するための識別情報である。
種別は、モジュールで行われる処理の種別を示している。
図13の例に従うと、モジュールID「生化1」〜「生化4」を有するモジュールは、生化学(分析)を行うためのモジュールであり、モジュールID「電解質1」、「電解質2」を有するモジュールは、電解質(分析)を行うためのモジュールであり、モジュールID「免疫1」、「免疫2」を有するモジュールは、免疫(分析)を行うためのモジュールである。
なお、モジュール種別定義データ1300は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0050】
(立ち寄り制約データ)
図14は、本実施形態に係る立ち寄り制約データの構造例を示す図である。
立ち寄り制約データ1400は、立ち寄り制約を定義するデータである。立ち寄りとは、搬送されるモジュールの順番を規定することである。
立ち寄り制約データ1400は、立ち寄り制約ID、優先度および立ち寄り制約のフィールドを有する。
立ち寄り制約IDは、立ち寄り制約を特定する識別情報である。
優先度は、立ち寄り制約の優先度合である。本実施形態において、優先度は、「1」を最小、「3」を最大とする。そして、優先度「3」の立ち寄り制約は、この立ち寄り制約で中間ルートを生成することができなければ、検査を取りやめる制約である。優先度「1」、「2」の立ち寄り制約は、この立ち寄り制約では、中間ルートを生成することができなくても、優先度を緩和することで中間ルートの生成を続行する制約である。優先度、および、その緩和については詳細を後記する。
【0051】
図14の例に従うと、立ち寄り制約ID「1」の立ち寄り制約は、“電解質⇒生化学”となっているので、生化学(分析)は、電解質(分析)の後に行うよう制約するものである(優先度「3」)。同様に、立ち寄り制約ID「2」の立ち寄り制約は、“電解質⇒免疫”となっているので、免疫(分析)は、電解質(分析)の後に行うよう制約するものである(優先度「3」)。
なお、立ち寄り制約データ1400は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0052】
(立ち寄り先補完データ)
図15は、本実施形態に係る立ち寄り先補完データの構造例を示す図である。
立ち寄り先補完データ1500は、“A⇒B”といった表現で途中の立ち寄り先が省略された搬送経路を省略のない搬送経路に補完するためのデータである。
立ち寄り先補完データ1500は、搬送元ID、搬送先IDおよび補完ルートのフィールドを有する。
搬送元IDは、搬送元のモジュールIDを示す。搬送元のモジュールとは、“A⇒B”における「A」のモジュールである。
搬送先IDは、搬送先のモジュールIDを示す。搬送先のモジュールとは、“A⇒B”における「B」のモジュールである。
補完ルートは、搬送元のモジュールと、搬送先のモジュールとの間の補完経路である。本実施形態において、補完経路は、予め搬送元から搬送先までの最短経路がユーザによって登録される。
なお、立ち寄り先補完データ1500は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0053】
図15の1行目の例は、搬送元IDが「投入1」であり、搬送先IDが「分注1」であり(すなわち“投入1⇒分注1”)、補完ルートが「遠心1→遠心2→開栓1」である。従って、この例では、詳細ルート生成部113(
図1)が、“投入1⇒分注1”の経路を、“投入1→遠心1→遠心2→開栓1→分注1”と補完する。なお、モジュール内部に汎用の搬送ラインに加え、緊急検体などの優先すべき検体向けの搬送ラインを持つ場合、検体の優先度などにしたがって最短時間の経路が選択されてもよい。
【0054】
(排出制約データ)
図16は、本実施形態に係る排出制約データの構造例を示す図である。
排出制約データ1600は、特定のモジュールにおける先行検体(先行処理対象物)に対して、後発検体(処理対象物)が先行してしまっても、許容される許容先行時間を設定するデータである。許容先行時間とは、先行検体との検査順が逆となっても、許容される時間である。言い換えると、先行検体より後発検体が先行してしまっても、その差が許容先行時間内であれば、先行検体より後発検体が先行している状態が許容される。
なお、ここで先行検体とは、先に分析処理システム5に投入され、先に処理が開始された検体のことである。
【0055】
排出制約データ1600は、項目グループID、チェックポイント、優先度および許容先行時間のフィールドを有する。
項目グループIDは、
図6などで説明済みであるため、ここでは説明を省略する。
チェックポイントは、排出制約をチェックするモジュールである。
優先度は、排出制約の優先度合いである。優先度については後記して説明する。
許容先行時間は、前記したように、先行検体と、後発検体の順番が逆となっても、許容できる時間である。
【0056】
本実施形態では、同じ項目グループにおける検体に対して共通の排出制約を適用するものとする。詳細ルート生成部113(
図1)はチェックポイントとして設定したモジュールから検体が排出される予想時刻に基づいて排出制約をチェックする。例えば、項目グループ10は、「移載1」で最大1分、すべての処理完了時点(「完了」)で最大3分を超えて、後発検体が先行検体より早く処理が完了することを防ぐよう設定されている。なお、予想時刻は詳細ルート生成部113が算出する。
なお、排出制約データ1600は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0057】
(滞在時間データ)
図17は、本実施形態に係る滞在時間データの構造例を示す図である。
滞在時間データ1700は、各モジュールにおいて検体が滞在する時間(つまり、モジュールにおける処理時間)を設定するデータである。
滞在時間データ1700は、モジュールID、モジュール状態、分注グループID、親No、子Noおよび処理時間のフィールドを有する。
モジュールIDは、滞在時間(処理時間)を計算する対象となるモジュールのモジュールIDである。
モジュール状態は、該当するモジュールの現在の状態であり、「正常」、「停止」などが格納される。
分注グループID、親No、子Noは、
図9などで説明済みのため、ここでは説明を省略する。
処理時間は、該当するモジュールでの処理に必要な時間である。処理時間は、分析処理に要する時間の期待値などが用いられてもよい。
【0058】
図17の例は、「分注1」のモジュールが正常に動作している場合、分注グループID「101」の1番目の親検体(親No「1」、子No「0」)の分注処理は50秒かかることが示されている。
なお、本実施形態では処理時間を分析処理時間の期待値としたが、最頻値などでもよいし、正規分布などの統計モデルを仮定して、そのパラメータ、例えば平均や分散によって表現してもよい。
なお、滞在時間データ1700は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0059】
(搬送時間データ)
図18は、本実施形態に係る搬送時間データの構造例を示す図である。
搬送時間データ1800は、モジュール間における検体の搬送時間を設定するデータである。
搬送時間データ1800は、搬送元ID、搬送先IDおよび搬送時間のフィールドを有している。
搬送元IDは、搬送元におけるモジュールのモジュールIDである。
搬送先IDは、搬送先におけるモジュールのモジュールIDである。
搬送時間は、搬送元から搬送先に検体が搬送される時間である。搬送時間は、例えば、検体が搬送されるために要する時間の期待値などが用いられる。
図18の例では、「開栓1」から「分注1」への搬送に4秒かかることが示されている。
なお、搬送時間データ1800は、ユーザもしくはユーザの要求を受けたサービス員が予め手入力しておくデータである。
【0060】
(計画応答メッセージ)
図19は、本実施形態に係る計画応答メッセージである。
図19では、後記する中間ルートもしくは詳細ルートの生成に成功したときの計画応答メッセージの例としてXML(Extensible Markup Language)による計画応答メッセージを示している。なお、「計画」とは、詳細ルートなどで決定されるモジュールの処理計画である。
計画応答メッセージ1900は、計画応答メッセージタグ1901、検体IDタグ1902、計画結果タグ1903、分注グループタグ1910および未解決事項タグ1920を有する。ここで、分注グループタグ1910は、下位タグとして、分注グループIDタグ1911、親Noタグ1912および子Noタグ1913を有する。また、未解決事項タグ1920は、下位タグとして、種別タグ1921、識別子タグ1922および原因タグ1923を有する。
【0061】
計画応答メッセージタグ1901は、本メッセージが計画応答メッセージであることを示している。
検体ID1902は、本メッセージの対象検体を識別するための識別情報である。
計画結果タグ1903は、中間ルートまたは詳細ルートの生成時に行われた処理を示しており、
図19の例では制約緩和することによって、詳細ルートの生成に成功したことを示している。制約の緩和については後記して説明する。
【0062】
分注グループタグ1910では、分注グループIDタグ1911、親Noタグ1912および子Noタグ1913によって、該当する検体の分注グループに関する情報を示している。
未解決事項タグ1920では、計画結果タグ1903で示されている制約緩和に関する情報が記載されており、
図19の例では、先行検体を処理するモジュールが試薬切れによる一時停止をしたことにより、処理対象となっている検体が先行検体より大幅に先行してしまったため、排出制約を緩和したことを示している。なお、種別タグ1921は、制約緩和が行われた場合における対象となった制約の種類であり、識別子タグ1922は、制約緩和が適用された項目グループIDが記述される。
【0063】
しかしながら、他の事項、例えば、立ち寄り制約が原因で中間ルートの生成が失敗した場合、識別子タグ1922には立ち寄り制約IDが記述される。さらに、制約を緩和しても中間ルートや、詳細ルートが生成できなかったり、途中の搬送路が使えなかったりするために、実行可能な詳細ルートを生成できなかった場合、計画結果タグ1903には「失敗」が記述され、わかる限りの原因情報が未解決事項タグ1920に記述される。このとき、未解決事項タグ1920は複数記述されてもよい。一方、まったく問題なく(制約を緩和することなく)中間ルートや詳細ルートが生成できた場合、検体IDタグ1902に検体IDが記述され、計画結果タグ1903に「成功」が記述され、未解決事項タグ1920が記述されていない計画応答メッセージ1900が中間ルート生成部112(
図1)もしくは詳細ルート生成部113(
図1)から基本ルート生成部111(
図1)へ送信される。
【0064】
(基本ルートデータ)
図20は、本実施形態に係る基本ルートデータの構造例を示す図である。
基本ルートデータ2000は、後記する基本ルートの選択処理で選択され、基本ルート記憶部122(
図1)に格納されるデータである。基本ルートデータ2000の生成については、後記して説明する。
基本ルートデータ2000は、各検体(親検体、子検体)に対して選択生成された基本ルートを格納している。
基本ルートデータ2000は、検体ID、依頼ID、分注グループID、親No、子No、基本ルートIDおよび生成時刻のフィールドを有する。
検体IDは、検体を特定するための識別情報である。
依頼IDは、
図6において前記したように検査依頼を一意に特定するための識別情報であり、依頼内容が詳細に記述されている依頼内容データ(図示せず)とひも付けるためのIDである。
分注グループIDは、
図7において前記したように分注関係を特定するための識別情報であり、その詳細は
図9に示す分注グループデータ900で設定されている。
親Noおよび子Noは、
図9の分注グループデータ900で定義されている番号である。
基本ルートIDは、後記する基本ルート選択処理で選択された基本ルートである。
生成時刻は、検体が分析処理システム5(
図1)に投入された時刻や、検体が収納される機能を有したモジュールから搬出された時刻や、子検体が分注された時刻である。
【0065】
図20の1行目の例は、親検体(親No「1」、子No「0」)に関する情報であり、この親検体の検体IDが「1001」である。そして、この例は、この親検体の依頼IDが「100101」であり、分注グループIDが「101」であり、選択された基本ルートの基本ルートIDは「201」であり、検体が分析処理システム5に投入された時刻が「10:15」であることを示している。
また、2行目の例は、検体ID「1001」の親検体から分注された子検体(親No「1」、子No「1」)に関する情報である。そして、この例は、この子検体の検体IDが「1025」であり、依頼IDが「100101」であり、分注グループIDが「101」であり、選択された基本ルートの基本ルートIDは「301」であり、分注された時刻が「10:19」であることを示している。
なお、子検体が生成されていない(分注されていない)場合、生成時刻は「未」は「−1」などが設定される。
【0066】
(中間ルートデータ)
図21は、本実施形態に係る中間ルートデータの構造例を示すデータである。
中間ルートデータ2100は、後記する中間ルートの生成処理で生成されるデータであり、基本ルートを展開したもののうち、立ち寄り制約が満たされるものを選出したものである。中間ルートデータ2100は、中間ルート記憶部123(
図1)に格納されるデータであり、中間ルートデータ2100の生成については、後記して説明する。
中間ルートデータ2100は、検体IDおよび中間ルートを有している。
検体IDは、前記したように検体を特定するための識別情報である。
中間ルートは、前記したように、基本ルートを展開することによって一部詳細化された搬送経路のうち、立ち寄り制約が満たされるものを選出したものである。
【0067】
図21の検体ID「1025」の例では、
図20の基本ルートID「301」の基本ルート(すなわち、「フル1」:
図10および
図11参照)を展開し、さらに
図14の立ち寄り制約が満たされるような搬送経路が、以下の4つの中間ルートのいずれか(“|”)であることを示している。
電解質1⇒生化1⇒免疫1⇒分析部収納1(ルートD1)
電解質1⇒生化2⇒免疫1⇒分析部収納1(ルートD2)
電解質1⇒免疫1⇒生化1⇒分析部収納1(ルートD3)
電解質1⇒免疫1⇒生化2⇒分析部収納1(ルートD4)
ここで、ルートD1〜D4は、説明の関係上便宜的につけた名称である。
【0068】
(詳細ルートデータ)
図22は、本実施形態に係る詳細ルートデータの構造例を示す図である。
詳細ルートデータ2200は、後記する詳細ルートの生成処理で生成されるデータであり、検体に対する立ち寄るモジュールに飛びのない一通りのルートを示すものである。詳細ルートデータ2200の生成については後記して説明する。
詳細ルートデータ2200は、検体IDおよび詳細ルートを有する。
検体IDは、前記したように検体を特定するための識別情報である。
詳細ルートは、中間ルートから生成されるルートであり、ルート中に“⇒”や“(,)”や“[|]”などの表記を含まないルートである。言い換えれば、詳細ルートは、“→”のみを含むルートである。
【0069】
図22の検体ID「1001」の例では、詳細ルートとして以下のルートが生成されていることを示している。
遠心1→遠心2→開栓1→分注1→開栓1(戻り)→遠心2(戻り)→遠心1(戻り)→投入1(戻り)→収納1(戻り)→閉栓1(戻り)→閉栓→収納1
なお、このルートにおける“(戻り)”とは各モジュールの戻りライン(モジュール内に設置されているラインの1つ)を通ることを意味している。
【0070】
[フローチャート]
以下、
図1、
図2、
図23から
図27を適宜参照して、本実施形態に係る処理の手順を説明する。
(メインフローチャート)
図23は、本実施形態に係る前処理・搬送サーバにおける処理の手順を示すフローチャートである。なお、
図23から
図26の処理は、1本の検体について行われる処理である。
まず、本処理開始に先立って、検体に対する依頼情報(電子カルテなどの情報を含む)が検査情報サーバ3(
図1)の検査情報管理部31を介して前処理・搬送管理サーバ1に送信される。前処理・搬送管理サーバ1の処理部110は、送られた依頼情報を基に依頼データ600(
図6)を生成する。なお、依頼データ600は、操作端末4の入力部41を介して、ユーザが作成してもよい。
【0071】
一方、分析処理システム5の投入モジュールに検体が投入されると、投入モジュール201(
図1)の前処理・搬送機構制御部61が検体および検体IDを検出し(ステップS101)、前処理・搬送制御部115へ検出した検体IDを送信する。具体的には、投入モジュール201に検体が投入されると、投入モジュール201(
図2)に設置されているバーコード読取部(不図示)が検体に貼付されているバーコードを読み取ることで検体の識別情報を読み取る。読み取られた識別情報は、RFIDタグリーダライタ307(
図3)に送られる。さらに、RFIDタグリーダライタ307内の図示しない演算部が識別情報を基に検体IDを生成し、検体が載置されるホルダ303(
図3)内のRFIDタグ304(
図3)に送信され、該RFIDタグに、その識別情報と検体IDが格納される。
そして、RFIDタグリーダライタ307から、前処理・搬送機構制御部61へ生成された検体IDが送信される。
【0072】
次に、検体IDを受信した基本ルート生成部111は、予め作成されている基本ルートから、受信した検体IDに対応する検体に対する基本ルートを選択する(S102)。ステップS102の処理については、後記して説明するが、処理対象となっている検体が親検体の場合、基本ルート生成部111は、その親検体と、親検体から分注される子検体に関する基本ルートデータ2000(
図20)を生成する。この際、基本ルートデータ2000における子検体におけるの欄は空欄となっている。処理対象となっている検体が子検体の場合、基本ルート生成部111は、作成されている基本ルートデータ2000で子検体のエントリにおいて空欄となっている箇所に検体IDなどを登録する。詳細は後記するが、例えば、分注1モジュールを経由して1分注し、収納1に収納される親検体の場合、この親検体から分注される子検体のIDはまだ生成されないので、子検体に関する基本ルートデータ2000の検体ID欄と、生成時刻欄には「未」(あるいは「−1」などとしてもよい)が設定される。
【0073】
そして、中間ルート生成部112が、基本ルートデータ2000を基に生成されるルートのうち、予め立ち寄り制約データ1400(
図14)としてユーザに登録されている立ち寄り制約を満足するルートだけを選出することで、中間ルートを生成する(S103)。ステップS103の処理は、後記して説明する。なお、立ち寄り制約を満足する中間ルートが複数ある場合、中間ルート生成部112は、立ち寄り制約を満足するルートのすべてを残す。
【0074】
続いて、詳細ルート生成部113が、処理対象となっている検体に先立って投入された検体(先行検体)の中で、同じ分注グループID、親No、子Noとなる検体を先行検体として選出する(S104)。ここで、分注グループID、親No、子Noで検体を選出する意味は、同じ基本ルートを通る検体を先行検体として選出するためである。すなわち、詳細ルート生成部113は、処理対象となっている検体と同じ搬送ルートをたどることによって処理を達成しうる検体を抽出し、さらにその中で投入時刻が近い2検体を先行検体として選出する。なお、ここでは、先行検体を2検体としたが、1検体以上であればよい。ただし、処理対象となっている検体の投入時刻の近傍(所定時間以内)で先行していることが望ましい。つまり、詳細ルート生成部113は、処理対象となっている検体に先行している検体のうち、同じ分注グループに属する検体を抽出し、その中で生成時刻が最も近い検体を先行検体として選出する。
ステップS104の処理を行うことにより、処理の負荷を大幅に軽減することができる。また、例えば、同じ検査に属する検体についてステップS105の処理を行うので、緊急検体など、急ぎの検体などと、定期検査など時間をかけてもよい検体とを分別して、詳細ルートを生成することができる。
【0075】
次に、詳細ルート生成部113は、最終的なルートである詳細ルートを生成する詳細ルートの生成処理を行う(S105)。ステップS105の処理は後記して説明するが、詳細ルート生成部113は、処理対象となっている検体の中間ルートを補完して複数の詳細ルートを生成した後、ステップS104で選出した先行検体の詳細ルート(先行処理対象配列)と、処理対象となっている検体の詳細ルート(処理対象配列)が排出制約データ1600(
図16)における排出制約を満足するか否かを検証する。そして、詳細ルート生成部113は、排出制約を満足する詳細ルートの内、処理を最短時間で完了できる詳細ルートを最終的な詳細ルートとして選出する。なお、排出制約を満足できない場合、もしくは、満足すると大幅に処理が遅延する場合、排出制約を段階的に緩和して詳細ルートの再選出を行う。
【0076】
次に、詳細ルート生成部113が、生成した詳細ルートデータ2200と、処理対象となっている検体の処理内容を特定するために必要な分注グループID、親No、子Noといった検体データを、前処理・搬送制御部115および分析制御部21へ送信する。詳細ルートデータ2200と、検体データを受けた前処理・搬送制御部115および分析制御部21は、受信した詳細ルートデータ2200や、検体データを使用して、分析処理システム5の各モジュールにおける前処理・搬送機構制御部61や、分析機構制御部71に制御指示を与える(ステップS106)。
【0077】
次に、前処理・搬送制御部115および分析制御部21は、さらに各モジュールから指示要求があるか否かを判定する(S107)。指示要求とは、あるモジュールに検体が投入されたことや、モジュールの状態に変化が生じたことなどである。
ステップS107の結果、指示要求がある場合(S107→Yes)、処理部110はステップS105へ処理を戻し、詳細ルートを生成し直す。
このように、詳細ルートを生成し直すことで、排出制約の検証の確度を向上させることができるとともに、最新のモジュール状態に基づいた詳細ルートを生成することができる。
【0078】
ステップS107の結果、指示要求がない場合(S107→No)、前処理・搬送制御部115および分析制御部21は、処理対象となっている検体に対する、詳細ルートにおけるすべてのモジュールの処理が完遂したか否かを判定する(S108)。すなわち、前処理・搬送制御部115および分析制御部21は、処理対象となっている検体が、詳細ルートデータ2200(
図22)で予定されていたすべてのモジュールに搬送され、かつ、最後のモジュールの処理を完了しているか否かを判定する。
ステップS108の結果、モジュールにおける処理が完遂していない場合(S108→No)、処理部110はステップS107へ処理を戻す。
ステップS108の結果、モジュールにおける処理が完遂している場合(S108→Yes)、前処理・搬送管理サーバ1は処理を終了する。
なお、先に実行している検体のルート生成処理は順次終了させた上で新しい検体のルート生成処理を実行していく。その際、基本ルートデータ2000、中間ルートデータ2100、詳細ルートデータ2200の各ルートデータは、各検体に関して排他的に生成される(つまり、各ルートデータは各検体毎に独立して生成される)ことでデータの不整合が発生しないようにする。
【0079】
なお、ステップS107の処理は、ステップS105の前で行われるようにしてもよい。
【0080】
(基本ルートの選択)
図24は、本実施形態に係る基本ルートの選択処理の手順を示すフローチャートである。なお、
図24における処理は、
図23のステップS102における処理を詳細に説明するものである。
まず、基本ルート生成部111は、依頼データ600(
図6)の情報に合致するレコードが存在するか否かなどによって、処理対象となっている検体が親検体であるか否かを判定する(ステップS201)。例えば、基本ルート生成部111は、RFIDタグ304(
図3)に格納されている情報を基に、処理対象となっている検体の検体IDが、依頼データ600の親検体IDの欄に登録されているか否かを判定することによって、処理対象となっている親検体であるか否かを判定する。
【0081】
ステップS201の結果、処理対象となっている検体が親検体であると判定された場合(S201→Yes)、基本ルート生成部111は、基本ルートデータ2000(
図20)を参照し、処理対象となっている検体が何本目に投入された親検体かを計数する。そして、基本ルート生成部111は、計数結果に基づいて、処理対象となっている親検体の投入順番を決定する(S202)。このとき、先行検体が基本ルートデータ2000の登録がすでになされている場合、基本ルート生成部111は、基本ルートに登録されている親検体の数だけ、親検体が先に投入されているとして、親検体の投入数を計数することができる。基本ルートデータ2000にデータが登録されていない場合、基本ルート生成部111は、処理対象となっている検体が、1番目の親検体であると判定する。
【0082】
そして、基本ルート生成部111は、基本ルートデータ2000に新たなエントリを生成し(S203)、生成した基本ルートデータ2000のエントリにデータを登録する(S204)。
具体的には、ステップS203,S204において、基本ルート生成部111は以下の処理を行う。
a1.基本ルート生成部111は、処理対象となっている検体IDをキーとして、依頼データ600(
図6)の親検体IDの欄を検索し、依頼IDと、項目グループIDを取得する。
a2.次に基本ルート生成部111は、取得した項目グループIDをキーとして、縮退レベルデータ800(
図8)から縮退レベルを取得する。
a3.そして、基本ルート生成部111は、a1の処理で取得した項目グループIDをキーとして、分注グループ割り当てデータ700(
図7)を検索し、分注グループIDを取得する。
a4.続いて、基本ルート生成部111は、a3の処理で取得した分注グループIDを基に、分注グループデータ900(
図9)を検索して、親Noと子Noとを取得するとともに、取得した親Noおよび子Noに対応している基本ルートIDを取得する。このとき、基本ルート生成部111は、a2の処理で取得した縮退レベルを参照し、該当する基本ルート中に縮退中のモジュールがある場合、その基本データを破棄してもよい(従って、1つの検体に対し、複数の基本ルートが設定されていることが望ましい)。
【0083】
a5.そして、基本ルート生成部111は、基本ルートデータ2000に新たなエントリを生成すると、取得した依頼ID、分注グループID、親No、子No、基本ルートIDを登録する。このとき、親検体分(親No「n」(nは正の整数)、子No「0」)のデータと、子検体分(親No「n」、子No「m」(mは正の整数))のデータとが登録される。そして、基本ルート生成部111は、親検体のエントリのみ、検体IDと、生成時刻とを登録する。また、基本ルート生成部111は、子検体のエントリにおける検体IDおよび生成時刻は未確定のため「未」(あるいは「−1」など)を登録する。
【0084】
例えば、分注グループIDが「101」の1本目の親検体(同じ分注グループに属し、かつ、同一の患者から採取された検体のうち、一番最初に投入された親検体:親No「1」)であるならば、分注グループデータ900(
図9)に従うと、子検体2本(子No「1」、「2」)分のデータを含む3つのデータ(エントリ)が生成されることになる。
ステップS204の終了後、処理部110は
図23のステップS103へリターンする。
【0085】
一方、ステップS201において、処理対象となっている検体が親検体ではないと判定された場合(S201→No)、すなわち子検体であると判定された場合、基本ルート生成部111は、分注モジュール205(
図2)の処理結果に基づいて親検体の検体ID(親検体ID)を取得する(ステップS205)。
分注モジュール205では、RFIDタグリーダが設置されているため、親検体から子検体が分注されるときに、分注元の親検体の検体ID(親検体ID)がRFIDタグリーダによって取得される。
【0086】
続いて、基本ルート生成部111は、ステップS205で取得された親検体IDをキーとして、基本ルートデータ2000(
図20)を検索して、該当する子検体の子Noを決定する(S206)。すなわち、基本ルート生成部111は、検体IDが割り当てられている子検体が1つもない場合には子No「1」、1つ割り当てられている場合には子No「2」、2つ割り当てられている場合には子No「3」といったように決定する。
そして、基本ルート生成部111は、処理対象となっている子検体の子検体IDを決定する(S207)。基本ルート生成部111は、連番など予め定められているルールに従って子検体IDを決定する。
続いて、基本ルート生成部111は、基本ルートデータ2000(
図20)のエントリを更新する(S208)。ステップS208において、基本ルート生成部111は、ステップS206で決定した子Noのエントリにおける検体IDの欄にステップS207で決定した子検体IDを登録し、生成時刻を登録することによって基本ルートデータ2000のエントリを更新する。
ステップS208の終了後、処理部110は
図23のステップS103へリターンする。
【0087】
(中間ルートの生成)
図25は、本実施形態に係る中間ルートの生成処理の手順を示すフローチャートである。なお、
図25における処理は、
図23のステップS103における処理を詳細に説明するものである。
まず、中間ルート生成部112は、処理対象の検体に関する基本ルートを取得して、その基本ルートを展開する(S301)。
【0088】
ステップS301において、中間ルート生成部112は以下の処理を行う。
b1.中間ルート生成部112は、処理対象となっている検体IDをキーとして、基本ルートデータ2000から基本ルートIDを取得する。
b2.次に、中間ルート生成部112は、取得した基本ルートIDをキーとして、基本ルート定義データ1000(
図10)を検索し、対応する基本ルートを取得する。
b3.そして、中間ルート生成部112は、取得した基本ルートを展開する。
【0089】
ここで、基本ルートの展開とは、基本ルートにおける“(,)”や“[|]”といった選択性を含むルートを選択性のないルートの集まりに展開することである。
例えば、基本ルートが「フル1」の場合、サブルート定義データ1100(
図11)を参照することによって、中間ルート生成部112は、この基本ルートを“{電解質1,[生化1|生化2],免疫1}⇒分析部収納1”(ルートA)に展開する。ここで、ルートAは、説明の関係上便宜的につけた名称である。
【0090】
次に、中間ルート生成部112は、“{,}”の組み合わせを考慮して、ルートAをさらに展開し、以下の6つのルートを生成する。
“電解質1⇒[生化1|生化2]⇒免疫1⇒分析部収納1”(ルートB1)
“電解質1⇒免疫1⇒[生化1|生化2]⇒分析部収納1”(ルートB2)
“[生化1|生化2]⇒電解質1⇒免疫1⇒分析部収納1”(ルートB3)
“[生化1|生化2]⇒免疫1⇒電解質1⇒分析部収納1”(ルートB4)
“免疫1⇒電解質1⇒[生化1|生化2]⇒分析部収納1”(ルートB5)
“免疫1⇒[生化1|生化2]⇒電解質1⇒分析部収納1”(ルートB6)
ここで、ルートB1〜B6は、説明の関係上便宜的につけた名称である。
【0091】
そして、中間ルート生成部112は、ルートB1〜B6のそれぞれについて、さらに、[生化1|生化2]の部分を展開する。
例えば、ルートB1から以下の2つのルートが生成される。
“電解質1⇒生化1⇒免疫1⇒分析部収納1”(ルートB1−1)
“電解質1⇒生化2⇒免疫1⇒分析部収納1”(ルートB1−2)
ここで、ルートB1−1,B1−2は、説明の関係上便宜的につけた名称である。
中間ルート生成部112は、ルートB2〜B6についても同様の展開を行う。その結果、計12のルートが生成されることになる。
なお、中間ルート生成部112は、生成したルートの中で、縮約レベルデータ800(
図8)で縮約が生じているモジュールを有するルートを削除してもよい。
このようにして、中間ルート生成部112は基本ルートを展開して中間ルートを生成する。一般に、ステップS201で、複数の中間ルートが生成される。
【0092】
次に、中間ルート生成部112は、ステップS301で展開した各中間ルートについて、各立ち寄り制約データ1400(
図14)における各立ち寄り制約を検証する(S302)。
例えば、前記したルートB1〜B6における[生化1|生化2]の部分を展開して、最終的に生成される計12の中間ルートのうち、立ち寄り制約データ1400に記述されている「電解質⇒生化学」、「電解質⇒免疫」の2つの立ち寄り制約を満たす中間ルートは、以下の4つのルートである。
“電解質1⇒生化1⇒免疫1⇒分析部収納1”(ルートC1)
“電解質1⇒免疫1⇒生化1⇒分析部収納1”(ルートC2)
“電解質1⇒生化2⇒免疫1⇒分析部収納1”(ルートC3)
“電解質1⇒免疫1⇒生化2⇒分析部収納1”(ルートC4)
ここで、ルートC1〜C4は、説明の関係上便宜的につけた名称である。
【0093】
なお、立ち寄り制約データ1400の立ち寄り制約には、「電解質」、「生化学」などモジュールの種別しか記載していないため、中間ルート生成部112は、モジュール種別データ(
図13)を参照して、中間ルート中のモジュールIDを種別に置き換えた上で、立ち寄り制約を満足しているか否かを判定する。
【0094】
そして、中間ルート生成部112は、立ち寄り制約を満足しなかった中間ルートを削除する(S303)。つまり、中間ルート生成部は、生成された処理対象検体における中間ルート(処理対象配列)から、立ち寄り制約に適合しない処理の順番を有する中間ルート(処理対象配列)を、立ち寄り制約に適合しない処理対象配列として削除する。本実施形態における例では、中間ルート生成部112は、ステップS301で生成された計12の中間ルートのうち、中間ルートC1〜C4以外の中間ルートを削除する。
【0095】
続いて、中間ルート生成部112は、ステップS303の結果、中間ルートが残っているか否かを判定する(S304)。
ステップS304の結果、中間ルートが残っている場合(S304→Yes)、中間ルート生成部112は、ステップS303の結果を計画結果の情報として、この計画結果の情報を含む計画応答メッセージ1900(
図19)を生成する。そして、中間ルート生成部112は、この計画応答メッセージ1900を基本ルート生成部111に送信し(S305)、
図23のステップS106の処理へリターンする。計画応答メッセージを受信した基本ルート生成部111は
図27で後記する詳細ルートの再生成を行う。そして、中間ルート生成部112は、ステップS303の結果、残っている中間ルートを最終的な中間ルートとして中間ルートデータ2100(
図21)に登録する(S306)。
【0096】
ステップS304の結果、中間ルートが残っていない場合(S304→No)、中間ルート生成部112は、立ち寄り制約を緩和可能か否かを判定する(S307)。具体的には、中間ルート生成部112が、立ち寄り制約データ1400(
図14)の優先度を参照して立ち寄り制約の緩和が可能か否かを判定する。例えば、中間ルート生成部112は、最初の検証(S302)では優先度「1」、「2」、「3」のすべての立ち寄り制約を適用して検証を行う。優先度「1」、「2」、「3」のすべての立ち寄り制約を適用すると、中間ルートが残らなくなってしまう場合、中間ルート生成部112は、優先度「2」、「3」のみを適用して(立ち寄り制約を緩和して)ステップS302の検証を行う。それでも、中間ルートが残らなくなってしまう場合、中間ルート生成部112は、優先度「3」のみを適用して(立ち寄り制約を緩和して)ステップS302の検証を行う。それでも、中間ルートが残らない場合、中間ルート生成部112は、ステップS306において立ち寄り制約が緩和不可能と判定する。つまり、
図14の立ち寄り制約データ1400の例に従った場合、現在適用している立ち寄り制約の優先度が「3」のみではない場合、中間ルート生成部112はステップS306において、立ち寄り制約が緩和可能と判定する。
なお、立ち寄り制約の緩和が可能であるか、不可能であるかの判定方法は、この手法に限らず、中間ルート生成部112が優先度の高い立ち寄り制約から、段階的に優先度の低い立ち寄り制約へ落としていく手法でもよい。
【0097】
ステップS307の結果、立ち寄り制約の緩和が可能である場合(S307→Yes)、中間ルート生成部112は前記した手法に従って立ち寄り制約を緩和し(S308)、ステップS302へ処理を戻す。
ステップS307の結果、立ち寄り制約の緩和が不可能である場合(S307→No)、中間ルート生成部112はステップS305へ処理を進める。この場合、ステップS305で送信される計画応答メッセージ1900には、中間ルートがない旨の情報が記述されることになる。この場合、ステップS306において、中間ルートデータ2100への登録は行われない。
なお、中間ルートが残っていない場合、基本ルート生成部111が
図25で後記する詳細ルートの再生成を行う。
【0098】
(詳細ルートの生成)
図26は、本実施形態に係る詳細ルートの生成処理の手順を示すフローチャートである。なお、
図26における処理は、
図23のステップS105における処理を詳細に説明するものである。
図25の処理で生成される中間ルートは、搬送における主要なモジュールの順序関係しか保持しておらず、実際に搬送するときに立ち寄るモジュールのすべてが記述されているわけではない。従って、詳細ルート生成部113は、立ち寄り先補完データ1500(
図15)を参照して、立ち寄るすべてのモジュール(立ち寄り先モジュール)を補完する(S401)。この結果、本実施形態における記法に従えば、“⇒”で表現されていたルートが詳細化され、すべて“→”による表現に置き換えられる。
【0099】
例えば、“電解質1⇒生化1⇒免疫1⇒分析部収納1”(ルートC1)の中間ルートに、立ち寄り先補完データ1500(
図15)が適用されると以下のようになる。
図21の立ち寄り先補完データ1500の2行目に搬送元ID「生化1」、搬送先ID「免疫1」についての立ち寄り先補完モジュールが「遠心1→遠心3」であると記述されている。この立ち寄り先補完データ1500を適用すると、中間ルートC1は“電解質1⇒生化1→遠心1→遠心3→免疫1⇒分析部収納1”となる。詳細ルート生成部113が、その他の“⇒”についても同様に立ち寄り先補完データ1500を適用することによって、すべてのモジュール間の矢印が“→”となる。すなわち、立ち寄る搬送先モジュールが確定する。
なお、詳細ルート生成部113は、縮約レベルデータ800(
図8)を参照して、縮約中のモジュールを含む詳細ルートを削除してもよい。つまり、詳細ルート生成部113は、現在のモジュール状態で実行可能な詳細ルートを最終的な詳細ルートとしてもよい。
【0100】
次に、詳細ルート生成部113は、滞在時間データ1700(
図17)および搬送時間データ1800(
図18)を参照して、ステップS401で生成された、すべての詳細ルートにおける各モジュールの完了時刻を算出する(S402)。なお、ステップS402は、現在時刻を基に算出される。なお、ステップS401,S402の処理は、処理対象となっている検体と、
図23のステップS104で選出された先行検体について行われる処理である。
【0101】
例えば、ステップS402では、処理対象となっている検体のチェックポイントが「移載1」であり、現在、「開栓1」のモジュールで検体が処理されているとする(検体は分析処理システム5に投入済み)。このとき、詳細ルート生成部113は、滞在時間データ1700に記載されている「開栓1」、「分注1」、「ライン1」、「方向転換1」、「ライン2」、「移載1」の各処理時間(
図17では図示省略:各モジュールは詳細ルートに記載されているものとする)、および搬送時間データ1800に記載されている「開栓1」から「分注1」、「分注1」から「ライン1」、「ライン1」から「方向転換1」、「方向転換1」から「ライン2」、「ライン2」から「移載1」への各搬送時間(
図18では図示省略)をすべて合算した時間を現在時刻に加えた時刻を「移載1」の完了時刻とする。
【0102】
この時、分注グループID、親No、子Noで特定される処理内容(特定元は不図示)と、ユーザがキャリブ中、試薬切れ、停止などを含む装置状態に応じて滞在時間データ1700の処理時間を定義することで、モジュールにおける正確な完了時刻を予測することができる。なお、本実施形態において、各モジュール間の搬送時間は、モジュールが正常動作していれば、搬送時間データ1800に登録されている搬送時間とほとんど変わらないが、モジュールの特性や、検体の特性上、搬送時間が変化する場合、搬送時間データ1800に、その条件に対する搬送時間を追加することで対応が可能である。
このとき、詳細ルート生成部113は、実行可能な詳細ルートが複数あればすべての詳細ルートについて、各モジュールの完了時刻を算出する。
【0103】
続いて、詳細ルート生成部113は、排出制約データ1600(
図16)を参照して、処理対象となっている検体の完了時刻と、先行検体(本実施形態では2検体)の完了時刻とを比較し、排出制約の検証を行う(S403)。先行検体の完了時刻は、ステップS403の段階で算出されてもよいし、先行検体の詳細ルート生成時に算出された完了時刻を使用してもよい。
詳細ルート生成部113は、処理対象となっている検体の詳細ルートと、先行検体の詳細ルートにおける各チェックポイントにおけるモジュールの完了時刻を比較する。チェックポイントにおいて、処理対象となっている検体が、先行検体よりも先行している場合、その完了時刻が排出制約データ1600に記述されている許容時間以内であるか否かを判定する。つまり、チェックポイントにおける先行検体と、処理対象となっている検体との完了時刻との差が排出制約データ1600に記述されている許容時間以内であるか否かを判定する。
【0104】
ここで、本実施形態ではすべての先行検体の詳細ルートと処理対象検体の詳細ルートとを比較することとしたが、同じ項目グループの検体(親検体、子検体)の中でもっとも処理完了時刻が遅い検体に関してのみ排出制約を満足するか検証するようにすることもできる。この場合、多少処理が複雑になるが、依頼(患者)単位での順序を守ることができ、かつもっとも遅い検体以外は順序を気にせず最短時間の処理を実施できる。
なお、ステップS402,S403の処理は、処理対象検体について、ステップS401で生成された詳細ルートのすべてについて行われる。
【0105】
次に、詳細ルート生成部113は、排出制約を満足しなかった処理対象検体の詳細ルート、および、排出制約を考慮せずに処理した場合、処理対象検体の完了時刻に比べ30分以上遅くなると予測される先行検体が存在する処理対象検体の詳細ルートを削除する(S404)。つまり、詳細ルート生成部113は、処理対象検体の詳細ルート(処理対象配列)における所定の処理の前記完了時刻と、先行検体の詳細ルート(先行処理対象配列)における所定の処理の完了時刻との差が、排出制約の許容先行時間より大きい処理対象の詳細ルートを、排出制約に適合しない詳細ルートとして削除する。ここで、排出制約を満足しなかった処理対象検体の詳細ルートとは、いずれかのモジュールで先行検体の許容時間(許容実行時間:
図17)を超えて先行している処理対象検体の詳細ルートである。つまり、詳細ルート生成部113は、チェックポイントにおける先行検体と、処理対象となっている検体との完了時刻との差が排出制約データ1600に記述されている許容先行時間より大きい詳細ルートを削除する。
なお、本実施形態では、排出制約を考慮せずに処理した場合における完了時刻の許容先行時間を30分としたがそれよりも長くても短くてもよい。
【0106】
そして、詳細ルート生成部113は、処理対象検体の詳細ルートが残っているか否かを判定する(S405)。
ステップS405の結果、処理対象検体の詳細ルートが残っている場合(S405→Yes)、詳細ルート生成部113は、残った処理対象検体の詳細ルートの内、最短時間で最終搬送先モジュールの処理を完了する詳細ルートを選出する(S406)。この結果、詳細ルート生成部113は、各制約と処理性能の両立を図った詳細ルートを生成することができる。
【0107】
続いて、詳細ルート生成部113は、ステップS406で選出した詳細ルートを計画結果の情報として含む計画応答メッセージ1900(
図19)を生成する。そして、詳細ルート生成部113は、計画応答メッセージを基本ルート生成部111へ送信する(S407)。計画応答メッセージ1900を受信した基本ルート生成部111は、
図27で後記する詳細ルートの再生成を行う。
続いて、詳細ルート生成部113はステップS406で選出した詳細ルートを最終的な詳細ルートとして詳細ルートデータ2200(
図22)に登録する(S408)。このとき、詳細ルート生成部113は、再生成の実行あり・実行なしなどを詳細ルートデータ2200に登録してもよい。
【0108】
一方、ステップS405の結果、、詳細ルートが残っていない場合(S405→No)、詳細ルートは、実行可能な詳細ルートがあるか否かを判定する(S409)。実行可能な詳細ルートとは、排出制約をかけなければ、実行可能な詳細ルートである。この場合、詳細ルート生成部113は、詳細ルート上のモジュールの一部が停止していたり、試薬切れであったりするなど、いつ処理を実行できるかわからないような場合を実行不可能とみなす。モジュールの可動状態や、試薬切れであるか否かなどは、前処理・搬送機構制御部61や、分析制御部21(
図1)などから送信される情報や、ユーザが入力する情報などを基に判定される。
【0109】
ステップS409の結果、実行可能な詳細ルートが存在する場合(S409→Yes)、詳細ルート生成部113は、排出制約データ1600(
図16)の優先度を基に排出制約の緩和を行い(S410)、ステップS402へ処理を戻す。ここで、詳細ルート生成部113は、
図25における立ち寄り制約の緩和と同様の手法で排出制約の緩和を行う。すなわち、排出制約に「1」、「2」の2つの優先度が設定されている場合、最初、「1」、「2」の優先度を有する排出制約を使用して、詳細ルート生成部113はステップS403の検証を行う。その結果、詳細ルートが残らなかった場合、「2」の優先度を有する排出制約を使用して、詳細ルート生成部113はステップS403の検証を行う。それでも、詳細ルートが残らなかった場合、詳細ルート生成部113は、すべての優先度を排除して、ステップS403の排出制約の検証を行う。
【0110】
ステップS409の結果、実行可能な詳細ルートが残っていない場合(S409→No)、詳細ルート生成部113は異常時情報を設定し(S411)、ステップS407へ処理を進める。この場合、計画応答メッセージ1900には、検体同士がぶつかったりしないようにモジュールの動作を一時停止したり、排出できる機構を持っているモジュールにおいては、強制的に検体を排出したりすることなどの異常時の情報が書き込まれる。
【0111】
(詳細ルートの再生成)
図27は、本実施形態に係る詳細ルートの再生成処理の手順を示すフローチャートである。
図27の処理は、
図25のステップS305や、
図26のステップS407で送信された計画応答メッセージ1900(
図19)を受信した基本ルート生成部111、中間ルート生成部112、詳細ルート生成部113が行う処理であり、
図23の処理とは別に行われる処理である。なお、本実施形態では、詳細ルートの再生成の必要性の有無に拘わらず、基本ルート生成部111、中間ルート生成部112、詳細ルート生成部113は
図27の処理を行うこととしているが、
図25のステップS307や、
図26のステップS409で「No」が判定された場合のみ
図27の処理が行われてもよい。
【0112】
まず、基本ルート生成部111は、中間ルート生成部112や、詳細ルート生成部113から送信された計画応答メッセージ1900を受信する(S501)。
次に、基本ルート生成部111は、受信した計画応答メッセージ1900と、縮退レベルデータ800(
図8)を計画状況として操作端末4に送信する(S502)。操作端末4は、送信された計画応答メッセージ1900の内容と、縮退レベルデータ800(
図8)の内容を出力部42に表示する。表示された内容を見たユーザは、表示内容に応じた処理を行う。例えば、制約の緩和では対応できないような事態となっている場合、ユーザが直接モジュールを操作して、原因を取り除くなどである。
【0113】
そして、基本ルート生成部111は、前処理・搬送機構制御部61や、分析機構制御部71から、現在のモジュールの状態を取得し、取得した現在のモジュールの状態に応じて縮退レベルデータ800の縮退レベルを更新する(S503)。すなわち、基本ルート生成部111は、一部のモジュールがキャリブレーション中で処理性能が落ちていたり、異常があって停止していたりするなどといったモジュールの状態に応じて、縮退レベルに「0(正常)」以外の値を設定する。この処理は、ユーザが行ってもよい。なお、ステップS503の処理は、詳細ルートの再生成時だけでなく、一定時間毎に行われてもよい。
【0114】
続いて、基本ルート生成部111、中間ルート生成部112、詳細ルート生成部113は、更新した縮退レベルデータ800を基に、
図23の処理を行うことで詳細ルートの再生成を実行する(S504)。このとき、基本ルート生成部111は、代替ルート定義データ1200(
図12)を参照して、基本ルートを代替基本ルートに置換した上で、基本ルートを再選択する。なお、基本ルート生成部111は、縮退レベルデータ800を参照して、縮退中のモジュールを含む代替基本ルートを、代替候補から外してもよい。
【0115】
[画面表示例]
(状況一覧モニタ)
図28は、本実施形態に係る状況一覧モニタの画面例を示す図である。
状況一覧モニタ2800は、生成された詳細ルートを基に検体の状況を表示する画面であり、例えば、操作端末4の出力部42(
図1)に表示される。
状況一覧モニタ2800は、、依頼ID入力テキストボックス2801、検体ID入力テキストボックス2802、親検体選択チェックボックス2803、子検体選択チェックボックス2804、ルート選択コンボボックス2805を有する。そして、状況一覧モニタ2800は、各部2801〜2805で入力された情報に適合する検体の状況が表示される処理状況リスト2806を有する。
【0116】
ユーザ(検査技師や医師)は、操作端末4の入力部41を介して、状況を確認したい依頼の依頼IDを依頼ID入力テキストボックス2801に入力したり、検体IDを検体ID入力テキストボックス2802に入力したりする。さらに、ユーザは、テキストボックス2801,2802に入力された情報によって、選択される検体のうち、親検体の状況を表示させたい場合には、親検体選択チェックボックス2803をチェックし、子検体の状況を表示したい場合には、子検体選択チェックボックス2804をチェックする。テキストボックス2801,2802に入力された情報によって、選択される検体のうち、親検体および子検体両方の状況を表示させたい場合には、チェックボックス2803,2804の両方をチェックする。なお、ユーザが、依頼ID入力テキストボックス2801や、検体ID入力テキストボックス2802に何も入力しない場合、それぞれについて限定をかけない場合の情報が処理状況リスト2806に表示される。
【0117】
また、計画選択コンボボックス2805で条件を選択することで、ユーザは表示する詳細ルートを絞り込むことができる。計画選択コンボボックス2805は、選択枝として、詳細ルートの再生成なしで生成された詳細ルートを表示する「通常」、詳細ルートの再生成が行われて生成された詳細ルートを表示する「再生成」、すべての詳細ルートを表示する「すべて」などを有する。
【0118】
各部2801〜2805で入力された情報は、前処理・搬送管理サーバ1(
図1)へ送られる。情報を受信した前処理・搬送管理サーバ1の検索処理部114は、詳細ルートデータ2200(
図22)から入力された情報に適合する詳細ルートを取得すると、前処理・搬送機構制御部61や、分析機構制御部71から該当する検体の状況を取得する。そして、検索処理部114は、取得した情報を基に処理状況リスト2806を生成し、生成した処理状況リスト2806を操作端末4へ送信する。操作端末4は、送信された状況一覧リスト2806を表示する。
【0119】
(基本ルート作成画面)
図29は、本実施形態に係る基本ルート作成画面の例を示す図である。
基本ルート作成画面2900は、基本ルート定義データ1000(
図10)に登録される基本ルートを作成するための画面であり、例えば、操作端末4の出力部42(
図1)に表示される。
基本ルート作成画面2900は、モジュール構成表示エリア2910、基本ルート作成エリア2920、ルート制御部品選択エリア2930、基本ルートID入力テキストボックス2940、登録ボタン2950を有する。
【0120】
そして、ユーザがルート制御部品選択エリア2930に表示されているルート制御部品を選択入力することで、選択性のある基本ルートが作成される。例えば、ユーザがAND部品2931を選択すると、基本ルート作成エリア2920に実線枠のモジュールボックス2922が追加される。そして、ユーザが、この実線枠のモジュールボックス2922内に前記モジュールのボックス(モジュールボックスと称する)を複数個挿入することによって、その実線枠のモジュールボックス2922内に挿入したモジュールボックスに対応するモジュールに搬送することを表す基本ルートが作成される。
【0121】
例えば、ユーザ(検査技師や、医師や、分析処理システム5(
図1)を設置・管理するエンジニア)は、搬送先となるモジュールについて、モジュール構成表示エリア2910の該当モジュールの部分を選択入力する。この結果、操作端末4は、基本ルート作成エリア2920に該当モジュールのモジュールボックスを追加する。例えば、モジュール構成表示エリア2910の「電解質1」のモジュールの画像2911が選択入力され、基本ルート作成エリア2910でユーザが「電解質1」を挿入した場所を選択すると、
図29に示すように、「電解質1」のモジュールボックス2921が基本ルート作成エリア2920に挿入される。
【0122】
ここで、AND部品2931は、前記したルートデータの表記方法における“{,}”に相当する。
また、OR部品2932がマウスなどで選択されると、基本ルート作成エリア2920に破線枠2923が追加され、その破線枠2923中に「B」と記載された実線枠(ブランチ枠)2924が追加される。これはルートデータの表記方法における“[|]”に相当する。
そして、ユーザは、この実線枠(ブランチ枠)2924を起点として、To部品2933や、Next部品2934を使って、搬送の順序関係を定義することができる。ここで、To部品2933は、ルートデータの表記方法における“⇒”に相当し、Next部品2934は、ルートデータの表記方法における“→”に相当する。さらに、この順序関係に関する部品2933,2934は、符号2925に示されているように、実線枠のモジュールボックス2922や、破線枠のモジュールボックス2923に対して適用することもできる。
【0123】
なお、基本ルート作成エリア2920における実線枠のモジュールボックス2922や、破線枠のモジュールボックス2923は、ユーザがマウスをドラッグさせたりすることにより移動させたり、拡大・縮小したりすることができる。また、基本ルート作成エリア2920における各モジュールボックス2921,2923,2924,2925は、ユーザがマウスをドラッグさせたりすることにより、移動させることができる。
【0124】
そして、ユーザが基本ルートID入力テキストボックス2940に基本ルートIDを入力し、登録ボタン2950を選択入力すると、基本ルート作成エリア2920で作成された基本ルートが基本ルート定義データ1000(
図10)に格納される。
ちなみに、
図29の例で作成されている基本ルートは“{電解質1,[生化1|生化2],免疫1}⇒分析部収納1”である。
【0125】
このような手法で基本ルート定義データ1000(
図10)が作成されるが、ユーザは、サブルート定義データ1100(
図11)、立ち寄り制約データ1400(
図14)、立ち寄り先補完データ1500(
図15)などの各ルートを登録する際も同様の手法で登録することができる。
【0126】
《変形例》
[システム構成]
図30は、本実施形態に係る自動分析システムの変形例の構成を示す図である。
図30の自動分析システム10aにおいて、
図1と異なる点は、まず、分析管理サーバ2および分析処理システム5aにおいて前処理・搬送モジュール群6が省略されている点である。また、
図30の分析システム10aにおいて、
図1と異なる点は、
図1の前処理・搬送管理サーバ1が、基本ルートの生成を行う基本ルート管理サーバ1aおよび中間ルート・詳細ルートの生成を行う詳細ルート管理サーバ1bの2つに分かれていることである。また、基本ルート管理サーバ1aの設定データ記憶部121aには、分注グループ割り当てデータ700(
図7)、縮退レベルデータ800(
図8)、分注グループデータ900(
図9)、基本ルート定義データ1000(
図10)、サブルート定義データ1100(
図11)、代替ルート定義データ1200(
図12)が格納されている。そして、詳細ルート管理サーバ1bの設定データ記憶部121bには、モジュール種別定義データ1300(
図13)、立ち寄り制約データ1400(
図14)、立ち寄り先補完データ1500(
図15)、排出制約データ1600(
図16)、滞在時間データ1700(
図17)、搬送時間データ1800(
図18)が格納されている。各データ600〜1700や、基本ルートデータ2000、中間ルートデータ2100、詳細ルートデータ2200は、
図6〜
図18で示した構成と同様の構成を有する。
その他の構成要素は、
図1と同様であるため、
図1と同一の符号を付して説明を省略する。さらに、ハードウェア構成も
図4、
図5と同様であるため、説明を省略する。
【0127】
なお、自動分析システム10,10aの構成は、
図1や、
図30に示した構成に限らない。例えば、
図30における詳細ルート管理サーバ1bの構成を、中間ルートを生成する装置と、詳細ルートを生成する装置に分けてもよい。また、
図30の構成に、分析管理サーバ2および前処理・搬送モジュール群6を接続してもよい。
【0128】
[分析処理システムの変形例]
図31は、本実施形態に係る分析処理システムの変形例の構成を示す図である。
図31に係る分析処理システム5aは、前処理がなされた後の分析を行う分析モジュール群7(
図30)で構成されている。つまり、
図2の分析処理システム5と異なる点は、前処理・搬送モジュール群6が省略されている点である。
図31の分析処理システム5aは、投入モジュール3101、電解質分析モジュール3102,3103、生化学分析モジュール3104,3105、免疫分析モジュール3106,3107、収納モジュール3108を有し、各モジュール3101〜3108は
図31に示すような形で接続される。
【0129】
これらの各モジュール3101〜3108は、それぞれが検体の搬入出を行う複数本の搬送路を内部に備えており、隣接するモジュールの搬送路同士が連結されることで、モジュール間の検体の受け渡しを可能としている。また、上流側(投入モジュール側)から下流側(収納モジュール側)への搬送に関しては、内部では各種モジュールの処理を行うことのできるライン(処理ライン)3111と、検体が、そのモジュールを通過するためにのみ使うことのできるライン(追い越しライン)3112を有している。従って、生化学分析モジュール70の処理ラインに向かうために、複数のルートがありうる。
【0130】
このように、自動分析システム10aは、前処理がなされた後の分析を行う分析処理システム5aにも適用可能である。
【0131】
なお、
図23〜
図26の処理においては、前処理・搬送管理サーバ1が基本的にモジュール単位で詳細ルートを生成している。
図23〜
図26の処理において、もし、モジュール内部で複数のルートがある場合、基本ルート管理サーバ1aは、予め立ち寄り先補完データ1500に最短経路を予め登録することで対応する。変形例では、モジュール内部の複数のルートまで含めて排出制約の検証、すなわち、処理時間を見積もるため、モジュール内部で複数のルートがある場合、基本ルートの段階で、補完経路が選択的に記載される。例えば、搬送元が投入1、搬送先が電解質2に対して、基本ルートとして (投入1→電解質1(M))|(投入1→電解質1(S))”が登録される。ここで、(M)は
図31における処理ライン3111側を示し、(S)は
図31における追越ライン3112側を示す。
【0132】
ここで、あるモジュールにおける搬送元や搬送先が指定された場合、そのモジュールでは確実に処理が行われることになるため、基本ルート管理サーバ1aは搬送元や搬送先は処理ライン3111側、すなわち(M)とみなす。なお、どちらのライン(処理ライン3111、追い越しライン3112)でも処理できるといった場合、ユーザは基本ルート作成の時点でどちらのライン側にするか、あるいは両方にするかを定義する。
【0133】
[処理]
変形例における処理の手順は、第1実施形態と概ね同様である。ただし、分析処理システム5aが使用されている場合、処理ライン、追い越しラインなどが存在するため詳細ルートの作成における立ち寄り先の補完処理が複雑化する。つまり、分析処理システム5aが使用されている場合、立ち寄り先補完ルートとして、複数のルートが定義されうる。従って、
図26の立ち寄り先モジュールの補完処理(S401)において、補完の結果、複数の詳細ルートが生成されるようであれば、詳細ルート生成部113は、それらのすべてについて完了時刻の算出(S402)、排出制約の検証(S403)、詳細ルートの削除(S404)を実行する。そして、詳細ルート生成部113は、同様の手順で、つまり、生成された複数の詳細ルートすべてに対して、最短時間となる詳細ルートの選出(S406)を行い、詳細ルートを確定させる。この結果、単にモジュールを通過すればよい場合、詳細ルート生成部113は、追い越しライン3112を選択して詳細ルートを確定する。このようにすることで、検体の迅速な搬送が可能となる。なお、追い越しライン3112(
図31)が選択された結果、先行検体を追い抜かして排出順が逆転する場合、詳細ルート生成部113は、あえて処理ライン3111を選択するよう設定されている。
【0134】
(処理状況モニタ)
図32は、本実施形態に係る処理状況ルートモニタ画面の例を示す図である。
なお、
図32に示す処理状況モニタ画面3200は、
図1に示す自動分析システム10の操作端末4で表示されてもよいし、
図30に示す自動分析システム10aの操作端末4で表示されてもよい。ここでは、
図1に示す自動分析システム10の操作端末4の出力部42に表示されているものとして説明する。
処理状況モニタ画面3200は、検体の処理状況を検索するための画面である。
処理状況モニタ画面3200は、検体ID入力テキストボックス3201、検索ボタン3202および処理状況表示エリア3210を有する。
ユーザ(検査技師や医師)は、操作端末4の入力部41を介して、処理状況を確認したい検体の検体IDを検体ID入力テキストボックス3201に入力し、検索ボタン3202を選択入力する。検体ID入力テキストボックス3202に入力された検体IDは、前処理・搬送管理サーバ1へ送られる。そして、前処理・搬送管理サーバ1の検索処理部114は、送られた検体IDをキーとして基本ルートデータ2000(
図20)および基本ルート定義データ1000(
図10)から基本ルートを取得する。さらに、検索処理部114は、前処理・搬送機構制御部61などから該当する検体の搬送状況を取得する。そして、検索処理部114は取得した基本ルートと、検体の搬送状況から処理状況表示エリア3210の画面を生成して、操作端末4へ送信し、操作端末4は送信された処理状況表示エリア3210の画面を出力部42に表示する。
【0135】
処理状況表示エリア3210には、処理対象となっている検体の基本ルートが、基本ルート作成画面2900(
図29)における基本ルート作成エリア2920と同様の形式で表示される。
また、
図32の例では、検体が処理されているモジュールのモジュールボックス3211は、二重実線かつハッチングで示されている。
なお、ここで表示される基本ルートにおいて、すでに搬送した部分については、最終的に選ばれた搬送経路だけが表示される。例えば、もともとは「電解質1」か「電解質2」へ搬送すればよい検体が、処理負荷など装置状態に基づいて「電解質1」に運ばれた場合、処理状況表示画面3210には「電解質1」のみが表示される。
【0136】
《効果》
以上述べたように、本実施形態によれば、配列が逆順になった場合における許容先行時間が格納されている排出制約を適用することによって、検体の投入順が守られ、また、検体の追い越しが生じた場合でも、大きな時間差が生じることはない。このようにすることにより、本実施形態に係る自動分析システム10,10aは、大きな時間差を生じない、患者の順序関係を維持した医療サービスを提供することができ、患者の不公平感を緩和することができる。
【0137】
本実施形態に係る自動分析システム10,10aは、前記処理の前後関係に関する制約である立ち寄り制約を使用して、ルートを生成するため、各検体の立ち寄り順を保証できる。これにより、本実施形態に係る自動分析システム10,10aは、品質が低下するような順番での分析処理が行われることを確実に防ぐことができる。
【0138】
また、本実施形態に係る自動分析システム10,10aは、ステップS104で示しているように、生成された複数の中間ルートのうち、同一の所定条件(同じ検査グループなど)に適合する中間ルートを抽出し、前記抽出した中間ルートを基に、詳細ルートを生成している。このようにすることで、本実施形態に係る自動分析システム10,10aは、不公平感を抱く可能性の高い同じ検査内容の患者、例えば、定期健診などの標準項目を検査にやってきた患者の順序関係を維持して医療サービスを提供できる。一方、本実施形態に係る自動分析システム10,10aは、定期健診とは検査内容の異なる患者の検体に関しては、定期健診などのグループとは別に詳細ルートを生成することができる。
【0139】
また、選択性のあるルートを含む基本ルートを基に詳細ルートを生成することで、本実施形態に係る自動分析システム10,10aは、分析処理システム5,5aの構成が冗長性のある構成の場合、基本ルートにより選択的な搬送経路を定義できる。さらに、生成する上で制約を満たせない場合や、モジュールがキャリブレーション中である場合や、試薬切れなどで処理時間が長くなったりする場合や、そもそも処理できなかったりする場合において、本実施形態に係る自動分析システム10,10aは、詳細ルートを再生成することにより、その状況に合わせた代替ルートを作成することができる。これにより、自動分析システム10,10aは障害時における検査の縮退を反映した詳細ルートの再生成を迅速化できる。
【0140】
また、本実施形態に係る自動分析システム10,10aは、検査内容に基づいて順序関係(排出制約)を制御する。迅速な処理を要する検体(緊急検体、再検検体)は、病院にもよるが、再検検体は検査の5%〜10%程度であり、一般的に通常検体に比べると少数である。この結果、対象の検体と先行する検体との間隔が離れた状態となる。このとき、迅速な処理を要する検体は、分析処理システム5、5aのほとんどを占める通常検体とは別の検査グループとなるため、順序関係は考慮されない。さらに、通常検体は排出制約によって順序を守るように搬送するため、モジュールの負荷バランスに偏りができる。前記2つの相乗効果によって、迅速な処理を要する検体は、先行検体の追い越しを回避するためにあえて比較的混雑しているモジュールに搬送することなく、負荷の最も小さいモジュールで処理できる。
【0141】
さらに、本実施形態に係る自動分析システム10,10aは、立ち寄り制約を満たす段階で、すべての中間ルートを保持し続け、詳細ルート生成時に、各モジュール状態と照合して実行可能な詳細ルートを生成してもよい。そして、本実施形態に係る自動分析システム10,10aは、モジュール状態が変化したとき、すべての詳細ルートを基本ルートから生成し直すことなく詳細ルートの再生成を行ってもよい。このようにすることで、本実施形態に係る自動分析システム10,10aは、モジュール状態の変化に即応できる。従って、少なくとも前処理・搬送制御部115がリアルタイム性を維持できれば、モジュール状態に変化が生じたとき、詳細ルート再生成のために自動分析システム10,10a全体を停滞させなくてもよい。
【0142】
また、本実施形態に係る自動分析システム10,10aは、選択的なルートを有する基本ルートを、グラフィカルユーザインタフェースによる基本ルート作成画面2900(
図29)で模式的な表現で確認しながら作成できる。また、本実施形態に係る自動分析システム10,10aは、勝利状況モニタ画面3200(
図32)において、基本ルート作成画面2900における基本ルートの表示形態と同様の形態で基本ルートを表示する。そして、本実施形態に係る自動分析システム10,10aは、その表示されている基本ルートに検体の搬送状況を操作端末4の出力部42などに表示させることで、ユーザ(検査技師や医師)は検体が、どのような搬送状況であるのかを容易に把握することができる。