(58)【調査した分野】(Int.Cl.,DB名)
前記外部サーバは、前記第1コンピュータから送信された前記データと、前記検体測定装置以外の他の検体測定装置を制御する他のコンピュータから送信された他のデータと、を含むデータ群を記憶可能であり、
前記第2コンピュータは、前記データ群の中から前記第1コンピュータから送信された前記データを識別するためのデータ識別情報を、前記外部サーバに送信し、
前記外部サーバは、前記データ識別情報に基づいて、前記データ群の中から前記第1コンピュータから送信された前記データを抽出する
請求項1〜8のいずれか1項に記載の検体分析方法。
前記外部サーバは、前記制御プログラムと、前記検体測定装置とは異なる種類の検体測定装置における検体の測定を制御する異種制御プログラムと、を含む制御プログラム群を記憶しており、
前記第2コンピュータは、前記制御プログラム群の中から前記制御プログラムを識別するためのプログラム識別情報を、前記外部サーバに送信し、
前記外部サーバは、前記プログラム識別情報に基づいて、前記制御プログラム群の中から前記制御プログラムを抽出して、前記制御プログラムを前記第2コンピュータに送信する
ことを更に含む請求項1〜9のいずれか1項に記載の検体分析方法。
【発明を実施するための形態】
【0028】
以下、添付図面を参照しつつ、本発明の実施形態を詳細に説明する。
【0029】
[1.検体分析システム]
図1は、検体分析システム1を示している。検体分析システム1は、検体分析装置2と、外部サーバ3と、を備えている。検体分析装置2は、インターネット4などのネットワークを介して外部サーバ3と通信である。外部サーバ3は、データセンタ300に設置されている。データセンタ300は、検体分析装置2が設置された施設(検査機関、病院など)200とは異なる施設である。外部サーバ3は、複数の施設200のそれぞれに設置された複数の検体分析装置2,2との間で通信可能である。外部サーバ3は、第1サーバ31及び第2サーバ32を備えている。
【0030】
第1サーバ31は、ダウンロードデータをダウンロード可能とするためのダウンロードサイト31aと、仮想IPU31bと、データ及びコンピュータプログラムを記憶する記憶部31cと、を備えている。なお、仮想IPU31bは、必要に応じて第1サーバに構築されるものであり、常に仮想IPU31bが存在するわけではない。
第2サーバ32は、ダウンロードデータをダウンロード可能とするためのダウンロードサイト32aと、データ及びコンピュータプログラムを記憶する記憶部32cと、を備えている。
【0031】
図2は、検体分析装置2及び検体分析装置2に関連する施設200内の装置構成(施設200内のネットワーク(LAN)構成)を示している。
検体分析装置2は、例えば、検体として、患者から採取された臨床検体(例えば血液)を分析する血液分析装置である。検体分析装置2は、情報処理装置(IPU;Information Processing Unit)20と、検体測定装置(本体ともいう)25と、を備えている。
情報処理装置(第1コンピュータ)20は、検体測定装置25における検体測定の制御及び測定データの分析などの処理を行う。情報処理装置20は、処理部21、記憶部22、及び表示装置23などを備えており、パーソナルコンピュータと同様の機能を有している。
【0032】
記憶部22は、ハードディスクなどを有して構成されている。記憶部22には、情報処理装置20の処理部21において実行されることが必要とされる処理(検体測定の制御及び測定データの分析などの処理)のためのコンピュータプログラムが記憶(インストール)されている。また、記憶部22には、前記処理の実行に必要なデータ(設定値)及び処理結果なども記憶される。記憶部22の内容については後述する。
処理部21は、CPU、ROM、RAMなどを含み、記憶部22に記憶されたプログラムを読み出して実行することができる。
表示装置23は、検体の分析結果の表示出力、検体分析装置2の操作画面などの表示を行うことができる。なお、分析結果は、情報処理装置20に接続されたプリンタ25によって印刷出力も可能である。
【0033】
検体測定装置25は、測定部26と、搬送部27と、通信部28と、を備えている。測定部26は、血液などの検体を測定するためのものである。搬送部27は、検体が収容された検体容器をラックに載せて測定部26に搬送する。測定部26は、搬送部27によって搬送された検体容器内の検体を吸引して、血球数などの測定(検体測定処理)を行う。
検体容器には個々の検体を識別するための検体IDを示すバーコードラベルが貼付されている。測定部26は、ラックに搭載された検体容器のバーコードを読み取るバーコードリーダ(ID取得部)26aを備えており、バーコードリーダ26が検体容器のバーコードを読み取ることで、情報処理装置20は検体IDを認識することができる。
【0034】
通信部28は、測定部26及び搬送部27と情報処理装置20との間の通信を担う。情報処理装置20から送信された指令・データは、通信部28を介して測定部26又は搬送部27に与えられ、測定部26及び搬送部27にて得られた情報(センサ検出結果など)は、通信部28を介して、情報処理装置20に送信される。
【0035】
検体分析装置2の情報処理装置20は、施設200のLAN61に接続されており、LAN61を介して、施設200のホストコンピュータ62との間で通信可能である。また、情報処理装置20は、LAN61及びルータ63を介して、外部ネットワークであるインターネット4へのアクセスが可能である。なお、前述のプリンタ25は、LAN61に接続されたネットワークプリンタであってもよい。
【0036】
ホストコンピュータ62は、施設200内に設置されており、施設200に設置された複数台の検体分析装置2に対して発行すべき測定オーダ情報と、測定オーダ情報にしたがって検体分析装置2が検体を測定・分析して得た分析結果とを統合して管理するコンピュータである。ホストコンピュータ62は、検体分析装置2から検体に付された検体IDが送信されると、その検体IDに対応する測定オーダ情報を情報処理装置20に対して送信する(リアルタイム問い合わせ)。測定オーダ情報は、検体IDで示される個々の検体について測定すべき項目などを示す情報である。測定オーダ情報は、検体IDと、検体が採取された患者の患者IDと、検体について測定すべき項目を含む。なお、測定オーダ情報に含まれる患者IDは、ホストコンピュータ62が管理する患者データベースを参照するためのものである。後述するように、測定オーダ情報、測定データ、および分析結果は外部サーバに転送されて記憶されるが、これらが含むのは患者IDのみであるため、患者の氏名など患者を特定できる情報は、外部サーバに送信されない。
【0037】
情報処理装置20は、ホストコンピュータ62から測定オーダ情報を受信すると、その測定オーダ情報を記憶部22に記憶し、その測定オーダ情報に従った測定を測定部26に行わせる。測定部26は測定データを情報処理装置20に返す。情報処理装置20は、取得した測定データを記憶部22に記憶するとともに、測定オーダ情報に対する結果報告のためにホストコンピュータ62に分析結果を報告(送信)する。
【0038】
情報処理装置20が正常に動作している場合、検体分析装置2は、外部サーバ3に依存しなくても、検体測定装置25に検体を測定させ、測定の結果として得られる測定データの分析処理までの全ての処理を単独で実行することが可能である。
一方、情報処理装置20が故障した場合、
図2に示す情報処理装置20は、
図3に示すように代替コンピュータ(第2コンピュータ)5に置き換えられる。つまり、代替コンピュータ5が検体測定装置26に接続され、代替コンピュータ5の制御下で検体測定装置26が稼働する。
【0039】
代替コンピュータ5としては、一般的な市販のパーソナルコンピュータを利用可能である。つまり、代替コンピュータ5は、情報処理装置20と同様に、処理部51、記憶部52、及び表示装置53などを備えていればよい。
【0040】
代替コンピュータ5は、情報処理装置20と同様に、検体測定装置における検体の測定を制御するが、情報処理装置20とは異なり、処理負荷の大きい分析処理は、外部サーバ3に委ねる。すなわち、分析処理は、クラウドコンピューティングによって行われる。
【0041】
ここで、情報処理装置20が故障した場合、代替コンピュータ5が、情報処理装置20の有する機能の全てを代替することも考えられる。しかし、このような場合、情報処理装置20にインストールされていたソフトウェア(コンピュータプログラム)全てを代替コンピュータ5にインストールする必要があり、時間がかかる。プログラムのインストールに要する時間が長引くと、それだけ検体分析装置の稼働再開が遅れ、ダウンタイムが長くなる。しかも、情報処理装置20にインストールされていたソフトウェアを代替コンピュータ5でも実行するには、代替コンピュータ5のスペック(ハードディスクの空き容量、メモリ容量、CPU(処理部51)の処理速度)は、情報処理装置20のスペックと同等のものが要求されることになる。そのような高スペックのコンピュータをすぐに用意することは、困難な場合が多い。
【0042】
本実施形態の代替コンピュータ5は、情報処理装置20が実行していた機能の一部(検体の測定の制御)だけを実行するのみであるため、他の機能(分析処理)を実行する必要がない。このため、代替コンピュータ5に必要なソフトウェアは少なくて済み、インストールを迅速に行える。また、代替コンピュータ5にインストールされるソフトウェアの機能は限定的であるため、代替コンピュータ5のスペックは低くてもよい。したがって、検体分析装置2のユーザ(施設200)にとっては、代替コンピュータ5を準備するのが容易になる。
【0043】
一方、情報処理装置20が故障した場合、分析処理だけでなく、検体測定装置25における検体の測定の制御も含めて外部サーバ3に委ねることも考えられる。しかし、検体測定装置25の制御には、数十〜百ミリ秒オーダでの応答が必要な処理もあり、そのような高速な応答を、インターネット4経由で安定的に行うのは非常に困難である。
この点、本実施形態では、検体測定装置25の制御は、検体測定装置25にUSB又はLANで直接接続された代替コンピュータ5によって行われるため、分析処理にクラウドコンピューティングを利用しつつ、検体測定装置25に対する高速応答が可能である。
【0044】
[3.情報処理装置及び外部サーバの記憶内容]
図4Aに示すように、情報処理装置20の記憶部22には、データ70,71及びコンピュータプログラム(IPUプログラム)72が記憶されている。
IPUプログラム72は、検体測定装置25の制御(測定部26における検体の測定の制御及び搬送部27の制御)を行うとともに、測定部26による検体の測定データを分析する処理を、情報処理装置20に実行させる。
【0045】
IPUプログラム72は、機能別に構成された複数のモジュールを含む。具体的には、分析モジュール、本体制御モジュール、本体通信モジュール、サーバ通信モジュール、表示・印字モジュール、精度管理モジュール、ホスト通信モジュール、仮想IPU通信モジュールなどを含む。なお、本明細書では、定義された機能を実行するプログラムの単位をモジュールと呼ぶこととする。
【0046】
分析モジュールは、測定部26によって生成された測定データを、所定の分析条件設定を参照して分析することで、分析結果を生成する機能を有するプログラムである。
【0047】
本体制御モジュールは、測定オーダ情報にしたがって、本体(測定部26および搬送部27)に、必要な測定項目の測定を実行させる機能を有するプログラムである。具体的には、本体制御モジュールは、本体(測定部26および搬送部27)の各動作部が測定項目を測定するために必要な動作をスケジューリングした動作スケジュールを作成する。動作スケジュールの作成にあたっては、所定の本体部設定が参照される。作成された動作スケジュールは、本体(測定部26および搬送部27)のドライバ回路によって各動作部に割り当てられる。
【0048】
本体通信モジュールは、本体制御モジュールが作成した動作スケジュールを本体(測定部26および搬送部27)に送信する機能と、測定部26が生成した測定データや、検体容器のバーコードから得られた検体IDなどを測定部26から受信する機能を有するプログラムである。
【0049】
サーバ通信モジュールは、外部サーバ3と通信する機能を有するプログラムである。サーバ通信モジュールは、測定データや分析結果、各種設定値など、記憶部22に生じたデータ変更の差分をリアルタイムで外部サーバに送信する。
【0050】
表示・印字モジュールは、表示装置23へのデータ表示や、プリンタ25への印刷データの出力などの機能を有するプログラムである。
【0051】
精度管理モジュールは、精度管理検体の分析結果を基に、精度管理チャートを作成したりする機能を有するプログラムである。
【0052】
ホスト通信モジュールは、ホストコンピュータ62と通信する機能を有するプログラムである。ホスト通信モジュールは、ホストコンピュータ62に対して測定オーダ情報の問い合わせコマンドを送信したり、ホストコンピュータ62から測定オーダ情報を受信したりする。
【0053】
仮想IPU通信モジュールは、代替コンピュータ5において実行され、外部サーバ3に構築される仮想IPU31bと通信する機能を有するプログラムである。仮想IPU通信モジュールは、代替コンピュータ5用のモジュールであり、情報処理装置20には直接必要ない。
【0054】
図4Bは、通常時と代替システム構築時(システム分散時)とで各モジュールの保有関係を模式的に示す図である。
図4Bに示すとおり、通常時は、情報処理装置20がIPUプログラムを実行することにより、情報処理装置20が各モジュールのすべてを実行することができる。つまり、情報処理装置20は、外部サーバ3に依存することなく、検体の測定から分析結果の生成、ホストコンピュータ62への報告までの一連の処理を実現できる。
一方、システム分散時には、IPUプログラムの各モジュールのうち、分析モジュール、表示・印字モジュール、精度管理モジュールが仮想IPU31bに割り当てられる。一方、本体制御モジュール、本体通信モジュール、サーバ通信モジュール、ホスト通信モジュール、仮想IPUモジュールは、代替コンピュータ5に割り当てられる。つまり、代替コンピュータ5は、本体(測定部26および搬送部27)を制御する機能と、本体、外部サーバ3、ホストコンピュータ62を中継する機能とを有するのみで、分析などの機能はすべて仮想IPUに委ねられることになる。
【0055】
図4Aに戻って、記憶部22に記憶されるデータ70,71は、検体の測定又は測定データの分析に関連するものである。データ70,71には、第1データ70及び第2データ71が含まれる。データ70,71は、個々の検体分析装置2に固有のデータであり、データ70,71に含まれる設定値は、検体分析装置2の動作を決定するシステム情報である。検体分析装置2固有の設定値が失われると、ユーザ(施設200)は、それまでと同様の条件で検体分析装置2を動作せることができなくなる。
【0056】
第1データ70は、情報処理装置20に代えて代替コンピュータ5が用いられる際に、仮想IPU31bによってアクセスされることになる情報である。
第1データ70には、処理結果(測定データ、分析結果)、測定オーダ情報、精度管理情報、分析設定(分析用情報)、表示・通信・印字設定が含まれる。
処理結果は、検体分析装置2における処理結果を示すデータである。処理結果には、検体測定装置25による測定データ(測定部26から出力された生データ)と、情報処理装置20によって測定データを分析して得られた分析結果と、が含まれる。
測定オーダ情報は、前述のように、検体について測定すべき項目などを示す情報である。情報処理装置20は、測定オーダ情報を、ホストコンピュータ62から受信し、記憶部22に記憶する。
【0057】
精度管理情報は、精度管理に関する情報である。精度管理情報には、分析の精度管理のための測定部26の動作及び精度管理のための分析処理に関して設定される精度管理設定値と、測定部26において精度管理物質(精度管理検体)を測定し、測定データを分析した分析結果と、が含まれる。
【0058】
分析設定(分析用情報)は、測定部26における検体の測定データを分析する際に用いる設定値である。分析設定には、例えば、検量線情報、フラッギング条件、校正値、が含まれる。検量線情報は、測定部26から出力された測定データ(生データ)を濃度に換算するために用いられる、測定値と濃度との関係を規定した情報である。フラッギング条件は、分析結果の値が、正常値を示す数値範囲外の場合、分析結果の出力時に、その分析結果が異常値であることを示すフラグを付す条件である。校正値は、測定データ(生データ)を分析結果に変換する際の補正率を示す値である。
表示・通信・印字設定には、表示・通信・印字に関する設定値が含まれる。
【0059】
第2データ71は、情報処理装置20に代えて代替コンピュータ5が用いられる際に、代替コンピュータ5にダウンロードされ、代替コンピュータ5によってアクセス(参照)される情報である。
第2データ71には、本体部設定(測定用情報)と、仮想IPUとの通信用設定と、ホストコンピュータとの通信設定が含まれる。
本体部設定(測定用情報)は、検体測定装置25に関する設定値である。本体部設定には、例えば、検体測定装置25(検体分析装置2)のシリアルID、検体測定装置25のIPアドレス、オプションの有無を示す情報、測定中断条件、感度調整値、検体測定装置25の測定部品の位置調整データなどが含まれる。シリアルIDは、個々の検体測定装置25に固有のIDである。シリアルIDには、検体測定装置25(検体分析装置2)の機種を特定する情報も含まれており、シリアルIDによって検体測定装置25(検体分析装置2)の機種を特定することもできる。
【0060】
オプションの有無を示す情報は、検体測定装置25にオプションが付加されているか否かを示す情報である。測定中断条件は、測定部26又は搬送部27に異常が発生した場合に測定を中断する条件を示すものである。ユーザは、複数の異常要因の中から、異常発生時に測定を中断すべき異常要因を選択しておき、選択された異常要因が測定中断条件となる。異常要因としては、例えば、検体IDの読み取り異常、検体吸引異常、試薬使用期限切れ、などがある。
【0061】
仮想IPUとの通信用設定は、第1サーバ31の仮想IPUとの通信を行うための設定値である。仮想IPUとの通信用設定は、代替コンピュータ5用の設定値であり、情報処理装置20には直接必要のない情報である。仮想IPUとの通信用設定は、仮想IPUに付与されるIPアドレスを含む。
【0062】
ホストコンピュータとの通信用設定は、ホストコンピュータ62との通信を行うための設定値である。ホストコンピュータ62との通信用設定は、ホストコンピュータ62のIPアドレスを含む。
【0063】
情報処理装置20のIPUプログラム72は、その実行時において、第1データ70に含まれる測定オーダ情報及び分析設定並びに第2データ71に含まれる本体部設定・表示・通信・印字設定を参照し、測定オーダにしたがって検体測定装置25に検体の測定を実行させる。また、IPUプログラム72は、測定部26から得られた測定データ、及び測定データの分析結果を、処理結果として記憶部22に保存する。
また、IPUプログラム72は、精度管理の際には、精度管理設定値を参照、精度管理のための処理を行い、精度管理の処理の結果を、精度管理の測定データとして記憶部22に保存する。
【0064】
さて、
図4に示すように、情報処理装置20の制御下で検体測定装置25が稼働可能である場合には、情報処理装置20は、外部サーバ3との間で、第1データ70及び第2データ71のデータ同期をとる。これにより第1データ70及び第2データ71のレプリカ(コピー)が外部サーバ3に作成される。
【0065】
外部サーバ3の第1サーバ31の記憶部31cには、仮想IPU用データ80の記憶領域と、ダウンロードデータ81用の記憶領域が設けられている。ダウンロードデータ81の記憶領域には、ダウンロードプログラム84の記憶領域と、ダウンロード設定値85の記憶領域とが含まれる。
仮想IPU用データ80及びダウンロード設定値85の記憶領域は、複数の検体分析装置2,2それぞれに対応して設けられている。複数の検体分析装置2,2それぞれに対応したデータ80,85のデータ群は、検体分析装置2,2のシリアルID(データ識別情報)をキーとして検索可能とされている。
ダウンロードプログラム84は、様々な検体分析装置2の機種(種類)それぞれに対応して設けられている。様々な検体分析装置2の機種それぞれに対応したダウンロードプログラム84のプログラム群(制御プログラム群)は、検体分析装置2,2のシリアルIDによって特定される機種(プログラム識別情報)をキーとして検索可能とされている。
【0066】
仮想用IPUデータ80には、第1データレプリカ82と、仮想IPUプログラムのインストーラ83と、が含まれる。第1データレプリカ82は、情報処理装置20との間のデータ同期(レプリケーション)によって第1サーバ31に生成される第1データ70のレプリカである。
【0067】
仮想IPUプログラムは、外部サーバ3を仮想IPU31bとして機能させるためのプログラムである。仮想IPUプログラムは、分析モジュール、表示・印字モジュール、精度管理モジュール、代替IPU通信モジュールを含む。仮想IPUプログラムに含まれる各モジュールのうち、分析モジュール、表示・印字モジュール、精度管理モジュールは、IPUプログラム72に含まれる分析モジュール、表示・印字モジュール、精度管理モジュールと同等の機能を有するモジュールである。
つまり、仮想IPUプログラムは、情報処理装置20にインストールされているIPUプログラム72の機能(モジュール)のうち、検体の測定データの分析モジュール(分析プログラム)を、第1サーバ3で実現するために、仮想IPU31bが実行するためのものである。仮想IPU31bが必要になった場合(情報処理装置20が故障して代替コンピュータ5が使用される場合)、インストーラ83によって、仮想IPUプログラムが第1サーバ3に自動インストールされ、仮想IPU31bが起動する。仮想IPU31bは、代替コンピュータ5と協調しつつ、検体の分析処理を行う。
なお、仮想IPU31bは、仮想IPU31bを必要とする検体分析装置2が複数存在する場合には、第1サーバ31において、複数の仮想IPU31bを同時に起動可能である。
【0068】
ダウンロードプログラム84は、情報処理装置20が故障した場合に使用される代替コンピュータ5にインストールされるべきプログラムである。ダウンロードプログラム84には、本体制御モジュール(制御プログラム)と、本体部(検体測定装置25)通信モジュールと、サーバ通信モジュールと、ホスト通信モジュールと、仮想IPU通信モジュールと、が含まれる。
ダウンロードプログラム84に含まれる各モジュールは、IPUプログラムにおける同名のモジュールと同等の機能を有するプログラムである。
つまり、本体制御モジュールは、測定部である検体測定装置25(測定部26及び搬送部27)における検体の測定を制御する処理を代替コンピュータ5に実行させるプログラムである。本体部通信プログラムは、測定部である検体測定装置25との通信処理を代替コンピュータ5に実行させるプログラムである。サーバ通信モジュールは、外部サーバ3と通信する機能を有するプログラムである。ホスト通信モジュールは、ホストコンピュータ62と通信する機能を有するプログラムである。仮想IPUとの通信プログラムは、仮想IPU31bとの通信処理を代替コンピュータ5に実行させるプログラムである。
【0069】
ダウンロードプログラム84は、代替コンピュータ5が、仮想IPU31bと協調しつつ、検体測定装置25を制御するのに必要とされる必要最小限のプログラムである。代替コンピュータ5がダウンロードプログラム84を実行することにより、仮想IPU31bから測定オーダに基づく検体の測定指示を受け取り、検体測定装置25に検体の測定を実行させ、検体測定装置25から測定データ(生データ)を受け取り、受け取った測定データ(生データ)を仮想IPU31bに転送する、という流れが実現できるようになる。なお、ダウンロードプログラム84には、仮想IPU31bが担う分析処理のためのプログラムは含まれない。
【0070】
ダウンロード設定値85は、情報処理装置20との間のデータ同期(レプリケーション)によって第1サーバ31に生成される第2データ71のレプリカ(第2データレプリカ)である。
【0071】
第2サーバ32の記憶部32cには、第1サーバ31とのデータ同期(レプリケーション)によって、第1サーバ31の仮想IPU用データ80のレプリカ(仮想IPUデータレプリカ)90と、第1サーバ31のダウンロードデータ81のレプリカ(ダウンロードデータレプリカ)91と、が生成される。
【0072】
[3.検体分析システムの運用方法]
[3.1 通常時(情報処理装置の正常動作時)の検体分析方法]
情報処理装置20が正常に動作可能である場合(非故障時)、検体測定装置25は、検体測定装置25に接続された情報処理装置20の制御下で稼働することができる(
図2参照)。この場合、情報処理装置20の第1データ70及び第2データ71に差分(変更)が生じると、その差分データ(変更内容)が第1サーバ31に送信され、その差分データによって、第1サーバ80の仮想IPU用データ80又はダウンロード設定値85が上書きされる(レプリケーション)。
第1データ70又は第2データ71の変更は、ユーザによる設定値の変更が行われた場合や、測定データ又は分析結果が生成された場合に生じる。
【0073】
図5は、測定処理及び分析処理によって得られた分析結果のデータ同期(レプリケーション)の手順を示している。
まず、情報処理装置20は、情報処理装置20に付設されたキーボード、マウス、タッチパネルなどの入力部を通じてユーザから測定開始指示を受け付けると(ステップS111)、測定開始のコマンドを検体測定装置25へ送信する(ステップS112)。なお、測定開始コマンドは、検体測定装置25に設けられたボタン操作によって行われてもよい。
【0074】
情報処理装置20の制御下にある検体測定装置25は、測定開始のコマンドを受け付けると、測定処理を行う(ステップS101)。具体的には、まず、搬送部27によって検体容器を測定部26へ搬送する。測定部26のバーコードリーダ26aは、搬送された検体容器のバーコードを読み取る。バーコードの読取結果(検体ID)は、通信部28を介して情報処理装置20へ送信される。情報処理装置20は、検体IDをキーとして、ホストコンピュータ62に測定オーダ情報を問い合わせる。ホストコンピュータ62は、検体IDに対応する測定オーダ情報を検索し、情報処理装置20に送信する。情報処理装置20は、受信した測定オーダ情報を記憶部22に記憶する。情報処理装置20は、測定オーダ情報に従った測定を測定部26に行わせるための測定指示を測定部26(検体測定装置25)へ送信する。具体的には、情報処理装置20は、測定オーダ情報にしたがって測定を実行できるように、測定部26および搬送部27の各機構部の動作スケジュールを作成し、測定部26および搬送部27に送信する。搬送部27は、動作スケジュールにしたがって検体ラックを搬送し、測定部26は、動作スケジュールにしたがって必要な測定項目の測定を行い、測定データ(生データ)を出力する。
情報処理装置20は、測定部の制御(ステップS112)の際に、必要に応じて、本体部設定(測定用情報)を参照して、制御を行う。
【0075】
情報処理装置20は、測定部26から出力された測定データを、通信部28を介して受信し、測定データを記憶部22に保存する(ステップS113)。
続いて、情報処理装置20は、測定データの分析を行って分析結果を得る(ステップS114)。情報処理装置20は、測定データの分析の際に、必要に応じて、分析設定(分析用情報)を参照して、分析を行う。
情報処理装置20は、得られた分析結果を、記憶部22に保存する(ステップS115)。分析結果は、情報処理装置20の表示装置23などに出力される。さらに、情報処理装置20は、得られた分析結果を、ホストコンピュータ62に送信する。
【0076】
情報処理装置20は、第1サーバ31との間のデータ同期(レプリケーション)のため、記憶部22における第1データ70及び第2データ72の差分を検出することができる。
分析結果(第1データ70の一部)が保存されると、情報処理装置20は、第1データ70の変更を検出し、その変更内容(つまり、保存された分析結果)を、第1サーバ31へ送信する(ステップS116)。
【0077】
第1サーバ31は、変更内容(分析結果)を受信すると(ステップS121)、その変更内容を、仮想IPU用データ80における分析結果の記憶領域に保存する(ステップS122)。これにより、第1サーバ31の第1データレプリカ82の内容は、情報処理装置20の第1データ70と一致し、データ同期が確立される。
【0078】
第1サーバ31は、第2サーバ32との間のデータ同期(レプリケーション)のため、記憶部31cにおける仮想IPUデータ80及びダウンロードデータ81の変更を検出することができる。
第1サーバ31は、受信した変更内容が保存されると、仮想IPU用データ80の変更を検出し、その変更内容を、第2サーバ32へ送信する(ステップS123)。
【0079】
第2サーバ32は、変更内容(分析結果)を受信すると(ステップS131)、その変更内容を、仮想IPU用データレプリカ90における分析結果の記憶領域に保存する(ステップS132)。これにより、第2サーバ32の仮想IPU用データレプリカ90の内容は、第1サーバ31の仮想IPU用データ80と一致し、データ同期が確立される。
【0080】
以上のような、情報処理装置20と第1サーバ31との間のデータ同期、及び、第1サーバ31と第2サーバ32との間のデータ同期は、分析結果以外の他の第1データ70及び第2データ71が変更された場合にも行われる。
また、データ同期のためのデータ変更内容の送信は、情報処理装置20から第1サーバ31及び第2データ32の双方に、同時に行われてもよい(ミラーリング)。この場合、第1サーバ31が第2サーバ32に対して変更内容を転送する必要がない。
【0081】
[3.2 情報処理装置の故障時(代替システム構築)]
情報処理装置2が故障などによって使用できなくなると、
図3に示すように、情報処理装置20に代えて、代替コンピュータ5が検体測定装置25に接続される。代替コンピュータ5は、LAN61にも接続され、情報処理装置2と同様に、インターネット4を介して、外部サーバ3にアクセスすることができる。
ここで、代替コンピュータ5となるコンピュータは、LAN61に接続された初期状態において、オペレーティングシステム及び検体分析とは無関係のアプリケーションプログラムがインストールされているだけで、検体測定及び検体分析に関連したプログラムはインストールされていないものとする(市販のパーソナルコンピュータを代替コンピュータ5として接続した状態)。
【0082】
以下、故障した情報処理装置20に代えて代替コンピュータ(代替IPU)5を用いて、外部サーバ3と協調しつつ検体分析を行う代替システム(
図3参照)の構築手順について説明する。
【0083】
代替コンピュータ5は、検体の測定データの分析は行わないが、仮想IPU31bと協調して、検体測定装置25の制御を行う。したがって、仮想IPU31bと協調して検体測定装置25の制御を行うのに必要なプログラムを代替コンピュータ5にインストールする必要がある。
また、故障した情報処理装置2と同様の設定値で検体測定装置25の制御を行うには、故障した情報処理装置2に設定されていた本体部設定(測定用情報)を、代替コンピュータ5に設定する必要がある。さらに、代替コンピュータ5には、仮想IPU31bとの通信設定も行われている必要がある。
【0084】
仮想IPU31bと協調して検体測定装置25の制御を行うのに必要なプログラム及びデータ(設定値)は、第1サーバ13のダウンロードデータ81のダウンロードプログラム84及びダウンロード設定値85として存在する。
したがって、
図6に示すように、代替コンピュータ5は、第1サーバ31のダウンロードプログラム84及びダウンロード設定値85をダウンロードし、それらのコピー100,101を記憶部52に保存すればよい。ダウンロードデータ81を代替コンピュータ5にインストールし、インストールされたプログラムが起動することで、代替コンピュータ5は、仮想IPU31bと協調して、検体測定装置25の制御を行うことができる。すなわち、検体測定装置25は、代替コンピュータ5の制御下で稼働するようになる。
なお、代替コンピュータ5を検体測定装置25に接続するのは、ダウンロードデータ81のインストール前であってもよいし、インストール後であってもよい。
【0085】
ここで、代替コンピュータ5には、第1サーバ31にログインするためのログインプログラム102が必要とされるが、本実施形態では、ログインプログラム102は、代替コンピュータ5に搭載されているオペレーティングシステムが有する機能(リモートログイン機能など)を利用するため、第1サーバ31からダウンロードする必要はない。ただし、必要に応じて第1サーバ31からログインプログラム102をダウンロードするようにしてもよい。
【0086】
図7は、代替システムを構築するための詳細な手順を示している。
まず、ユーザは、代替コンピュータ5のログインプログラム102を利用して、第1サーバ31のダウンロードサイト31aにログインする(ステップS211)。ログインの際には、検体分析装置2のシリアルIDがログインIDとして用いられる。
第1サーバ31のダウンロードサイト31aは、ログイン認証を行うと、シリアルIDをキーとして、ダウンロードデータ81の検索を行う(ステップS221)。
【0087】
検体分析装置2のシリアルIDには、検体分析装置2の機種を特定する情報も含まれている。したがって、シリアルIDによって特定される機種(プログラム識別情報)をキーとして、ダウンロードプログラム84のプログラム群を検索すると、検体分析装置2の機種に応じたダウンロードプログラム84を抽出することができる。
また、シリアルIDは、個々の検体分析装置2を識別する情報であるため、シリアルID(データ識別情報)をキーとしてダウンロード設定値85のデータ群の検索を行うことで、故障した情報処理装置20から送信された設定値(本体部設定及び仮想IPUとの通信設定)も抽出することができる。
【0088】
第1サーバ31は、シリアルIDを用いた検索によって抽出されたダウンロードデータ81(ダウンロードプログラム84及びダウンロード設定値85)を、代替コンピュータ5へ送信する(ステップS222)。ダウンロードデータ81は、検体測定装置25の制御のための最小限のものであるため、データ(プログラム)サイズも小さく、迅速なダウンロードが可能である。
【0089】
さらに、第1サーバ31は、シリアルID(データ識別情報)をキーとして、仮想IPU用データ80のデータ群の検索を行って、故障した情報処理装置20から送信された第1データ70のレプリカ82を含む仮想IPU用データ80を抽出する。第1サーバ31は、抽出された仮想IPU用データ80のインストーラ83を実行し、第1サーバ31において仮想IPU31bを立ち上げる(ステップS223)。
【0090】
代替コンピュータ5は、第1サーバ31から送信されたダウンロードデータ81(制御プログラム及び本体部設定(測定用情報)を含む)を取得(ダウンロード)する(ステップS212)。代替コンピュータ5は、受信したダウンロードデータ81を、第1サーバ31のダウンロードデータ81のコピー100,101として記憶部52に保存し、ダウンロードプログラム(本体制御プログラム等)のインストールを開始する。実際のインストールに先立って、代替コンピュータ5の適合性(メモリ容量、オペレーティングシステムのバージョンなど)がチェックされる(ステップS213)。適合性に問題なければ、ダウンロードプログラム(本体制御プログラム等)のインストールが行われる(ステップS214)。これにより、代替コンピュータ5は、仮想IPU31bと協調しつつ、故障した情報処理装置20と同様の環境で検体測定装置25を制御することが可能になる。
【0091】
第1サーバ31において仮想IPU31bが起動すると(ステップS224)、仮想IPU31bは、先に抽出された仮想IPU用データ80の第1データレプリカ(故障した情報処理装置(IPU)20の設定値・処理結果など)を読み込む(ステップS225)。
これにより、仮想IPU31bは、故障した情報処理装置20と同様の環境で検体分析処理を開始することができる(ステップS226)。
【0092】
また、検体分析装置2(代替システム)のユーザは、起動した代替コンピュータ5の仮想IPU31bに対してログインする(ステップS215)。このログインは、代替コンピュータ5によって自動的に行われてもよい。仮想IPU31bへのログインは、代替コンピュータ5のオペレーティングシステムが有するリモートデスクトップ機能によって行われる。
【0093】
以上の代替システム構築処理により、故障した情報処理装置20の機能が、代替コンピュータ5と仮想IPU31bとに分散した状態で再現された代替システムが得られる。代替コンピュータ5は、仮想IPU31bにログインすることで、代替コンピュータ5自身が検体測定データの分析処理を行うことなく、仮想IPU31bによるクラウドコンピューティングによって分析処理結果を受けとることができる。
【0094】
[3.3 代替システム動作時]
代替システムの動作時は、検体測定装置25は、検体測定装置25に接続された代替コンピュータ(第2コンピュータ)の制御下で稼働する(
図3参照)。
通常時において、設定値が変更されたり処理結果が生成され、情報処理装置20の第1データ70及び第2データ71に変更が生じることがあるのと同様に、代替システム動作時においても、ユーザによって設定値が変更されたり、処理結果(測定データ、分析結果)が生成されたりして、第1サーバ31の記憶部31c(第1データレプリカ82及び第2データレプリカ85)の内容には変更が生じることがある(
図8参照)。
【0095】
第1サーバ31の記憶部31cの内容(第1データレプリカ82及び第2データレプリカ85)に変更がなされると、その変更は、第1サーバ31及び第2サーバ32間のデータ同期(レプリケーション)によって、第2サーバ32側に反映される。
【0096】
図9は、代替システムの検体測定処理及び分析処理並びにデータ同期(レプリケーション)の手順を示している。
まず、代替コンピュータ5は、代替コンピュータ5に付設されたキーボード、マウス、タッチパネルなどの入力部を通じてユーザから測定開始指示を受け付ける(ステップS311)。代替コンピュータ5は仮想IPU31にログインしているため、この測定開始指示は、仮想IPU31bに対する測定開始指示となる。つまり、ユーザは代替コンピュータ5に表示された操作画面上から測定開始を指示する操作を実行することになるため、見かけ上は代替コンピュータ5に対して測定開始を指示することになるが、実体は仮想IPUが生成した操作画面をリモート操作することになる。仮想IPU31bは、測定に必要な指示を代替コンピュータ5に送信する(ステップS321)。
【0097】
代替コンピュータ5は、仮想IPUとの通信プログラムによって、仮想IPU31bからの測定指示を受け取る。そして、代替コンピュータ5の本体制御プログラム(制御プログラム)は、測定に必要な指令を検体測定装置25へ送信することで、検体測定装置25を制御する(ステップS312)。検体測定装置25の制御は、仮想IPU31bと協調しつつ行われる。
【0098】
代替コンピュータ5の制御下の検体測定装置25は測定処理を行う(ステップS301)。具体的には、まず、搬送部27によって検体容器を測定部26へ搬送する。測定部26のバーコードリーダ26aは、搬送された検体容器のバーコードを読み取る。バーコードの読取結果(検体ID)は、通信部28を介して代替コンピュータ5へ送信される。代替コンピュータ5は、その検体IDを、仮想IPU31bへ転送する。
仮想IPU31bは、検体IDをキーとして測定オーダ情報を問い合わせるコマンドを生成し、代替コンピュータ5に送信する。代替コンピュータ5は、受信したコマンドをホストコンピュータ62に転送する。ホストコンピュータ62は、検体IDに対応する測定オーダ情報を検索し、代替コンピュータ5に送信する。代替コンピュータ5は、受信した測定オーダ情報を仮想IPU31bに転送する。仮想IPU31bは、第1サーバ31の記憶部31cに、受信した測定オーダ情報を記憶する。
【0099】
仮想IPU31bは、記憶部31cに記憶した測定オーダ情報に従った測定を測定部26に行わせるための測定指示を、代替コンピュータ5へ送信する。代替コンピュータ5は、その測定指示に基づいて、測定部26に検体の測定を行わせる。具体的には、代替コンピュータ5は、測定オーダ情報にしたがって測定を実行できるように、測定部26および搬送部27の各機構部の動作スケジュールを作成し、測定部26および搬送部27に送信する。搬送部27は、動作スケジュールにしたがって検体ラックを搬送し、測定部26は、動作スケジュールにしたがって必要な測定項目の測定を行い、測定データ(生データ)を出力する。
代替コンピュータ5は、測定部の制御(ステップS312)の際に、必要に応じて、記憶部52に記憶された本体部設定(測定用情報)を参照して、制御を行う。
【0100】
代替コンピュータ5は、測定部26から出力された測定データを、通信部28を介して受信する(ステップS313)。代替コンピュータ5は、受信した測定データを、必要に応じて測定データバッファ104(
図8参照)に蓄積し、測定データを、仮想IPU31bに送信する(ステップS314)。
【0101】
仮想IPU31bは、測定データを受信すると、測定データを記憶部31cに保存する(ステップS322)。
続いて、仮想IPU31bは、測定データの分析を行って分析結果を得る(ステップS323)。つまり、第1サーバ31による分析プログラムの実行により分析が行われる。仮想IPU31bは、測定データの分析の際に、必要に応じて、記憶部31に記憶された仮想IPU用データ80に含まれる分析設定(分析用情報)を参照して、分析を行う。
【0102】
仮想IPU31bは、得られた分析結果を、記憶部31cに保存する(ステップS324)。代替コンピュータ5は、得られた分析結果を、リモートデスクトップ機能を利用して参照することができる。さらに、仮想IPU31bは、ホストコンピュータ62に分析結果を報告するために、分析結果を、まず代替コンピュータ5に送信する。具体的には、仮想IPU31bは、分析結果の送信先のIPアドレスに代替コンピュータ5のIPアドレスを設定し、送信する。代替コンピュータ5は、受信した分析結果のIPアドレスを、ホストコンピュータ62のIPアドレスに再設定することで、分析結果をホストコンピュータ62に送信する。つまり、代替コンピュータ5は、分析結果を仮想IPU31bからホストコンピュータへ転送するルータのような役割を果たす。
【0103】
なお、ホストコンピュータ62は、代替コンピュータ5を経由せず直接ホストコンピュータ62に分析結果を送信してもよい。このような構成によれば、分析結果の転送に伴う代替コンピュータ5の負荷をさらに低減することができる。ただし、このような構成を採用する場合、外部サーバ3とホストコンピュータ62が直接データのやりとりを行うことになるので、代替コンピュータを経由する環境に比べてより高いセキュリティが求められる。
【0104】
第1サーバ31の仮想IPU31bは、第2サーバ32との間のデータ同期(レプリケーション)のため、分析結果の保存に伴う仮想IPU用データの変更を検出すると、その変更内容(つまり、保存された分析結果)を、第2サーバ32へ送信する((ステップS325)。
【0105】
第2サーバ32は、変更内容(分析結果)を受信すると(ステップS331)、その変更内容を、第2サーバの仮想IPU用データレプリカ90における分析結果の記憶領域に保存する(ステップS332)。これにより、第1サーバ31と第2サーバ32の記憶内容が一致し、データ同期が確保される。
【0106】
以上のような、第1サーバ31と第2サーバ32との間のデータ同期は、第1サーバ31における分析結果以外の他のデータ82,85が変更された場合にも行われる。
【0107】
[3.4 復旧]
代替システムは永続的に使用される必要はなく、検体測定装置25に接続された情報処理装置20によって分析処理が行われる状態(
図2参照)への復旧をすることができる。
図10〜
図12は、復旧のための手順を示している。
【0108】
復旧に用いる復旧コンピュータには、故障した情報処理装置20(第1コンピュータ)を修理したもの用いてもよいし、故障した情報処理装置20と同等のハードウェア構成及びオペレーティングシステムを有するコンピュータ(第3コンピュータ;新コンピュータ)を用いてもよいし、代替コンピュータ5を用いてもよい。
【0109】
以下では、故障した情報処理装置(第1コンピュータ)20を修理したもの(新コンピュータ;新IPU)を復旧コンピュータとして用いて復旧する場合について説明する。なお、新コンピュータ(新IPU)20は、故障した情報処理装置20のハードディスク(記憶部22)が交換されるなどして、故障前に情報処理装置20にインストールされていたIPUプログラム72は、インストールされていないものとする。また、故障前の情報処理装置20に記憶されていたデータ70,71(設定値、処理結果など)も全て失われているものとする。
【0110】
まず、復旧に先立って、代替コンピュータ5に代えて新コンピュータ20を検体測定装置25及びLAN61に接続された状態にする(
図2参照)。
そして、代替システム構築の手順と同様の手順によって、新コンピュータ20を用いた代替システムを構築する。
つまり、
図10に示すように、新コンピュータ20は、第1サーバ31のダウンロードプログラム84及びダウンロード設定値85をダウンロードし、それらのコピー110,111を記憶部22に保存する。ダウンロードデータ81を新コンピュータ20にインストールし、インストールされたプログラムが起動することで、新コンピュータ20と仮想IPU31bとが協調して動作する代替システムを構築することができる。すなわち、検体測定装置25は、新コンピュータ20の制御下で稼働するようになる。
【0111】
なお、新コンピュータ20を検体測定装置25に接続するのは、ダウンロードデータ81のインストール前であってもよいし、インストール後であってもよい。
また、
図10に示すログインプログラム112は、新コンピュータ20のオペレーティングシステムが有するものである。
【0112】
新コンピュータ20を用いた代替システムを構築することで、復旧作業に伴って、代替コンピュータ5を新コンピュータ20に置き換えても、復旧作業が完了するまでは、新コンピュータ20を用いた代替システムによって、検体測定装置25での測定及び仮想IPU31bによる分析処理を継続することができる。
なお、代替コンピュータ5を新コンピュータ20として用いて復旧を行う場合には、代替システムは既に構築されているため、復旧のための代替システム構築は省略できる。
【0113】
新コンピュータ20を用いた代替システムの構築処理によって、
図10に示すように、第2データ71(
図4参照)に相当するデータ(本体部設定(測定用情報)、仮想IPUとの通信設定)111が既に得られている。故障前の状態、つまり新コンピュータ20単独で測定から分析までを実行できるようにシステムを完全復旧するには、さらに、新コンピュータ20に第1データ70(
図4参照)に相当するデータを取得させる必要がある。
第1データ70に相当するデータは、外部サーバ3(第1サーバ31及び第2サーバ)に第1データレプリカ82,92として保存されているため、新コンピュータ20は、外部サーバ3から第1データレプリカ82,92をダウンロード(取得)すればよい。
【0114】
ただし、検体分析装置2によって検査を続行しながら第1データレプリカ82,92を新コンピュータ20に移行しようとすると、第1データレプリカ82、92に対する新たな分析結果の追加(更新)と、第1データレプリカ82、92の新コンピュータ20へのコピーとが同時に発生することになり、データの不整合が生じる可能性がある。換言すると、検体分析処理中は、データ転送を伴う復旧を行うのが困難である。
【0115】
そこで、本実施形態では、2つの第1データレプリカ82,92を利用して、検体分析処理を中断させることなく継続して行いつつ、復旧を行う。
すなわち、第1サーバ31は、データ更新(分析結果の追加など)が行える状態を維持しつつ、
図11に示すように、第1サーバ31とのデータ同期を停止した第2サーバ32から、新コンピュータ20へ、仮想IPU用データ90の第1データレプリカ92を転送する。
そして、必要な分析が終了するなどして、第1サーバ31におけるデータ内容更新が行われなくなると、第2サーバ32は、第1サーバ31とのデータ同期を再開し、データ同期停止中に第1サーバ31において更新されたデータ(差分データ)を取得する。その差分データは、新コンピュータ20に与えられる。以上の手順によって、新コンピュータ20は、測定及び分析の継続によって行われたデータ更新が反映された第1データレプリカ92のコピー113を取得できる。
【0116】
図12は、新コンピュータ20が、第1データレプリカ92(仮想IPU用データ90)を取得するための詳細な手順を示している。
まず、第1サーバ31の仮想IPU31bは、第2サーバ32に対して、データ同期の停止指示を送信する(ステップS421)。これにより、第1サーバ31と第2サーバ32との間のデータ同期が停止する。データ同期が停止すると、第2サーバ32のダウンロードサイト32aは、記憶部32cに記憶されている仮想IPU用データ90の第1データレプリカ92(設定値、測定データなど)を、新コンピュータ20に転送する(ステップS431)。
【0117】
新コンピュータ20は、検体測定装置25の制御を行いつつ、仮想IPU用データ90の第1データレプリカ92を受信し、そのコピー113を、記憶部22に記憶する(ステップS411)。
第1データレプリカ92の転送中は、新コンピュータ20と仮想IPU31bとが協調した測定処理及び分析処理を継続することができる。このため、第1サーバ31の第1データレプリカ82(特に処理結果)は、第1データレプリカ92の転送中であっても、更新されることがある。
【0118】
新コンピュータ20は、第1データレプリカ92の受信が完了すると、受信完了を仮想IPU31bに通知する。仮想IPU31bは、その通知の受信後、必要な測定処理及び分析処理が終了し、データ更新が生じない状態になると、第2サーバ32に対して、データ同期の再開指示を送信する(ステップS422)。これにより、第1サーバ31と第2サーバとの間のデータ同期が再開される。つまり、データ同期停止中に、第1サーバ31のデータが更新されることによって、第1サーバ31と第2サーバ32との間に生じた差分データが、第2サーバ32に送信され、第2サーバ32の第1データレプリカ92が更新され、第1サーバ32の第1データレプリカ82の内容と一致する(ステップS432)。
【0119】
さらに、差分データは、第2サーバ32のダウンロードサイト32aによって新コンピュータ20へ送信される。差分データを受信した新コンピュータ20は、その差分データによって先に受信したデータ113を更新する(ステップS412)。
また、新コンピュータ20は、差分データによるデータ更新内容(変更内容)を、第1サーバに送信する(ステップS413)。すると、第1サーバ31は、受信したデータ更新内容(変更内容)に基づいて、新コンピュータ20のデータ113,111が、第1サーバ31のデータ82,85と一致したことを確認する(ステップS423)。
データ同期した状態が得られると、仮想IPU31bは、停止する(ステップS424)。また、第1サーバ31は、第2サーバ32に対して、差分データ更新処理(第2サーバ32と新コンピュータ20との間のデータ同期)停止を指示する(ステップS425)。その指示を受けた第2サーバは、新コンピュータ20への差分データの送信を停止する(ステップS433)。
【0120】
以上の処理によって、新コンピュータ20のデータ113,111、第1サーバ31のデータ82,85、及び第2サーバ32のデータ92,95が全てデータ同期した状態(
図4と同様の状態;復旧状態)が得られる。
また、データ同期した状態が得られると、新コンピュータ20にIPUプログラム114(
図4に示すIPUプログラム72と同様のもの)のインストールが行われる。なお、インストールは、データ同期した状態が得られる前に行ってもよい。これにより、新コンピュータ20は、検体分析装置の制御を行うとともに検体測定データの分析が行えるようになる。
【0121】
そして、第1サーバ31は、通常時と同様に、新コンピュータ20におけるデータ更新に伴うデータ同期(レプリケーション)を、第1サーバ31との間で行うよう、新コンピュータ20へ指示する(ステップステップS426)。その指示を受けた新コンピュータ20は、以降のデータ更新を第1サーバ31に転送するように設定される。つまり、新コンピュータ20と第1サーバ31との間でデータ同期が行われるように設定される。
以上の手順によって、新コンピュータ20が故障前の情報処理装置20と同様に機能し、
図5に示すような通常時の動作が可能となる(ステップS416)。
なお、新コンピュータ20が通常時の動作を開始した場合、新コンピュータ20が仮想IPU31bと協調動作するためのモジュール110は、自動的又は手動で削除される。
【0122】
[4.変形例]
前述した代替システムの構築手順では、ダウンロードプログラム(制御プログラム等)84が代替コンピュータ5にインストール(
図7のステップS214)されて代替システムが構築されると、そのまま検体の測定が可能となっていた。
これに対して、変形例では、所定の処理(代替システムの動作確認、ホストコンピュータとのデータ整合)を行ってから、検体の測定を行う。
【0123】
[4.1 第1変形例(精度管理実行による動作確認)]
第1変形例では、代替システムの動作確認を行ってから、検体の測定が行われる。まず、ダウンロードプログラム(制御プログラム等)84が代替コンピュータ5にインストール(
図7のステップS214)されると、
図13に示すように、代替コンピュータ5から第1サーバ31の仮想IPU31bへ、インストール完了通知が送信される(ステップS216)。
【0124】
インストール完了通知を受信した仮想IPU31bは、QC(Quality Control;精度管理)の実行を促す画面(QC測定画面)を生成する(ステップS227a)。生成されたQC測定画面は、リモートデスクトップ機能によって仮想IPU31bにログインしている代替コンピュータ5に送信され、代替コンピュータ5の表示装置5に表示される。QC測定画面は、例えば、精度管理検体を検体分析装置25にセットすることを促すメッセージと、セットしたことを確認する「OK」ボタン表示(測定許可指示ボタン)と、を含む。
【0125】
QC測定画面の「OK」が選択されると(ステップS217)、代替コンピュータ5は、測定の許可信号を仮想IPU31bへ送信する(ステップS218)。許可信号を受信した仮想IPU31bは、代替コンピュータ5経由で、検体測定装置25の測定部26へ精度管理検体の測定実行命令を送信する(ステップS227b)。仮想IPU31bは、精度管理検体の測定実行命令を生成する際には、記憶部31cに記憶された精度管理情報、本体部設定を参照し、記憶部31cに記憶された精度管理情報及び本体部設定に従って測定実行命令を生成する。
【0126】
測定部26は、測定実行命令に従って、精度管理検体の測定を行い(ステップS201)、測定データを、代替コンピュータ5を介して仮想IPU31bへ送信する(ステップS202)。
仮想IPU31bは、受信した測定データを、記憶部31cに記憶された分析設定に従って分析し分析結果を生成する。仮想IPU31bは、分析結果が異常値であれば、代替コンピュータ5に表示されるエラーメッセージを出力する。また、仮想IPU31は、精度管理情報として記憶部31cに記憶されている過去の分析結果を読み出し、生成した分析結果及び過去の分析結果を時系列にプロットした時系列データ(QC時系列データ)を作成する(ステップS227c)。
【0127】
仮想IPU31bは、QC時系列データを含む精度管理結果画面を、(代替コンピュータ5からの操作に応じて)代替コンピュータ5へ送信し(ステップS227d)、代替コンピュータ5は、精度管理結果画面を表示装置53に表示する(ステップS219)。
QC時系列データにおいて、生成した分析結果が、過去の分析結果から大きく外れている場合、情報処理装置20の故障前後で分析結果が異なっていることがわかる。この場合、構築した代替システムが不適切である可能性があるため、精度管理結果画面には、エラーメッセージを含めるなどして、代替システムが不適切である可能性をユーザへ通知する。
【0128】
[4.2 第2変形例(検体測定による動作確認)]
代替システムの動作確認は、精度管理検体の測定に代えて、測定済みの検体を再測定することによって行うこともできる。
図14は、検体の再測定による動作確認の手順を示している。
ダウンロードプログラム(制御プログラム等)84が代替コンピュータ5にインストール(
図7のステップS214)されると、代替コンピュータ5から第1サーバ31の仮想IPU31bへ、インストール完了通知が送信される(ステップS1216)。
【0129】
インストール完了通知を受信した仮想IPU31bは、測定済みの検体の再測定を促す画面(検体測定画面)を生成する(ステップS1227a)。生成された検体測定画面は、リモートデスクトップ機能によって仮想IPU31bにログインしている代替コンピュータ5に送信され、代替コンピュータ5の表示装置5に表示される。検体測定画面は、例えば、測定済みの検体のバーコードをバーコードリーダ26aに読み取らせることを促すメッセージを含む。なお、バーコードリーダは、測定部26に備わっているバーコードリーダ26以外に、代替コンピュータ5に接続されたハンディバーコードリーダであってもよい。
【0130】
バーコードリーダ26aによって、検体容器のバーコードが読み取られると(ステップS1217)、代替コンピュータ5は、バーコード読み取り結果(BC信号;検体ID)を、仮想IPU31bへ送信する(ステップS1218)。
【0131】
仮想IPU31bは、送信された検体IDをキーとして、記憶部31に記憶されている処理結果(測定データ又は分析結果)を抽出し、抽出された処理結果が正常値を示しているか否か(検体IDで示される検体が正常か否か)を判定する(ステップS1227b)。検体が正常であれば、その検体を再測定の対象とすべく、仮想IPU31bは、測定実行命令を、代替コンピュータ5経由で検体測定装置25の測定部26へ送信する(ステップS1227c)。検体が異常であれば、その検体は動作確認のための再測定には適していないため、別の検体のバーコードを読み取らせることを促すメッセージを含む画面を代替コンピュータ5に表示させる(ステップS1227d)。
【0132】
測定実行命令を受けた測定部26は、検体の測定を実行し(ステップS1201)、その測定データを、代替コンピュータ5経由で、仮想IPU31bへ送信する(ステップS1201)。
【0133】
仮想IPU31bは、受信した測定データを分析し、分析結果を生成する。生成された分析結果は、先に抽出された過去の分析結果と比較される(ステップS1227e)。
仮想IPU31bは、比較結果を含む結果画面を、(代替コンピュータ5からの操作に応じて)代替コンピュータ5へ送信し(ステップS1227f)、代替コンピュータ5は、結果画面を表示装置53に表示する(ステップS1219)。
生成された分析結果と過去の分析結果との差が、所定の範囲内に収まっていれば、構築した代替システムは適切であり、所定の範囲を超えていれば、構築した代替システムが不適切である可能性があるため、結果画面には、エラーメッセージを含めるなどして、代替システムが不適切である可能性をユーザへ通知する。
【0134】
なお、精度管理測定又は検体再測定などによる動作確認処理中に、仮想IPU31bは、代替コンピュータ5経由で、ホストコンピュータ62から未登録の測定オーダ情報を取得し、記憶部31に記憶させるようにしてもよい。これにより、仮想IPU31bは、動作確認後、すぐに測定処理を開始することができ効率的である。
【0135】
[4.4 第3変形例(ホストコンピュータとのデータ整合)]
情報処理装置20が故障して、代替コンピュータ5に置き換えられた場合、代替コンピュータ5とホストコンピュータ62との間で、両者5,62の送信履歴及び受信履歴に齟齬が生じることがある。
【0136】
通常時において、情報処理装置20からホストコンピュータ62への測定オーダ情報のリアルタイム問い合わせが行われる場合、ホストコンピュータ62から情報処理装置20へ測定オーダ情報が送信される。そして、情報処理装置20は、その測定オーダ情報に対応する分析結果を、ホストコンピュータ62へ送信する。これらの送受信が問題なく行われた場合、情報処理装置20とホストコンピュータ62との間では、両者20,62の送信履歴及び受信履歴は対応がとれたものとなる。
【0137】
しかし、情報処理装置20がホストコンピュータ62から測定オーダ情報を受信している間に故障した場合には、測定オーダ情報の送信履歴及び受信履歴は対応がとれなくなる可能性がある。つまり、情報処理装置20が測定オーダ情報を受信している間に故障した場合であっても、ホストコンピュータ62は、問い合わせを受けた測定オーダ情報を送信済みであると記憶している。一方、測定オーダ情報の受信中に故障した情報処理装置20は測定オーダ情報を受信できないため、故障した情報処理装置20のデータを外部サーバ3からダウンロードした代替コンピュータ5は、測定オーダ情報を未受信であると記憶していることになる。
【0138】
また、情報処理装置20が分析結果をホストコンピュータ62へ送信している間に故障した場合には、分析結果の送信履歴及び受信履歴は対応がとれなくなる可能性がある。つまり、分析結果送信中に情報処理装置20が故障したため、ホストコンピュータ62は、分析結果を受信できておらず、測定オーダ情報に対応する分析結果を未受信であると記憶している。
一方、故障した情報処理装置20は分析結果を送信済みであると記憶している場合があり、この場合、故障した情報処理装置20のデータを外部サーバ3からダウンロードした代替コンピュータ5は、分析結果を送信済みであると記憶していることになる。
【0139】
第3変形例では、以上のような送信履歴及び受信履歴の齟齬が代替コンピュータ5とホストコンピュータ62との間で生じていても、その齟齬を解消させる処理(データ整合)を行ってから、検体の測定が行われる。なお、第3変形例は、第1変形例又は第2変形例と組み合わせることができる。
【0140】
第3変形例では、ダウンロードプログラム(制御プログラム等)84が代替コンピュータ5にインストール(
図7のステップS214)されると、
図15に示すように、代替コンピュータ5は、第1サーバ31からダウンロードして記憶部52に記憶されている複数の測定オーダ情報のうち、最後にホストコンピュータ62から情報処理装置20へ送信された測定オーダ情報に対応する測定オーダ情報(最後の測定オーダ情報)を、ホストコンピュータ62へ送信する(ステップS2216)。
【0141】
ホストコンピュータ62は、「最後の測定オーダ情報」を受信すると(ステップS2231)、受信した「最後の測定オーダ情報」が、ホストコンピュータ62自身が最後に送信したと認識している測定オーダ情報と一致するか確認する(ステップS2232)。一致しない場合、ホストコンピュータ62は、受信した「最後の測定オーダ情報」よりも後に送信した測定オーダ情報を、代替コンピュータ5に送信する(ステップS2232)。これによって、ホストコンピュータ62と代替コンピュータ5との間で、記憶している測定オーダ情報が一致することになる。
【0142】
続いて、代替コンピュータ5は、第1サーバ31からダウンロードして記憶部52に記憶されている複数の分析結果のうち、最後に情報処理装置20からホストコンピュータ62へ送信された分析結果に対応する分析結果(最後の分析結果)を、ホストコンピュータ62へ送信する(ステップS2217)。
【0143】
ホストコンピュータ62は、「最後の分析結果」を受信すると(ステップS2233)、受信した「最後の分析結果」が、ホストコンピュータ62自身が最後に情報処理装置20から受信したと認識している分析結果と一致するか確認する(ステップS2234)。一致しない場合、ホストコンピュータ62は、ホストコンピュータ62自身が最後に受信したと認識している分析結果(ホストコンピュータ側の最後の分析結果)を、代替コンピュータ5へ送信する(ステップS2234)。
【0144】
代替コンピュータ5は、「ホストコンピュータ側の最後の分析結果」を受信すると、受信した「ホストコンピュータ側の最後の分析結果」よりも後に送信した分析結果を、ホストコンピュータ62に送信する(ステップS2218)。これによって、ホストコンピュータ62と代替コンピュータ5との間で、記憶している分析結果が一致することになる。
なお、代替コンピュータ5とホストコンピュータ62との間では、測定オーダ情報又は分析結果そのものを送信する必要はなく、測定オーダ情報又は分析結果が対応する検体IDを送信して測定オーダ情報又は分析結果を照会するようにしてもよいし、測定オーダ情報又は分析結果が対応のシリアルIDを送信して測定オーダ情報又は分析結果を照会するようにしてもよい。
【0145】
[4.4 付記]
なお、本発明は、前述した実施の形態及び変形例に限定されるものではなく、種々の変更が可能である。
例えば、代替コンピュータ5は、検体の分析処理の一部も実行してもよい。つまり、検体の分析処理の一部を代替コンピュータ5が実行し、他の一部を仮想IPU41bが実行してもよい。
また、代替システムによって測定及び分析が行われた検体についての処理結果は、通常時に測定及び分析が行われた処理結果と区別できるように、処理結果にフラグを付してもよい。これにより、代替システムによって測定及び分析が行われた検体の測定データ(生データ)を、事後的に再分析したり、分析結果を検証することが可能となる。
【0146】
また、ダウンロードプログラム84に、データ消去プログラムを含めてもよい。データ消去プログラムは、代替コンピュータ5にダウンロードされる。新IPU20がシステムに接続され、代替システムが終了すると、データ消去プログラムは、代替コンピュータ5に記憶されているダウンロードプログラム84および代替システムの運用中に得たデータ(測定データバッファ104に記憶した測定データなど)を自動消去するようにプログラムされている。これにより、代替コンピュータ5に、不要なデータや個人情報につながる情報が残存するリスクを低減することができる。
【0147】
また、外部サーバ3は、検体分析装置2が設けられている施設200とは別の施設(データセンタ300)に設けられている必要はなく、検体分析装置2と同一の施設に設けられてもよく、外部サーバ3の設置場所が施設200の外部である必要はない。