以下、図面を参照しながら実施形態を説明する。なお、以下の説明において、略同一の構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
<第1の実施形態>
図1は、第1の実施形態に係る受診者誘導システムの構成を示す模式図であり、図2は、同システムにおけるサーバ装置の構成を示す模式図である。図3乃至図17は、サーバ装置に記憶される各テーブルの一例を示す模式図であり、図18は、同システムにおける端末の構成を示す模式図である。
この受診者誘導システムは、互いに通信可能なサーバ装置200及び複数の端末500を備えている。各端末500は、例えば受付、待合室及び検査室などに個別に配置され、ネットワークNWを介してサーバ装置200に接続されている。この受診者誘導システムのハードウェア構成は、一般的なコンピュータシステムとして実現可能である。本実施形態の受診者誘導システムはクライアント・サーバ型のシステムアーキテクチャを用いているが、これに限らず、Web型のシステムアーキテクチャを用いてもよい。
ここで、サーバ装置200は、記憶回路210、処理回路220及びネットワークインタフェース(I/F)回路230を備えている。
記憶回路210は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hardware Disk Drive)及び画像メモリなど電気的情報を記録するメモリと、それらメモリに付随するメモリコントローラやメモリインタフェースなどの周辺回路から構成されている。記憶回路210は、健診マスタテーブル300、ボトルネック検査テーブル400、受診者管理テーブル401、受診者別検査進捗管理テーブル402及び検査機器別待ち行列管理テーブル403等のテーブルや、処理途中のデータ、処理後のデータ、本サーバ装置200の制御プログラム等を記憶する。なお、各テーブルの構造は、一様態を示したものであり、テーブルの分割や統合、テーブルのカラムの追加等については様々なバリエーションが可能である。また、サーバ装置200内の記憶回路210は、各々の端末500からアクセス可能となっている。なお、一の受診者誘導装置(例えば、端末500)が受診者誘導システムに関する機能を一体的に有する場合には、サーバ装置200内の記憶回路210の記憶内容を、端末500の記憶回路530に記憶させて実施すればよい。いずれにしても、各種テーブル等を記憶した記憶回路は、端末500の処理回路560からアクセス可能となっている。
ここで、健診マスタテーブル300は、各種マスタを管理するものであり、具体的には、健診に係る項目や引数等を表す複数のテーブルである。健診マスタテーブル300は、例えば、検査コース及び検査項目対応テーブル301、検査項目テーブル302、検査機器設備テーブル303、検査所要時間テーブル304、検査機器間の移動時間テーブル305、検査機器稼働時間テーブル306、所在テーブル307、検査状態テーブル308、検査待ち状態テーブル309、団体コード変換テーブル310及びコースコード変換テーブル311を備えている。ただし、健診マスタテーブル300は、各テーブル301〜311に限定されない。
検査コース及び検査項目対応テーブル301は、図3に示すように、健診のコースとそのコースに含まれる検査項目(コード)の対応表である。図3中、健診コースとしてA01(人間ドック)、A02(人間ドック)、B01(健康診断)が登録されており、各健診コースに含まれる検査項目としてE01からE14が登録されている。A01(人間ドック)の健診コースは、E01(眼底検査)、E02(診察検査)、E03(胸部X線)、E04(安静時心電図)、E10(上腹部US)、E12(上部消化管X線)、E05(5m視力)、E06(採血)、E09(オージオメーター)、E07(身長体重)、E08(血圧)、E11(胃カメラ)の検査項目から構成されている。
検査コース及び検査項目対応テーブル301は、例えば、受付に配置された端末200による受診者受付機能において、受診者管理テーブル401の情報をもとに受診者別検査進捗管理テーブル402のレコードを作成する際に参照される。
検査項目テーブル302は、図4に示すように、検査項目(コード)、検査項目名称、検査項目間制約、予約検査、連続検査制約から構成されている。検査項目テーブル302は、検査項目に関する情報を保持するためのものである。検査項目間制約は、この検査を実施する前に検査を完了させる必要がある検査項目を指定している。例えば図4中、検査項目間制約は、E01の眼底検査を実施する前には、E05の5m視力検査を実施することと、E12の上部消化管X線検査を実施する前には、E10の上腹部US検査とE11の胃カメラを実施する必要があることを示している。予約検査は、この検査が予約検査かどうかを示すもので、予約検査についてあらかじめ設定された検査開始予定時刻を優先し、検査開始予定時刻を変更してはいけないことを意味する。連続検査制約は、一連の検査として扱うものを指定する。
図4に示す例では、検査項目間制約は、E13(上部消化管ES)の後に必ずE11(胃カメラ)を実施することを意味している。連続検査制約は、検査室や検査機器を連続して使用することで効率が上がることがあるため、そのような運用に対応するためのものとなっている。
なお、検査項目テーブル302は、後述の次検査項目割り当て機能において、次の検査を決定する際に参照される。
検査機器設備テーブル303は、図5に示すように、検査項目(コード)と検査機器IDから構成されている。検査機器設備テーブル303は、検査を行うための検査機器を管理するためのものである。例えば図5中、検査機器設備テーブル303は、E10の上腹部US検査向けの検査機器としてE10−1からE10−5までの5台の検査機器、E11の胃カメラ検査向けの検査機器としてE11−1からE11−5までの5台の検査機器、E12の上部消化管X線検査向けの検査機器としてE12−1からE12−5までの5台の検査機器が存在していることを示す。
検査所要時間テーブル304は、図6に示すように、検査項目(コード)、検査標準時間、前準備時間、判断基準時間から構成され、各検査にかかる所要時間と次検査項目割り当て機能に係る判定条件とを保持する。所要時間は、検査標準時間及び前準備検査時間であり、検査標準時間は過去の検査時間をもとに受診者一人当たりの平均検査時間を計算して設定してもよいし、経験的な時間を設定してもよい。前準備時間は、検査を実施する前に検査の説明や前処置・後処置が必要な検査について、それらを実施するのに必要な時間を設定する。判断基準時間は、次検査項目割り当て機能における、比較対象候補から外す際の閾値(スレッシュホールド/スレッショルド(Threshold))であり、検査機器ごとに設定される。また、当該値は、健康診断を実施する所定の施設における複数の受診者の待ち状態をシミュレーションした結果に基づいて、例えば最も早く検査を終えることができたときの値等として予め設定されていることが好適である。この閾値を超える待ち時間を要すると判断される場合、次検査項目割り当て時の端末200は、次検査項目割り当て機能において、次検査の選択候補から当該検査を外して(閾値以下の検査だけを対象として)処理を進める。図6に示す例では、E01の眼底検査に対して、検査標準時間90秒(1.5分)、前準備時間0秒、判断基準時間300秒(5分)が検査所要時間テーブル304に保持されている。
検査機器間の移動時間テーブル305は、図7に示すように、受付や検査室から次の検査室に移動するまでの移動時間を保持するためのもので、移動元(の検査項目コード)、移動先(の検査項目コード)、及び移動時間を有する。検査機器間の移動時間テーブル305は、次検査項目割り当て時の端末200による次検査項目割り当て機能により参照される。図7に示す例では、E01の眼底検査からE02(診察検査)、E03(胸部X線)、E04(安静時心電図)、E05(5m視力)、E06(採血)、E07(身長体重)、E08(血圧)、E09(オージオメーター)、E10(上腹部US)、E11(胃カメラ)、E12(上部消化管X線)、及びE13(上部消化管ES)の各検査場所までの移動時間として60秒(1分)が検査機器間の移動時間テーブル305に保持されている。
検査機器稼働時間テーブル306は、図8に示すように、各検査機器の稼働時間を設定しているもので、曜日、検査機器ID、検査開始時刻、及び検査終了時刻を保持している。検査機器設備テーブル303で管理されている検査機器について、曜日ごとの検査を実施できる時間帯を設定する。曜日により当該検査機器が使えない場合や、施設の職員等の都合で検査できる時間帯が異なる場合のためのものである。図8に示す例では、E08の血圧測定用の検査機器について、月曜日から土曜日(休診日を除く)までは8:30から11:00まで使用可能で、日曜日および休診日は使用できないことを示している。なお、検査機器稼働時間テーブル306に指定がない場合には、検査機器IDがE00で設定されているデフォルトの検査時間に従うことを想定している。
所在テーブル307は、図9に示すように、所在コード及び所在名称を定義したもので、検査待ち行列更新機能により、受診者や施設の職員等の移動を検知したときの所在コードと所在名称を保持する。
検査状態テーブル308は、図10に示すように、検査状態が、例えば、以下に示す四の整数値を有する整数型引数として設定されている。
(検査状態)==0のとき、検査を実施する予定はあるが、まだ実施されていない。
(検査状態)==1のとき、現在検査中。
(検査状態)==2のとき、すでに検査を完了している。
(検査状態)==3のとき、受診者の都合により途中で検査を取り消したか、検査を中止した。
検査待ち状態テーブル309は、図11に示すように、検査待ち状態が、例えば、以下に示す六の整数値を有する整数型引数として設定されている。
(検査待ち状態)==0のとき、当該受診者は所定の検査機器付近にはいない。
(検査待ち状態)==1のとき、当該受診者は所定の検査機器付近に到着。
(検査待ち状態)==2のとき、当該受診者は所定の検査機器付近に到着し、且つ手持ちの検査票の読み取り処理が完了(例えば施設の職員等による手作業)。
(検査待ち状態)==3のとき、当該受診者は所定の検査機器の検査を開始。
(検査待ち状態)==4のとき、当該受診者は所定の検査機器の検査を完了。
(検査待ち状態)==5のとき、当該受診者は所定の検査機器の検査を中止。
なお当該検査待ち状態は、受診者に貸与するビーコン発信器より発信された識別信号を、どのビーコン受信器(例えば検査機器各々が有する)が受信したかによって、当該待ち状態を自動的に把握できるように実施されることが好適である。係る場合、所定の受診者及び所定の検査機器に対して、当該所定の受診者が例えば所定の検査機器の近傍(50cm以内等)に30秒以上留まっていることが確認されたとき、当該検査機器における当該受診者の待ち状態は1とされる。その後、他のビーコン受信器に切り替わったときは、当該検査機器における当該受診者の待ち状態は0とされる。
団体コード変換テーブル310は、図12に示すように、所属団体コード及び所属団体名を互いに対応付けて記録する対応表である。団体コード変換テーブル310は、例えば、所属団体コードを所属団体名に変換するために用いられる。
コースコード変換テーブル311は、図13に示すように、検査コースコード及び検査コース名称が互いに対応付けられて記録される対応表である。コースコード変換テーブル311は、例えば、検査コースコードを検査コース名称に変換するために用いられる。
ボトルネック検査テーブル400は、当日のボトルネック検査を管理するものであり、具体的には図14に示すように、受診日、検査項目コード及びボトルネック検査時間が互いに対応付けられて記録される対応表である。ボトルネック検査テーブル400は、後述するボトルネック検査算出機能221により書き込まれ、後述するピッチ算出機能222により読み出される。
受診者管理テーブル401は、健診を予約している受診者を管理するためのテーブルである。受診者管理テーブル401は、図15に示すように、例えば受診日、受診者ID、到着予定時刻、到着時刻、検査コースコード、受診者検知ID、受診者氏名、所属団体区分(個人又は団体)、及び所属団体コードを項目として有する。ただし、各項目は、例示であり、これに限定されない。
受診日は、健診を受診する日付である。受診者IDは受診者を当日一意に識別するためのコードである。
受診者IDは病院併設型健診実施施設であれば患者IDでも構わないし、当日受診者を識別できるような、1から発番される連番でもよい。
到着予定時刻は、健診予約時に設定した来院時刻である。
到着時刻は、検査当日に、受診者受付機能により受付登録された実際の時刻である。受診者受付機能については後述する。
受診者検知IDは、受診者の移動を検知するために受診者に貸与するビーコン発信器に内蔵されたユニーク識別子である。
所属団体区分は、受診者が個人で健診を申し込んだのか、団体契約として健診を申し込んだのかを区別するための情報である。
所属団体コードは、所属団体区分が団体の場合の所属団体を示す識別子である。
補足すると、受診者管理テーブル401においては、受診者が健診を予約するときにレコードが追加され、受診日、受診者ID、予定到着時刻、検査コースコードが設定される。
当日受診者が来院して受付処理を行うと、到着時刻と受診者検知IDが登録される。受診者検知IDには、各ビーコン発信器に内蔵されているユニーク識別子であり、当該受診者に貸与したビーコン発信器のユニーク識別子を設定することで、その受診者の移動を検知できるようになる。図15に示す例では、2015年1月20日に10人の受診者の受付処理が行われ、A01(人間ドック)に3名、A02(人間ドック)に3名、B01(健康診断)に4名が登録され、それぞれBCN−1からBCN−10までのビーコン発信器がそれぞれの受診者に貸与されたことを示している。
受診者別検査進捗管理テーブル402は、各受診者が当日実施する各検査の進捗状況を管理するためのテーブルである。受診者別検査進捗管理テーブル402は、図16に示すように、例えば受診日、受診者ID、検査項目コード、検査状態、検査開始予定時刻、検査開始時刻、検査終了予定時刻、検査終了時刻、検査機器ID、予約検査、検査能力(検査能力値)、受診者検知ID、及び受診者氏名等を項目として有する。ただし、各項目は例示であって、これに限定されない。検査開始予定時刻、検査終了予定時刻、検査機器ID、検査能力は、後述する次検査項目割当機能564が適宜更新する。
検査項目コードは、検査項目を識別するコードである。
検査状態は、所定の検査機器の検査に対する受診者の状況を保持する引数(パラメータ)である。検査状態は、検査状態テーブル308に定義された値である。
検査開始予定時刻は、次検査項目割り当て機能によって決定された所定の検査を開始する予定の時刻である。
検査開始時刻は、所定の検査を開始した実際の時刻である。
検査終了予定時刻は、次検査項目割り当て機能によって決定された所定の検査を終了する予定の時刻である。
検査終了時刻は、所定の検査を終了した実際の時刻である。
予約検査は、事前に予約された検査項目である。
検査能力は、所定のパラメータに基づいて検査ごとに得られる評価値である。例えば、検査能力は、以下に示す式によって定義される評価値である。
(検査能力)=(検査標準時間×残りの受診者数)/(検査設備数×当該時における検査可能時間)
なお、あくまでも例示でありこの限りではない。例えば、後述の例では、上式とは異なる検査能力を用いている。
補足すると、受診者別検査進捗管理テーブル402は、後述する受診者受付機能561により初期化され、当日の受診者が受診する検査項目分のレコードが作成される。このうち、受診日、受診者ID、受診者検知ID、受診者氏名は、受診者管理テーブル102から取得し、検査項目コードは、受診者管理テーブル102の検査コースコードをもとに検査コース及び検査項目対応テーブル301から展開され、予約検査は検査項目テーブル302から取得してセットする。検査状態は初期値として「未検査:0」をセットし、検査開始予定時刻、検査開始時刻、検査終了予定時刻、検査終了時刻、検査機器IDは初期値としてNULLをセットする。検査能力は初期値として0をセットする。
図16に示す例では、受診者IDが1の受診者のレコードが登録されたものを表しており、当該受診者の検査コースA01の検査項目が展開され、初期値がセットされている。
検査機器別待ち行列管理テーブル403は、検査機器ごとの検査待ち行列を管理するためのテーブルである。検査機器別待ち行列管理テーブル403は、図17に示すように、例えば検査機器ID、受診日、受診者ID、検査待ち状態、登録日時、更新日時、所在コード、及び受診者氏名を項目として有する。ただし、各項目は、例示であり、これに限定されない。
検査機器IDは、検査機器を識別するために検査機器ごとに固有に保持されるIDである。
検査待ち状態は、所定の検査機器において受診者がどのような状態かを保持する引数(パラメータ)である。検査待ち状態は、検査待ち状態テーブル309に定義された値である。
登録日時は、所定の受診者を検査機器別待ち行列管理テーブル403に登録した日時である。
更新日時は、検査機器別待ち行列管理テーブル403を更新した日時である。
所在コードは、検査施設内の場所を表すコードである。
補足すると、検査機器別待ち行列管理テーブル403は、受診者受付機能561により初期化され、検査待ち行列更新機能562により適宜更新される。受付、待合室、各検査場所(検査室)に設置された端末に受診者が接近・離脱するような振舞いを検査待ち行列更新機能562が検知した時や受診者が手持ちしている検査票を検査場所にいる施設職員が読み取り登録したときにレコードを生成・更新し、検査進捗更新機能563が適宜検査待ち状態を更新する。
図17に示す例では、検査機器E10−1(上腹部USのNo1)、E10−2(上腹部USのNo2)、E10−3(上腹部USのNo3)のそれぞれの検査場所の周辺に、受診者IDが1と2と3の受診者が来ていることを表している。
なお、検査待ち状態が「初期:0」になるのは、その受診者は他の検査機器の待ち行列に「登録済み:1」としてレコードが作成された場合に、その前に存在していたレコードを無効にしたことを示している。
処理回路220は、端末500から送信された命令及びデータ等に基づいて、記憶回路220内の各テーブルを読み出し、これらに従って各機能を実行し、処理結果を端末500に返信する。例えば、処理回路220は、DBMS(database management system)の機能と、受診者誘導システムを構成するための機能とを実行する。ここで、受診者誘導システムを構成するための機能としては、例えば、ボトルネック検査算出機能221及びピッチ算出機能222などがある。但し、ボトルネック検査算出機能221及びピッチ算出機能222は、サーバ装置200が実行することは必須ではなく、サーバ装置200又は複数の端末200の少なくとも1台が実行すればよい。
ボトルネック検査算出機能221は、検査ごとに受診者別検査進捗管理テーブル402と健診マスタテーブル300の予め定義した検査時間と当日の検査機器稼働予定台数をもとに、当日予定している検査を全て完了するのに必要な検査時間を算出する機能を含む。また、ボトルネック検査算出機能221は、必要な検査時間が最も大きい検査をボトルネック検査としてボトルネック検査テーブル400を更新する機能を含む。
このようなボトルネック検査算出機能221は、例えば、(f221−1)必要検査時間算出機能及び(f221−2)選択機能を有している。
(f221−1) 必要検査時間算出機能は、検査項目毎に、検査時間、検査機器ID(識別情報)の個数及び受診者ID(識別情報)の個数に基づき、全受診者の検査に要する必要検査時間を算出する機能である。
ここで、「検査時間」は、検査項目及び検査時間を対応付けて記録する検査所要時間テーブル304から、「検査項目」に基づいて取得可能となっている。
「検査機器ID」は、検査項目及び1つ以上の検査機器IDを対応付けて記録する検査機器設備テーブル303から、「検査項目」に基づいて取得可能となっている。
「受診者ID」は、検査項目及び1つ以上の受診者IDを対応付けて記録する受診者別検査進捗管理テーブル402から、「検査項目」に基づいて取得可能となっている。
なお、必要検査時間算出機能は、定期的又は不定期に、検査項目毎に、検査状態(検査進捗状態)が検査完了を示す値に対応付けられた受診者IDの個数を除外して、必要検査時間を再算出してもよい。「検査状態(検査進捗状態)」は、検査項目、受診者ID及び検査状態(検査進捗状態)を対応付けて記録する受診者別検査進捗管理テーブル402から、「検査項目」に基づいて取得可能となっている。
(f221−2) 選択機能は、当該必要検査時間のうち、最大の必要検査時間をもつ検査項目を選択する機能である。以下、「最大の必要検査時間」を「ボトルネック検査時間」とも呼ぶ。また、「最大の検査時間を必要とする検査」を「ボトルネック検査」とも呼ぶ。選択機能は、必要検査時間算出機能により再算出した必要検査時間に基づいて検査項目を再選択してもよい。
ピッチ算出機能222は、ボトルネック検査テーブル400と受診者別検査進捗管理テーブル402と当日の残時間をもとに、時間内に検査完了するために必要な時間間隔を算出する機能である。算出された時間間隔は、ピッチ算出機能222から受診者受付機能561に送出される。
例えば、ピッチ算出機能222は、選択機能により選択された検査項目に対応付けられた検査時間及び検査機器IDの個数に基づき、受診者を検査に誘導する時間間隔を算出する時間間隔算出機能として実施できる。以下、「受診者を検査に誘導する時間間隔」を「ピッチ」とも呼ぶ。ピッチは、一人の検査に必要な実際の時間(=検査標準時間+前準備時間)ではなく、検査機器1台当たりの所要時間算定値(=(検査標準時間+前準備時間)/ボトルネック検査の稼働台数)として算出できる。但し、本実施形態のピッチは、ボトルネック検査を受けない人が存在することを考慮し、前述した検査機器1台当たりの所要時間算定値に重み値(ボトルネック検査予定者数/全受診者数)を乗じて算出される。
ピッチ算出機能222は、選択機能により再選択された検査項目に基づいてピッチ(時間間隔)を再算出してもよい。
図1における実施形態では、処理回路220にて実行される各機能は、コンピュータによって実行可能なプログラムの形態で記憶回路210に記憶されている。処理回路220はプログラムを記憶回路210から読み出し、実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、各プログラムを読み出した状態の処理回路は、図1の処理回路220内に示された各機能を有することとなる。なお、図1においては、単一の処理回路220にて各機能が実現されるものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路を構成し、各プロセッサがプログラムを実行することにより各機能を実現するものとしても構わない。このような処理回路220及び各機能に関する説明は、以下の各実施形態でも同様である。
ネットワークインタフェース回路230は、サーバ装置200をネットワークNWに接続して端末500と通信するための回路である。ネットワークインタフェース回路510としては、例えば、ネットワークインタフェースカード(NIC)が使用可能となっている。以下の説明では、サーバ装置と端末500との通信にネットワークインタフェース回路230が介在する旨の記載を省略する。
一方、各々の端末500は、ネットワークインタフェース(I/F)回路510、無線通信インタフェース(I/F)回路520、記憶回路530、入力インタフェース(I/F)回路540、表示回路550及び処理回路560を備えている。
ネットワークインタフェース回路510は、自端末500をネットワークNWに接続してサーバ装置200及び他端末500と通信するための回路である。ネットワークインタフェース回路510としては、例えば、ネットワークインタフェースカード(NIC)が使用可能となっている。以下の説明では、端末500とサーバ装置200等との通信にネットワークインタフェース回路510が介在する旨の記載を省略する。また、ネットワークインタフェース回路510及び無線通信インタフェース回路520は、少なくとも一方があれば、他方を省略してもよい。
無線通信インタフェース回路520は、自端末500の基地局等を介してネットワークNWに接続してサーバ装置200及び他端末500と通信するための回路である。無線通信インタフェース回路520としては、例えば、赤外線や電波などの無線信号を送信・受信するアンテナ、及びこのアンテナに接続されたドライバやAD変換回路などの周辺回路から構成されている。
記憶回路530は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hardware Disk Drive)及び画像メモリなど電気的情報を記録するメモリと、それらメモリに付随するメモリコントローラやメモリインタフェースなどの周辺回路から構成されている。記憶回路530は、処理回路560による処理途中のデータ、処理後のデータ、自端末500の制御プログラム等を記憶する。
入力インタフェース回路540は、施設の職員等からの各種指示・命令・情報・選択・設定を自端末500に入力するためのトラックボール、スイッチボタン、マウス、キーボード、操作面へ触れることで入力操作を行うタッチパッド、及び表示画面とタッチパッドとが一体化されたタッチパネルディスプレイ等によって実現される。入力インタフェース回路540は、処理回路560に接続されており、職員等から受け取った入力操作を電気信号へ変換し処理回路560へと出力する。なお、本明細書において入力インタフェース回路540はマウス、キーボードなどの物理的な操作部品を備えるものだけに限られない。例えば、装置とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を処理回路560へ出力する電気信号の処理回路も入力インタフェース回路540の例に含まれる。
表示回路550は、各種画面などを表示するディスプレイと、ディスプレイに表示用の信号を供給する内部回路、ディスプレイと内部回路とをつなぐコネクタやケーブルなどの周辺回路から構成されている。表示回路550は、例えば、ピッチ算出機能222により算出(又は再算出)されたピッチ(時間間隔)を示す情報を出力することにより、受診者の検査への誘導を促す。
処理回路560は、操作者により入力インタフェース回路540を介してから入力された各種指示等に基づいて、記憶回路530に記憶された制御プログラムを読み出し、これらに従って自端末500の本体を制御する。例えば、処理回路560は、記憶回路540から読み出した制御プログラムに従って、ネットワークインタフェース回路510、無線通信回路520及び表示回路550などを制御する。これに加え、処理回路560は、受診者誘導システムを構成するための各機能を実行する。ここで、各機能としては、例えば、受診者受付機能561、検査待ち行列更新機能562、検査進捗更新機能563及び次検査項目割当機能564などがある。各機能の一部は、サーバ装置200上でサービスとして動作させ、連携させることも可能である。
受診者受付機能561は、以下の機能(f561−1)〜(f561−7)を有している。
(f561−1) 検査機器別待ち行列管理テーブル403を初期化する機能。
(f561−2) 受診者管理テーブル401および健診マスタテーブル300をもとに当日受診者の検査情報を作成して受診者別検査進捗管理テーブル402に登録する機能。
(f561−3)受診者が来院したとき当日受診する検査項目の確認および検査項目の追加・修正を行い、受診者管理テーブル401に受診者の受付登録を行う機能。
(f561−4)受付登録とともに必要に応じて受診者別検査進捗管理テーブル402の検査項目を更新し、ピッチ算出機能222から取得したピッチを表示回路550に表示する機能。なお、表示されたピッチを視認した施設職員は、受診者に対し、初回検査への到着をコントロール可能となる。
(f561−5)当該受診者が受診する検査項目を示した検査票を出力する機能。なお、この検査票は受診者に手渡される。
(f561−6)次検査項目割当機能564に当該受診者の次の検査項目を決定するように要求する機能。
(f561−7)要求により決定された結果をもとに受診者別検査進捗管理テーブル402から検査情報を取得し、次の検査項目を表示回路550に表示する機能。なお、表示された検査項目を視認した施設職員は、受診者に対し、最初の検査を案内可能となる。
検査待ち行列更新機能562は、以下の機能(f562−1)〜(f562−2)を有している。
(f562−1) 検査機器ごとに受診者の接近・離脱を検知して、受診者ID、検知場所識別コード、検知時刻をもとに検査機器別待ち行列管理テーブル403を更新する機能。
例えば、検査待ち行列更新機能562は、各端末500上で動作し、それぞれ担当する検査項目(コード)、検査機器ID、所在コードを設定として保持する。検査待ち行列更新機能562は、受診者が携帯するビーコン発信器から送信されるビーコン発信器IDを受信するとき、ビーコンとの距離と受信強度の情報を取得し、一定時間内の変化情報を計算し、受診者の振舞いを判定する。判定の結果、検査待ちの場合、受診者別検査進捗管理テーブル402のビーコン発信器IDを検索キーとして検索し、該当する受診者ID、受診者氏名を取得し、検査機器ID、受診日(当日)、受診者ID、検査待ち状態、登録日時、更新日時、所在コード、受診者氏名を登録する。登録日時の登録は最初にレコードを作成するときのみである。登録日時の登録以降、レコード更新するときには、更新日時と検査待ち状態が更新される。
(f562−2) 受診者が手持ちしている検査票を読み込んで受診者ID、現在時刻をもとに検査機器別待ち行列管理テーブル403を更新する機能。
検査進捗更新機能563は、以下の機能(f563−1)〜(f563−7)を有している。
(f563−1) 受診者別検査進捗管理テーブル402に対して少なくとも受診日、検査項目コード、検査状態を検索キー、受診者IDおよび検査開始予定時刻をソートキーとして検索を行う機能。
(f563−2) 検査機器別待ち行列管理テーブル403に対して少なくとも受診日、受診者ID、検査機器IDを検索キーとして検索を行う機能。
(f563−3) これらの検索結果をもとに、各検査機器の検査予定受診者一覧として、少なくとも受診者ID、検査開始予定時刻、検査機器別待ち行列管理テーブル403に登録されてからの経過時間、所在情報を表示回路550に表示させる機能。
(f563−4) 次に検査する受診者を選択することで、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を検査開始に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を検査中に更新する機能。
(f563−5) 検査終了時に、検査結果を入力し登録することで受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を検査完了または検査中に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を検査完了に更新する機能。
(f563−6)検査完了への更新に伴い、次検査項目割当機能564に当該受診者の次の検査項目を決定するように要求する機能。
(f563−7)要求により決定された結果をもとに受診者別検査進捗管理テーブル402から検査情報を取得し、次の検査項目を表示回路に表示させる機能。なお、表示された検査項目を視認した施設職員は、受診者に対し、次の検査を案内可能となる。
次検査項目割当機能564は、以下の機能(f564−1)〜(f564−3)を有している。
(f564−1) 受診者別検査進捗管理テーブル402および健診マスタテーブル300から取得した当日の検査機器稼働予定台数および各検査機器の検査予定受診者数をもとに、各機器の検査能力を算出する機能。
補足すると、(f564−1)の機能は、検査機器ID毎に、所定の検査実施時間に占める必要検査時間を表す検査能力を算出する検査能力算出機能である。「検査実施時間」は、検査機器稼働時間テーブル306から、曜日及び検査機器IDに基づいて取得可能である。「必要検査時間」は、上記(f221−1)の必要検査時間算出機能により算出又は再算出される。「検査能力」の用語は、「検査機器能力」と読み替えてもよい。
(f564−2) 各受診者の未受診の検査項目について、未受診の受診者IDの個数及び検査時間に基づく検査待ち時間が許容待ち時間内にある検査機器IDのうち、最も大きい検査能力をもつ検査機器IDを導出する導出機能。
なお、検査所要時間テーブル304は、検査項目(コード)、検査時間(検査標準時間、前準備時間)、及び許容待ち時間(判断基準時間)を対応付けて記録している。
(f564−3) 当該導出した検査機器IDに対応付けられた検査項目に対応する制約条件、現在時刻、検査待ち時間及び検査時間に基づいて、受診者別検査進捗管理テーブル402の検査項目、受診者ID、推奨する検査機器ID、検査開始予定時刻及び検査終了予定時刻を更新することにより、未受診の各受診者に次の検査項目を割り当てる第1割当機能。
なお、受診者別検査進捗管理テーブル402は、検査項目、受診者ID、検査状態(検査進捗状態)、推奨する検査機器ID、検査開始予定時刻及び検査終了予定時刻を対応付けて記録している。検査項目テーブル302は、検査項目、及び当該検査項目の実施順番に関する制約条件(検査項目間制約、連続検査制約)を対応付けて記録している。
図18における実施形態では、処理回路560にて実行される各機能は、コンピュータによって実行可能なプログラムの形態で記憶回路530に記憶されている。処理回路560はプログラムを記憶回路530から読み出し、実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、各プログラムを読み出した状態の処理回路は、図18の処理回路560内に示された各機能を有することとなる。なお、図1においては、単一の処理回路560にて各機能が実現されるものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路を構成し、各プロセッサがプログラムを実行することにより各機能を実現するものとしても構わない。このような処理回路560及び各機能に関する説明は、以下の各実施形態でも同様である。
次に、以上のように構成された受診者誘導システムの動作について図19乃至図38を用いて説明する。以下の説明は、ボトルネック検査算出機能221及びピッチ算出機能222による動作、受診者受付機能561による動作、検査待ち行列更新機能562による動作、検査進捗更新機能563による動作、次検査項目割当機能564による動作、の淳に述べる。
[ボトルネック検査算出機能221及びピッチ算出機能222による動作]
始めに、健診全体の開始時刻から1時間程度の時間帯と、健診全体の終了時刻から1時間程度前の時間帯といった、混雑がない時間帯(検査待ちが発生していない時間帯)については、ステップST1〜ST4を実行せず、ピッチ(時間間隔)を計算しない。これは、混雑がない時間帯であれば、検査機器が空いているので、受診者を誘導するピッチを調整する必要がないからである。すなわち、健診全体の時間帯では、次のように、ステップST1〜ST4を中盤に実行する。
始業時(例、8時−9時):ピッチを計算しない。例えば、ピッチをゼロとする。
中盤(例、9時−15時):ピッチを計算する。すなわち、ピッチをステップST4の計算結果(例、2.5分)とする。
就業時(例、15時−16時):ピッチを計算しない。例えば、ピッチをゼロとする。
以下、中盤におけるステップST1〜ST4の処理について説明する。
(ステップST1)
サーバ装置200の処理回路220は、図19に示すように、検査項目テーブル302を検索し、全ての検査項目コードE01,E02,…,E14を取得する。しかる後、ステップST2に進む。
(ステップST2)
処理回路220は、検査項目コード毎に、検査時間、検査機器ID(識別情報)の個数及び受診者ID(識別情報)の個数に基づき、全受診者の検査に要する必要検査時間を算出する。具体的には、全ての検査項目コードについて、ステップST2−1〜ST2−6を繰り返し実行する。
(ステップST2−1)
処理回路220は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、及び検査項目コードを検索キーとして検索を実行し、該当する受診者の数を取得する。図16では、検査項目コードがE01のものは、受診者IDが1の1件のみなので、受診者数は1となる。
(ステップST2−2)
処理回路220は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで、検査の検査標準時間を取得する。図6では、検査項目コードがE01の検査標準時間は90秒となっている。
(ステップST2−3)
処理回路220は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで、検査の前準備時間を取得する。図6においては、検査項目コードがE01の前準備時間は0秒となっている。
(ステップST2−4)
処理回路220は、検査機器設備テーブル303に対して、検査項目コードを検索キーとして検索を実行することで、当該検査項目コードの検査機器IDを取得する。図5においては、検査項目コードがE01の検査機器IDは、E01−1である。
続いて、処理回路220は、検査機器稼働時間テーブル306に対して、当日日付から曜日を計算し、計算した曜日と検査機器IDを検索キーとして検索を実行することで、該当する検査機器IDの数をカウントする。図8においては、2015年1月20日は火曜日であり、E01−1の台数が1であることが算出される。
(ステップST2−5)
処理回路220は、ステップST2−1〜ST2−4の結果に基づき、E01の検査に必要な検査時間を次式に示すように計算する。
なお、上式は、以下に示すように、「検査予定者/検査稼働台数」の除算結果の小数点以下を繰り上げない式に変形してもよい。理由は、ここで算出する必要な検査時間が、ボトルネック検査を選択するための順位付け用の数値であり、実際の数値に限らず、相対的な数値でよいからである。
必要な検査時間=(検査予定者×(検査標準時間+前準備時間))/検査稼働台数
(ステップST2−6)
処理回路220は、他の検査項目コードについても同様にステップST2−1〜ST2−5を実行し、必要な検査時間を計算する。
(ステップST3)
処理回路220は、ステップST2,ST2−1〜ST2−6のループ処理により得られた必要検査時間のうち、最大の必要検査時間をもつ検査項目コードを選択し、当該選択した検査項目コード、及び受診日に対応付けて最大の必要検査時間をボトルネック検査時間としてボトルネック検査テーブル400を更新する。
(ステップST4)
処理回路220は、例えば、以下の式に示すように、選択された検査項目に対応付けられた検査時間及び検査機器IDの個数に基づき、受診者を検査に誘導するピッチ(時間間隔)を算出する。これにより、検査機器が空かないように、受診者を誘導することができる。また、受診者が初回検査に到着するピッチをコントロールすることで、受診者の検査待ち時間を減らし、健診実施施設での滞在時間を短縮することができる。
例えば、(1)混雑ない時間帯(検査待ちが発生していない状態)は、受診者のピッチを短くすることで、多くの受診者を各検査へ到着させ、健診実施施設での滞在時間を短縮することができる。
(2)飽和時間帯(検査待ちが発生している状態)は、受診者のピッチを長くすることで、各検査に到着させる受診者数を抑え、受診者の検査待ち時間を減らすことができる。
ここで、「検査標準時間+前準備時間」、「ボトルネック検査の稼働台数」及び「ボトルネック検査の検査予定者数」は、ボトルネック検査の検査項目に対し、ステップST2−5で用いた「検査標準時間+前準備時間」、「検査稼働台数」及び「検査予定者数」と同じ値を用いればよい。「全受診者数」は、検査当日の受診日に対応する受診者管理テーブル401内の受診者IDの個数として、取得できる。
「(検査標準時間+前準備時間)/ボトルネック検査の稼働台数」は、一人当たりの検査時間(検査標準時間+前準備時間)が15分であり、並列に6台の検査機器が稼働する場合、平均して2.5分(=15分/6台)毎に1人を検査に誘導することを意味する。中盤の時間帯の場合、6台の検査機器が15分毎に一斉に検査終了する訳ではなく、各々の検査機器が別々のタイミングで検査終了する。従って、「(検査標準時間+前準備時間)/ボトルネック検査の稼働台数」の計算結果により、平均して2.5分(=15分/6台)毎に1人の受診者を検査に誘導すると、検査待ち時間を減らし、ボトルネック検査の検査機器に空き時間が生じることを阻止することができる。
「ボトルネック検査の検査予定者数/全受診者数」は、前述した2.5分毎に誘導される受診者のうち、ボトルネック検査を受けない受診者に対し、ピッチを短縮するための重み値である。すなわち、この重み値を乗じることにより、全受診者のうちボトルネック検査を受けない受診者を誘導する際にも、検査待ち時間を減らし、健診実施施設での滞在時間を短縮することができる。
[受診者受付機能561による動作の概要]
図20は、受診者受付機能の処理の流れの一例を示すフローチャートである。受診者受付用の端末500における処理回路560は、記憶回路530に記憶された第1のプログラムを読み出すことにより、受診者受付機能を実行する。受診者受付機能は、受診者の受付と当該受付に応じて後述の次検査項目割り当て機能とを実行する機能である。以下、処理の流れを概説する。
(ステップS11)
処理回路560は、検査機器別待ち行列管理テーブル403を初期化する(ステップS12に進む)。
(ステップS12)
処理回路560は、受診者管理テーブル401と健診マスタテーブル300とに基づいて、当該受診者の検査情報を作成する。処理回路560は、作成された検査情報を受診者別検査進捗管理テーブル402に新たに登録する(ステップS13に進む)。なお、登録された検査情報は、必要に応じて事後的に追加・修正されてもよい。
(ステップS13)
処理回路560は、当該受診者が受診する検査項目を示した検査表を作成し、ネットワークインタフェース回路510を介してプリンタに出力(印刷)させる(ステップS14に進む)。
なお当該印刷物を検査票と呼ぶものとする。検査票は、施設の職員等によって当該受診者に渡されることが好適である。
(ステップS14)
処理回路560は、ネットワークNWを介して接続された次検査項目割り当て用の端末500に、次検査項目割り当て用の端末500が有する次検査項目割り当て機能を実行させる要求信号(検査終了信号)を送信する(ステップS15に進む)。
(ステップS15)
処理回路560は、次検査項目割り当て機能より得られた次検査項目を、表示回路550(モニター)に表示させる(ステップ終了)。
[受診者受付機能561による動作の詳細]
続いて、上述した受診者受付機能561による動作を詳細に説明する。
受診者受付用の端末500は、始業時に起動され、終業時にシャットダウンされるものとする。また、受診者受付用の端末500は、健診実施施設の受付に設置されるものとする。
(初期化処理)
受診者受付用の端末500の起動又は、入力インタフェース回路540を介して行われる施設の職員等の指示入力等を契機として、処理回路560は、検査機器別待ち行列管理テーブル403を初期化する(レコードなしの状態にする)。処理回路560は、受診者別検査進捗管理テーブル402を初期化する(レコードなしの状態にする)。処理回路560は、受診者管理テーブル401及び健診マスタテーブル300に基づいて、当日受診者の検査情報を作成し、受診者別検査進捗管理テーブル402に登録する。
このうち、受診日、受診者ID、及び受診者検知IDは、受診者管理テーブル401から取得される。検査項目コードは、受診者管理テーブル401の検査コースコードに基づいて、検査コース及び検査項目対応テーブル301から展開される。予約検査は、検査項目テーブル302から取得してセットされる。検査状態は、初期値として「未検査:0」をセットされ、検査開始予定時刻、検査開始時刻、検査終了予定時刻、検査終了時刻、及び検査機器IDは、初期値としてNULLをセットされる。検査能力は、初期値として0をセットされる。なお当該初期化処理は、1日1回実施されることが好適である。
(受付処理)
処理回路560は、受診者が来院して受付を行った時に、受診者ごとに以下の処理を実行する。施設の職員等は、受診者が来院したときに、当日受診する検査コース及び検査項目を確認する。検査項目の追加・修正・削除がある場合には、施設の職員等は、入力インタフェース回路540を介して受診者別検査進捗管理テーブル402に登録された当該受診者の検査情報を更新する。
受診者管理テーブル401は、予約のある受診者の情報を有する。そのため、処理回路560は、受診者管理テーブル401に対して、受診日(当日の日付)を検索キーとして検索を実行し、当該受診日の受診者一覧情報として、受診者ID、受診者氏名、所属団体区分(個人又は団体)、所属団体コード、検査コースコード、及び到着予定時刻のリストを取得する。表示回路550(モニター)は、図21に示すように、当該取得された受診者一覧情報を受診者一覧画面G10に表示する。健診マスタテーブル300内に、コードと名称とを変換するための団体コード変換テーブル310及びコースコード変換テーブル311を用意して、各変換テーブル310,311を用いてコードを名称に変換して表示処理を行うことが好適である。但し、コードを名称に変換する形態は必須ではない。
予約のない受診者の場合は、施設の職員等が、入力インタフェース回路540を介して所定のボタン(新規登録ボタンb11)を押下して、その場で必要な情報を入力して登録することで、当日受診者一覧画面G10に追加してもよい。
施設の職員等は、当日受診者一覧画面G10が表示された段階で、来院された受診者の健診予約票や検体等を確認する。施設の職員等は、当日受診者一覧の受診者の氏名を探して、入力インタフェース回路540を介して該当行を選択状態にし、検査項目一覧ボタンb12を押下する。これを契機として、表示回路550(モニター)は、図22に示すように、検査項目一覧画面G20を表示する。
検査項目一覧画面G20は、受診者別検査進捗管理テーブル402に対する、受診日(当日の日付)、及び受診者IDを検索キーとしての検索結果によって得られる。このとき処理回路560は、検査項目テーブル302を用いて検査項目コードを検査名称に変換し、当該検査名称を表示回路550(モニター)に表示させる。検査項目一覧画面G20において、施設の職員等が入力インタフェース回路540を介して追加ボタンb21を押下することにより、処理回路560は、検査項目テーブル302に登録されているすべての検査項目の一覧を表示回路550(モニター)に表示させる。施設の職員等は、入力インタフェース回路540を介してすでに予約されている検査項目にマークをつけ、予約されていない検査項目にマークをつけないで、表示回路550(モニター)に表示させてもよい。施設の職員等は、検査項目を確認し、必要に応じて検査項目の追加・削除ができるようにする。施設の職員等は、入力インタフェース回路540を介して検査項目一覧画面G20上で登録ボタンb22を押下することで、当日の検査項目を最終確定する。当該最終確定を契機として、処理回路560は、次検査項目割り当て用の端末500に、当該受診者の次の検査項目を決定するように要求する。
次検査項目割り当て用の端末500による当該受診者の次の検査項目に基づいて、処理回路560は、受診者別検査進捗管理テーブル402から検査情報を取得し、次の検査項目を表示回路550(モニター)に表示させる。
なお、次検査項目割り当て機能は、ライブラリ又はサービス(第4のプログラム)として実装され、当該受診者の最初の検査を決定する。次検査項目割り当て機能は、例えば次検査項目割り当て用の端末500によって実施される。次検査項目割り当て用の端末500における処理回路560は、受診者別検査進捗管理テーブル402の当該受診者の検査開始予定時刻に、計算結果を更新し、決定結果のステータス(割り当て成功、割り当て失敗、又は割り当てなし)を返す(Return)。これにより、ステータスの割り当てが成功であれば、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日の日付)、受診者ID、検査状態=「未検査:0」、及び検査開始予定時刻≠NULLを検索キーとして検索を実行し、検査開始予定時刻がNULLでない検査項目コードに対応する検査項目名を、最初の検査として表示回路550(モニター)に表示させる。当該表示に基づいて、施設の職員等は当該受診者に最初の検査場所を指示することが好適である。
なお、ステータスが「割り当てなし」となるのは、受診者別検査進捗管理テーブル402に当該受診者の検査項目コードが存在しない場合、検査状態が≠「未検査:0」となっている場合等である。また、ステータスが「割り当て失敗」となるのでは、ネットワークNWやデータベース等などの障害で検索に失敗した場合等である。係る場合には、検索に失敗した旨のエラーメッセージを表示回路550に表示させ、施設の職員等が入力インタフェース回路540を介して再試行ボタンを押下することで、再度処理を行うことになる。
処理回路560は、現在時刻を到着時刻として、受診者に貸与するビーコン発信器のユニークIDを受診者検知IDとして入力し受診者管理テーブル401を更新する。
施設の職員等は、表示回路550(モニター)に表示された当日受診者一覧画面G10上で、入力インタフェース回路540を介して、当該受診者の行を選択状態にする。施設の職員等は、入力インタフェース回路540を介して、受診者検知IDのカラムを入力可能状態にする。施設の職員等は、入力インタフェース回路540を介して、ビーコン発信器のユニークIDを入力し、更新ボタンb13を押下することで、受診者管理テーブル401の受診者検知IDを更新する。
処理回路560は、受診者別検査進捗管理テーブル402の情報に基づいて、当該受診者が実施する検査一覧が印字される検査票を、ネットワークインタフェース回路510を介してプリンタ(図示せず)より出力させる。また、施設の職員等は、検査票を受診者に手渡す。
施設の職員等は、表示回路550(モニター)における当日受診者一覧画面G10上で、入力インタフェース回路540を介して当該受診者の行を選択状態にして、検査票印刷ボタンb14を押下することで、図23に示すように、当該受診者の検査票Hを印刷する。検査票Hには、受診者別検査進捗管理テーブル402に対して、受診日(当日の日付)、受診者IDを検索キーとして検索した結果である検査項目コードに対応する検査項目名の一覧が印刷される。また、検査待ち行列更新機能実行の際に、検査票Hを確認することを簡便にするために、受診日、受診者ID等をバーコードとして印刷しておいてもよい。
[検査待ち行列更新機能562による動作の概要]
図24は、検査待ち行列更新機能の処理の流れの一例を示すフローチャートである。検査待ち行列更新用の端末500における処理回路560は、記憶回路530に記憶された第2のプログラムを読み出すことにより、検査待ち行列更新機能を実行する。検査待ち行列更新機能は、受付済の受診者の位置を受診者に配布したビーコン発信器によって把握し、当該位置の変化に応じて待ち行列を更新する機能である。
なお、発信器に対応する受信器を各検査機器又は検査機器の近傍に設置することにより、検査室ごとに分かれていないオープンスペースな検査施設においても、当該機能を実施することができる。以下、処理の流れを概説する。
(ステップS21)
処理回路560は、検査機器ごとに受診者の接近・離脱を検知する(ステップS22に進む)。
(ステップS22)
処理回路560は、受診者ID、検知場所識別コード、及び検知時刻に基づいて、検査機器別待ち行列管理テーブル403を更新する。或いは、処理回路560は、当該受診者の受診者ID及び現在時刻に基づいて、検査機器別待ち行列管理テーブル403を更新する(ステップ終了)。
[検査待ち行列更新機能562による動作の詳細]
続いて、上述した検査待ち行列更新機能562による動作を詳細に説明する。
検査待ち行列更新用の端末500は、始業時に起動され、終業時にシャットダウンされるものとする。検査待ち行列更新用の端末500は、図1においては単一の端末として図示しているが、実際は複数の端末であってもよい。検査待ち行列更新用の端末500は、各検査機器に対応するように配置され、検査待ち行列更新機能562を実行するものとする。なお、複数の検査をまとめて、あたかも一連の検査のように扱い、1台の端末で対応しても構わない。
検査待ち行列更新用の端末500は、それぞれ対応する検査機器の検査項目(コード)、検査機器ID、所在コードを設定情報(例えば、INIファイル)として保持する。表示回路550(モニター)における画面上で、検査項目(コード)、検査機器、所在コードを自由に変更できるように実施されてもよい。
(受診者の接近・離脱検知処理)
受診者は、例えば受付時において発信器(ビーコン発信器)を有する。発信器は、あらかじめ設定されたユニーク識別子を、定期的に発信する。発信器は、例えばペンダント型で、例えばコイン型電池(又はボタン電池)で稼働し、例えばブルートゥース(Bluetooth(登録商標))無線通信方式で通信を行う。ビーコン発信器は電池寿命が2年程度と長く、毎回充電する手間がかからず長期間使用できるという利点もある。
通信距離は、発信器の送信電波強度や遮蔽物などの設置環境や機器の個体差などの条件により異なるが、遮蔽物がない状態で30m程度となっている。検査待ち行列更新用の端末500は、不図示のBluetooth(登録商標) Low Energeyデバイスを有する。検査機器又は検査機器の近傍に設置された受信器は、発信器より送信されるユニーク識別子を受信すると、当該信号強度に基づいて発信器と受信器との距離を識別する。識別される値は、例えばImmediate(50cm以内)、Near(50cm〜6m)、及びFar(6m〜20m)である。
なお、Bluetooth(登録商標)でなく、NFC(Near Field Communication:近距離通信)技術を使った発信器及び対応デバイスを用いて実施されてもよい。また、非接触無線タグと非接触無線タグ読み取り装置を用いて実施されてもよい。ただし、非接触無線タグの場合には、非接触無線タグ読み取り装置が発信する電波を受信したときに、非接触無線タグにあらかじめ記憶させていたデータを送信する仕組みであるため、非接触無線タグにユニークな識別子、又はユニークな受診者IDを記憶させることが好適である。
検査待ち行列更新用の端末500は、ビーコン発信器から送信される各ビーコンのユニーク識別子を受信するとき、受信強度に基づくビーコン発信器との距離情報を取得できる。このため、端末500の処理回路560は、受診者別検査進捗管理テーブル402に対して、ビーコン発信器のユニーク識別子を検索キーとして検索し該当する受診者IDを取得した後、検査機器別待ち行列管理テーブル403に対して、検査機器ID(端末ごとに設定等で保持しているID)、受診日(当日)、受診者IDを検索キーとして検索を行う。
端末500の処理回路560は、検索結果がなくかつビーコン発信器との距離がNearまたはImmediateであれば、検査機器ID(端末ごとに設定等で保持しているID)、受診日(当日)、受診者ID、検査待ち状態(「初期:0」)、登録日時(現在日時)、更新日時(NULL)、所在コード(端末ごとに設定等で保持しているコード)を新規登録する。検索結果が存在していて、ビーコン発信器との距離がNearでかつ検査待ち状態が「初期:0」または「登録済み:1」の場合に、検査待ち状態(「登録済み:1」)と更新日時のみを現在日時で更新する。検査待ち状態が「検査票あり:2」、「検査中:3」、「検査完了:4」、「検査中止:5」であれば、もはや検査待ち行列として管理する必要がなくなるためである。
また、新規登録する条件をビーコン発信器との距離がNearに限定したり、Immediate、Near、Farのいずれの距離でも新規登録したりしても構わない。また、状態を変更する条件として、ビーコン発信器との距離だけでなく、更新回数が一定回数を超えるなどを追加しても構わない。これは、検査機器の配置間隔が短い場合などに備えて調整できるようにする必要があるためのものである。
また、受診者の最新の現在位置を把握しておくために、他の端末で当該受診者の受診者IDを検知した場合には、処理回路560は、検査機器別待ち行列管理テーブル403に対して、受診日(当日)及び受診者IDを検索キーとして検索を実行する。このとき、当該検査機器ID以外にもレコードが存在している場合には、処理回路560は、それらのレコードの所在コードを、当該他の端末の所在コード、更新日時(現在日時)として更新する。
(受診者の検査票の読み取り処理)
受診者が検査票を施設の職員等に手渡し、施設の職員等が当該検査票を確認することで、運用上、検査待ち行列に登録されることが好適である。このため、処理回路560は、検査機器別待ち行列管理テーブル403に対して、検査機器ID(端末ごとに設定等で保持しているID)、受診日(当日)を検索キーとして検索を実行し、受診者ID、検査待ち状態、登録日時、更新日時、所在コードを取得し、図25に示すように、表示回路550(モニター)に検査機器別待ち行列一覧画面G30を表示させる。施設の職員等は、検査票に印字された受診日、受診者ID、及び受診者氏名を確認し、入力インタフェース回路540を介して、該当する行を選択して受付ボタンb31を押下する。これにより、処理回路560は、検査機器別待ち行列管理テーブル403の該当受診者の検査待ち状態を「検査票あり:2」、更新日時(現在日時)として更新する。
なお、検査票に受診日、受診者ID、受診者氏名をバーコード等で印字しておき、バーコードリーダーやカメラ等を用いてバーコードを読み取り情報を取得することで、自動的に当該受診者の検査待ち状態を「検査票あり:2」に更新するように実施されてもよい。
(次の検査が確定したときの後処理)
検査機器の待ち行列の精度を維持するためには、各検査機器の待ち行列の状態を適宜更新する必要がある。このため、検査待ち状態を「検査票あり:2」にした後、検査機器別待ち行列管理テーブル403に対して、受診日(当日)、及び受診者IDを検索キーとして検索を実行する。当該検査機器ID以外にもレコードが存在し、検査待ち状態が「登録済み:1」である(検査待ち状態が「初期:0」、「検査票あり:2」、「検査中:3」、「検査完了:4」、「検査中止:5」のいずれでもない)場合には、処理回路560は、それらのレコードの検査待ち状態を「初期:0」に更新する。これにより、各検査機器の待ち行列の状態を実態に合わせて補正する。
(次の検査が確定したときの修正処理)
実際の現場では、施設の職員等が現場の混雑状況をみて、受診者を手動で誘導することがある。このため、検査待ち状態が「検査票あり:2」になった後でも、次の検査を簡便に変更できるようになっている必要がある。具体的には、処理回路560は、検査機器別待ち行列管理テーブル403に対して、検査機器ID(端末ごとに設定等で保持しているID)、受診日(当日)を検索キーとして検索を実行し、受診者ID、検査待ち状態、登録日時、更新日時、所在コードを取得し一覧表示させる。また、施設の職員等が、検査票に印字された受診日、受診者ID、受診者氏名を確認し、入力インタフェース回路540を介して、該当する行を選択して強制変更ボタンを押下することで、処理回路560は、検査機器別待ち行列管理テーブル403の該当受診者の検査待ち状態を「検査票あり:2」、更新日時(現在日時)として更新する。
処理回路560は、検査機器別待ち行列管理テーブル403に対して、受診日(当日)、受診者IDを検索キーとして検索を実行し、受診者ID、検査待ち状態、登録日時、更新日時、及び所在コードを取得し、表示回路550(モニター)に一覧表示させる。このとき、該当するレコードの検査待ち状態が「検査票あり:2」のものがあれば、処理回路560は、検査待ち状態を「初期:0」に更新する。これにより、手動により次検査の変更が簡便にできる。
[検査進捗更新機能563による動作の概要]
図26は、検査進捗更新機能の処理の流れの一例を示すフローチャートである。検査進捗更新用の端末500における処理回路560は、記憶回路530に記憶された第3のプログラムを読み出すことにより、検査進捗更新機能を実行する。検査進捗更新機能は、検査機器それぞれにおいて、受診者の入れ替わり等が発生すると、後述の次検査項目割り当て機能を実行する機能である。以下、処理の流れを概説する。
(ステップS31)
処理回路560は、受診者別検査進捗管理テーブル402に対して、例えば受診日、検査項目コード、及び検査状態を検索キー(検索キーワード)とし、受診者ID及び検査開始予定時刻をソートキーとすることで、検索を実行する(ステップS32に進む)。
(ステップS32)
処理回路560は、検査機器別待ち行列管理テーブル403に対して、例えば受診日、受診者ID、及び検査機器IDを検索キーとして検索を実行する(ステップS33に進む)。
(ステップS33)
処理回路560は、ステップS31とステップS32とにおける検索結果に基づいて、各検査機器の検査予定受診者一覧として、例えば受診者ID、検査開始予定時刻、検査機器別待ち行列管理テーブル403に登録されてからの経過時間、所在情報等を、表示回路550(施設の職員等が使用するモニター)に表示させる(ステップS34に進む)。
(ステップS34)
例えば、入力インタフェース回路540を介して行われる施設の職員等による受診者の選択を契機として、処理回路560は、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を検査開始に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を検査中に更新する(ステップS35に進む)。
(ステップS35)
検査終了時に、例えば入力インタフェース回路540を介して行われる施設の職員等による当該受診者の検査結果の登録を契機として、処理回路560は、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を検査完了又は検査中に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を検査完了に更新する(ステップS36に進む)。
(ステップS36)
処理回路560は、ネットワークNWを介して接続された次検査項目割り当て用の端末500に、次検査項目割り当て用の端末500が有する次検査項目割り当て機能を実行させる要求信号を送信する(ステップS37に進む)。
(ステップS37)
処理回路560は、次検査項目割り当て機能より得られた次検査項目を、表示回路550(モニター)に表示させる(ステップ終了)。
[検査進捗更新機能563による動作の詳細]
続いて、上述した検査進捗更新機能563による動作を詳細に説明する。
検査進捗更新用の端末500は、始業時に起動され、終業時にシャットダウンされるものとする。検査進捗更新用の端末500は、図1においては単一の端末として図示しているが、実際は複数の端末であってもよい。また、他の端末が検査待ち行列更新機能を有するように実施されてもよい。検査進捗更新用の端末500は、各検査機器に対応するように配置され、検査進捗更新機能563を実行するものとする。なお、複数の検査をまとめて、あたかも一連の検査のように扱い、1台の端末で対応しても構わない。
検査進捗更新用の端末500は、記憶回路530において、それぞれ対応する検査機器の検査項目(コード)と検査機器IDと所在コードとを設定情報(例えば、INIファイル)として記憶している。画面上で検査項目(コード)、検査機器、所在コードを自由に変更できるように実施されてもよい。
(検査開始の通知)
検査進捗更新用の端末500における処理回路560は、受診者別検査進捗管理テーブル402に対して、例えば受診日、検査項目コード、検査状態を検索キー、受診者ID、及び検査開始予定時刻をソートキーとして検索を実行する。処理回路560は、検査機器別待ち行列管理テーブル403に対して、例えば受診日、受診者ID、及び検査機器IDを検索キーとして検索を実行する。当該検索結果に基づいて、処理回路560は、各検査機器の検査予定受診者一覧として、受診者ID、検査開始予定時刻、検査機器別待ち行列管理テーブル403に登録されてからの経過時間、及び所在情報を取得し、表示回路550(モニター)に検査待ち受診者一覧として表示させる。この検査待ち受診者一覧画面で、施設の職員等が、入力インタフェース回路540を介して次に検査する受診者の行を選択し、検査開始ボタンを押下することで、処理回路560は、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を「検査中:1」に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を「検査中:3」に更新する。
更に、DICOM規格に準拠している検査機器で、MPPS(Modality PerformedProcedure Step)サービスクラスに対応している場合には、サーバ装置200又は端末(例えば検査進捗更新用の端末500)上でMPPS対応サービスを実行させ、検査機器からの検査開始通知を受信したときに、検査開始通知に含まれる患者ID(受診者ID)とモダリティコード(検査項目コードに相当する)とに基づいて、受診者別検査進捗管理テーブル402の検査状態の更新と検査機器別待ち行列管理テーブル403の検査待ち状態の更新とを実行するように実施されてもよい。
(検査終了の通知)
表示回路550(モニター)における検査待ち受診者一覧画面で、施設の職員等は、入力インタフェース回路540を介して検査中の受診者の行を選択し、検査完了ボタンを押下する。これを契機として、処理回路560は、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を「検査完了:2」に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を「検査完了:4」に更新する。
なお、検査結果を登録する別の業務アプリケーションを用意し、検査結果を登録する際に、受診者別検査進捗管理テーブル402の検査状態の更新と検査機器別待ち行列管理テーブル403の検査待ち状態の更新とを行うように実施されてもよい。
図27は、当該業務アプリケーションの画面の一例を示す図である。待ち受診者リスト画面G40は、所定の検査と対応する待ち受診者とを示している。図27においては、問診(1)に対して、先頭から受診者A。受診者B及び受診者Cの3名の情報が表示されている。また、「待ち受診者6人」とされていることから、これ以外にも3名の待ち受診者がいることがわかる。さらに、受診者A,B,C毎に、「到着時刻」、「経過時間」、「検査開始予定時刻」及び「待ち時間」が表示されている。ここで、「到着時刻」は、受診者IDが検査機器別待ち行列管理テーブル403に登録された登録日時である。「経過時間」は、この登録日時から経過した時間(=現在日時−登録日時)である。「検査開始予定時刻」は、例えば、受診日、検査項目コード及び受診者IDに対応して受診者別進捗管理テーブル402から取得される。「待ち時間」は、検査開始予定時刻まで、後どのくらい待つかを示す時間情報(=検査開始予定時刻−現在日時)である。例えば、受診者Aの場合、経過時間9分であるので、検査機器の場所に案内されてから9分経過したことが分かる。また、待ち時間1分なので、あと1分で検査が開始される予定であることが分かる。このため、受診者Aは、経過時間9分であることから、そんなに待たされていないことが分かり、気分が落ち着いてくる。これに加え、受診者Aは、待ち時間1分であることから、トイレに行くか否かなどのように、用事を済ませるか否かを判断することができる。また、図28に示すように、施設の職員等は、検査の開始時又は終了時に、所定の受診者(例えば受診者A)を選択し、当該選択後の待ち受診者リスト画面G50上に検査開始/検査終了/キャンセルに係るサブウィンドウw51を表示させる。施設の職員等は、サブウィンドウw51から検査開始/検査終了等を選択することで、受診者別検査進捗管理テーブル402と検査機器別待ち行列管理テーブル403とを更新する。
或いは、DICOM規格に準拠している検査機器で、MPPS(Modality PerformedProcedure Step)サービスクラスに対応している場合には、サーバ又は端末上で、MPPS対応サービスを実行させ、検査機器からの検査終了通知を受信したときに、検査開始通知に含まれる患者ID(受診者ID)、モダリティコード(検査項目コードに相当する)、及び検査結果ステータス(完了、中止)に基づいて、受診者別検査進捗管理テーブル402の検査状態の更新と検査機器別待ち行列管理テーブル403の検査待ち状態の更新とを行うように実施されてもよい。
(検査中止の通知)
施設の職員等が、入力インタフェース回路540を介して検査中止ボタンを押下すると、処理回路560は、受診者別検査進捗管理テーブル402の当該受診者ID・当該検査項目コードの検査状態を「検査中止:3」に変更し、検査機器別待ち行列管理テーブル403の当該受診者ID・当該検査機器IDの検査待ち状態を「検査完了:5」に更新する。中止の事由を記載できるダイアログやカラムを設けて、中止事由も合わせて登録できるようにしておいても良い。このとき、施設の職員等が、受診者に確認して、残りの検査をすべて中止にすることもある。この場合には、施設の職員等は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、受診者ID、検査状態が「未検査:0」を検索キーとして検索を実行し、入力インタフェース回路540を介してリスト表示された行を一括選択し、検査中止ボタンを押下する。
なお、検査結果を登録するための別の業務アプリケーションを用意し、検査中止ボタンを設け、施設の職員等が入力インタフェース回路540を介して検査中止ボタンを押下して、受診者別検査進捗管理テーブル402の検査状態の更新と検査機器別待ち行列管理テーブル403の検査待ち状態とが更新されるように実施されてもよい。
更に、DICOM規格に準拠している検査機器で、MPPS(Modality PerformedProcedure Step)サービスクラスに対応している場合には、サーバ又は端末(例えば)上でMPPS対応サービスを実行させ、検査機器からの検査終了を受信したときに、検査開始通知に含まれる患者ID(受診者ID)、モダリティコード(検査項目コードに相当する)、及び検査結果ステータス(完了、中止)に基づいて、受診者別検査進捗管理テーブル402の検査状態の更新と検査機器別待ち行列管理テーブル403の検査待ち状態の更新とを行うように実施されてもよい。
検査終了処理又は検査中止処理のタイミングで、処理回路560は、次検査項目割り当て用の端末500に対して、次検査項目割り当て機能により当該受診者の次の検査項目を決定するように要求する。当該結果に基づいて、処理回路560は、受診者別検査進捗管理テーブル402から検査情報を取得し次の検査項目を画面上に表示させる。
(次検査項目割当機能)
次検査項目割当機能563は、ライブラリ又はサービス(第4のプログラム)として実装され、当該受診者の次の検査を決定する。処理回路560は、受診者別検査進捗管理テーブル402の当該受診者の検査開始予定時刻に計算結果を更新する。処理回路560は、決定結果のステータス(割り当て成功、割り当て失敗、割り当てなし、及び割り当て済み)を返す。ステータスが割り当て成功又は割り当て済みであれば、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日の日付)、受診者ID、検査状態=「未検査:0」、検査開始予定時刻≠NULLを検索キーとして検索を実行し、検査開始予定時刻がNULLでない検査項目コードに対応する検査項目名を最初の検査として表示回路550(モニター)に表示させる。この表示に基づいて、施設の職員等は、当該受診者に最初の検査場所を指示できる。例えば、図5
なお、ステータスが「割り当てなし」となるのは、受診者別検査進捗管理テーブル402に当該受診者の検査項目コードが存在しない場合や、検査状態が≠「未検査:0」となっている場合である。また、ステータスが「割り当て失敗」となるのでは、ネットワークやデータベースなどの障害で検索に失敗した場合である。この場合には、検索に失敗した旨のエラーメッセージを表示回路550(モニター)に表示し、施設の職員等が、再試行ボタンを押下することで、処理回路560は、再度上記処理を行うことになる。受診者が以降の検査をすべて中止(取り消し)にした場合には、次検査項目割り当て用の端末500は割り当てなしを返却するので、検査が完了した旨のメッセージを表示する。
図29は、次の検査場所を案内するための画面一例を示す図である。施設の配置図は基本的には画像ファイルとして保持しておき、施設の職員等により案内ボタンが押下されたときに、処理回路560は、施設の配置画面G60を表示回路550(モニター)に表示させる。配置画面G60の下方の「移動 50m。1分〜2分」は、現在の検査項目「問診」の場所から、次の検査項目「胸部X線」の場所への移動距離及び移動時間を示している。ここで、移動距離は、例えば、予め検査機器間の移動時間テーブル305に、検査項目間の移動時間に対応付けて記録されている(図示せず)。あるいは、移動距離は、移動時間に、所定の歩行速度を乗じて求めてもよい。あるいは、移動距離は、施設の配置図の縮尺と、配置図上の距離とに基づいて算出してもよい。「移動時間1分〜2分」は、検査機器間の移動時間テーブル305に記録された検査項目間の移動時間(60秒)を下限値「1分」とし、下限値に所定の誤差範囲(1分)を足した時間を上限値「2分」として表示している。これにより、受診者は、自分が老若男女のいずれであっても、およそ50m先の検査場所に1分〜2分でつくことが分かり、安心して次の検査場所に向かうことができる。また、受診者は、1分〜2分後に次の検査場所に着かない場合や、50m以上歩いたのに次の検査場所に着かない場合には、自分が迷った可能性に気がつき、施設職員等に次の検査場所を尋ねることができる。従って、このような移動距離や移動時間の表示により、次の検査場所への円滑な移動を補助することができる。
このように、検査開始予定時刻がNULLかどうかで判断するような仕組みを採用することで、最初に検査の実施計画を策定しリアルタイム誘導を行わない場合や、途中までや途中から、又は一部の検査項目のみリアルタイム誘導を行いたい場合にも、本方式を適用可能となっている。
[次検査項目割当機能564による動作の概要]
図30は、次検査項目割り当て機能の処理の流れの一例を示すフローチャートである。次検査項目割り当て用の端末500における処理回路560は、記憶回路530に記憶された第4のプログラムを読み出すことにより、次検査項目割り当て機能を実行する。次検査項目割り当て機能は、上記の受診者受付用の端末500又は検査進捗更新用の端末500からの要求信号に応答して実行される機能である。以下、処理の流れを概説する。
(ステップS41)
処理回路560は、受診者別検査進捗管理テーブル402と健診マスタテーブル300とから取得された、当日の検査機器稼働予定台数(所定の検査パラメータ)と各検査機器の検査予定受診者数(未受診者数/所定の検査パラメータ)とに基づいて、各検査機器の検査能力を算出する(ステップS42に進む)。
(ステップS42)
処理回路560は、各受診者の未受診の検査項目(第1の検査項目)に関して、その検査項目を実施する検査機器の検査待ち人数と検査能力とに基づいて、検査機器ごとの移動時間、検査準備時間、及び検査時間を参照することにより、検査予定時間を算出する(ステップS43に進む)。
(ステップS43)
処理回路560は、ステップS42において算出された検査予定時間と、検査項目間の実施順番に関する制約条件(例えば、検査Aを済ませてからでないと、検査Bを実施することができない等)とに基づいて、推奨される次の検査項目を決定し、当該次の検査項目を受診者別検査進捗管理テーブル42に更新登録する(ステップ終了)。
[次検査項目割当機能564による動作の詳細]
次検査項目割当機能564は、受診者別検査進捗管理テーブル402および健診マスタテーブル300から取得した当日の検査機器稼働予定台数および各検査機器の検査予定受診者数をもとに、各機器の検査能力を算出し、各受診者の未受診の検査項目について、その検査項目を実施する検査機器の検査待ち人数、検査能力をもとに、検査機器ごとの移動時間、検査準備時間、検査時間を参照し、検査予定時間を算出し、それと検査項目間の実施順番に関する制約条件をもとに次の検査項目を決めるものである。
次検査項目割り当て用の端末500における処理回路560は、記憶回路530に記憶された第4のプログラムを読み出すことにより、以下の処理を実行する。
処理回路560は、受診者別検査進捗管理テーブル402と健診マスタテーブル300とから取得した当日の検査機器稼働予定台数と各検査機器の検査予定受診者数とに基づいて、各機器の検査能力を算出する。処理回路560は、各受診者の未受診の検査項目について、その検査項目を実施する検査機器の検査待ち人数、及び検査能力に基づいて、検査機器ごとの移動時間、検査準備時間、及び検査時間を参照する。処理回路560は、検査予定時間を算出し、当該検査予定時間と検査項目間の実施順番に関する制約条件とに基づいて、次の検査項目を決定する。
続いて、基本的な処理の流れについて、図31乃至図37のフローチャート及び図38のテーブルを用いて説明する。
(第1段階:ステップST51〜ST58)
処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日=当日、受診者ID=指定された受診者ID、検査状態=「未検査:0」、という検索条件で検索を実行し、検査開始予定時刻を取得する(ステップST51)。
該当するレコードが存在しない場合には、処理回路560は、ステータスとして「割り当てなし」を返して、処理を終了する(ステップST52〜ST53)。
検査開始予定時刻がNULLでないものが複数存在する場合には、処理回路560は、「割り当て済み」を返して、処理を終了する(ステップST54〜ST55)。
検査開始予定時刻がNULLでないものが1つだけ存在する場合にも、処理回路560は、「割り当て済み」を返して、処理を終了する(ステップST56〜ST57)。
それ以外の場合には、処理回路560は、処理を続行する(ステップST58)。例えば、図16では、受診者IDが1の検査項目コードが12個登録されており、検査開始予定時刻がすべてNULLとなっているので、処理を続行する。
(第2段階:ステップST59〜ST60−8)
処理回路560は、検査項目テーブル302を検索し、すべての検査項目コードを取得する。処理回路560は、検査項目コードに対応して、繰り返し処理を行う。図4の例で、E01、E02、E03、E04、E05、E06、E07、E08、E09、E10、E11、E12、E13、E14が取得される(ステップST59)。
次に、処理回路560は、以下のループ演算により、それぞれの検査項目に関する各機器の検査能力を算出する。なお、以降ループ演算を行う場合は、ループの開始を<ループn開始>(nは自然数)、ループの終了を<ループn終了]として表記するものとする。
<ループ1開始:ステップST60>
処理回路560は、ステップST59で取得した検査項目について、ステップST60−1〜ST60−8を繰り返し実行することにより、検査項目に関する各機器の検査能力を算出する。
(ステップST60−1)
処理回路560は、当日の当該検査の検査予定者数を取得する。例えば、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、及び検査項目コードを検索キーとして検索を実行し、該当する受診者の数を取得する。図16では、検査項目コードがE01のものは、受診者IDが1の1件のみなので、受診者数は1となる。
(ステップST60−2)
ステップST60−1の後、処理回路560は、当該検査の検査標準時間を取得する。例えば、処理回路560は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで、検査の検査標準時間を取得する。図6では、検査項目コードがE01の検査標準時間は90秒となっている。
(ステップST60−3)
ステップST60−2の後、処理回路560は、当該検査の前準備時間を取得する。例えば、処理回路560は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで、検査の前準備時間を取得する。図6においては、検査項目コードがE01の前準備時間は0秒となっている。
(ステップST60−4)
ステップST60−3の後、処理回路560は、当日の当該検査の検査実施時間(又は検査可能時間)を取得する。例えば、処理回路560は、検査機器設備テーブル303に対して、検査項目コードを検索キーとして検索を実行することで、当該検査項目コードの検査機器IDを取得する。図5においては、検査項目コードがE01の検査機器IDは、E01−1である。
続いて、処理回路560は、検査機器稼働時間テーブル306に対して、当日日付から曜日を計算する。処理回路560は、曜日と検査機器IDとを検索キーとして検索を実行することで、検査開始時刻と検査終了時刻とを取得し、検査実施時間を計算する。図8においては、2015年1月20日は火曜日であり、E01−1の検査開始時刻と検査終了時刻とは8:30と11:00とであることが示されている。すなわち、3時間30分の検査実施時間であることが算出される。
(ステップST60−5)
ステップST60−4の後、処理回路560は、当日の当該検査の稼働台数を取得する。例えば、処理回路560は、検査機器設備テーブル303に対して、検査項目コードを検索キーとして検索を実行することで、当該検査項目コードの検査機器IDを取得する。図5においては、検査項目コードがE01の検査機器IDは、E01−1である。
続いて、処理回路560は、検査機器稼働時間テーブル306に対して、当日日付から曜日を計算し、計算した曜日と検査機器IDを検索キーとして検索を実行することで、該当する検査機器IDの数をカウントする。図8においては、2015年1月20日は火曜日であり、E01−1の台数が1であることが算出される。
(ステップST60−6)
ステップST60−5の後、処理回路560は、その検査項目の検査能力を計算する。例えば、各機器の検査能力は、各検査に対して以下の計算式で算出された数値(評価値)である。
各検査の検査能力 = (当日の当該検査の検査予定者数×(当該検査の検査標準時間+当該検査の前準備時間))/(当日の当該検査の検査実施時間×当日の当該検査の稼働台数)
これらより、E01の検査能力は次のように計算される。
1×(90秒+0秒)/3時間30分×1台=90秒/12600秒=0.007
他の検査項目コードに対応する検査能力についても同様に計算される。
(ステップST60−7)
ステップST60−6の後、処理回路560は、受診者別検査進捗管理テーブル402の検査能力のカラムに、当該計算結果を格納する(全受診者に対して実施する)。
(ループ1終了:ステップST60−8)
処理回路560は、残りの検査項目があるか否かを判定し、残りの検査項目がある場合にはステップST60−1に戻り、否の場合にはループ1を終了してステップST61に進む。
(第3段階:ステップST61〜ST70)
(ステップST61)
処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、検査状態=「未検査:0」を検索キーとして検索を実行することで、未実施の検査項目コードを取得する。図16においては、E01(眼底検査)、E02(診察検査)、E03(胸部X線)、E04(安静時心電図)、E10(上腹部US)、E12(上部消化管X線)、E05(5m視力)、E06(採血)、E09(オージオメーター)、E07(身長体重)、E08(血圧)、E11(胃カメラ)が取得される。
<ループ2開始:ステップST62>
ステップST61の後、処理回路560は、ステップST61で取得した未実施の検査項目について、ステップST62−1〜ST62−2を繰り返し実行し、未実施の検査項目コードに対応する検査能力を取得する。
(ステップST62−1)
処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、検査状態=「未検査:0」を検索キーとして検索を行い、検査能力を取得して一時変数に保持する。図38に、検査項目コード及び検査能力を対応付けて記録する検査項目及び検査能力対応テーブル312の一例を示す。この検査項目及び検査能力対応テーブル312は、サーバ装置200の記憶回路210に保持される。
<ループ2終了:ステップST62−2>。
処理回路560は、残りの未受診の検査項目があるか否かを判定し、残りの未受診の検査項目がある場合にはステップST62−1に戻り、否の場合にはループ2を終了してステップST63に進む。
<ループ3開始:ステップST63>
処理回路560は、未実施の検査項目コードについて、ステップST63−1〜ST63−5を繰り返し実行し、検査間制約を確認し、検査能力を調整する。
(ステップST63−1)
処理回路560は、検査項目テーブル302に対して、検査項目コードを検索キーとして検索を実行することで、検査項目間制約を取得する。
(ステップST63−2)
ステップST63−1の後、処理回路560は、検査項目間制約が存在するか否かを安定する。検査項目間制約が存在する場合にはステップST63−3に進み、否の場合にはステップST63−5に進む。
(ステップST63−3)
ステップST63−2の後、処理回路560は、制約元(ループで処理)の検査項目コードの検査能力と制約先(検索結果で取得)の検査項目コードの検査能力を比較し、制約先の検査項目の検査能力が制約元の検査能力よりも小さいか否かを判定する。判定の結果、小さいときにはステップST63−4に進み、否の場合にはステップST63−5に進む。
(ステップST63−4)
ステップST63−3の後、処理回路560は、制約先の検査項目コードの検査能力に、制約元の検査項目コードの検査能力を設定する。
図4では、E01(眼底検査)の制約条件としてE05(5m視力)があり、E12(上部消化管X線)の制約条件としてE10(上腹部US)とE11(胃カメラ)があり、E13(上部消化管ES)の制約条件としてE10(上腹部US)とE11(胃カメラ)がある。図38では、E01(眼底検査)の検査能力は0.63で、E05(5m視力)の検査能力は0.44となっているため、E05の検査能力には0.63を設定する。同様に、E12(上部消化管X線)の検査能力は0.78で、E10(上腹部US)の検査能力は0.94、E11(胃カメラ)の検査能力は0.93となっており、いずれも0.78より大きいため、このままの値を使用する。なお、「検査能力」は、時間に余裕のない度合を示すことから、「負荷率」と読み替えてもよい。また、「検査能力」は、時間に余裕のない検査を優先させるために用いられることから、「優先度」と読み替えてもよい。
<ループ3終了:ステップST63−5>。
処理回路560は、残りの未受診の検査項目があるか否かを判定し、残りの未受診の検査項目がある場合にはステップST63−1に戻り、否の場合にはループ3を終了してステップST64に進む。
<ループ4開始:ステップST64>
処理回路560は、未検査項目コードについて、ステップST64−1〜ST64−7を繰り返し実行し、検査待ち時間が許容待ち時間内で最大の検査能力をもつ検査機器IDを求める。基本的には、未検査項目コードE01(眼底検査)、E02(診察検査)、E03(胸部X線)、E04(安静時心電図)、E10(上腹部US)、E12(上部消化管X線)、E05(5m視力)、E06(採血)、E09(オージオメーター)、E07(身長体重)、E08(血圧)、E11(胃カメラ)について、それぞれ以下を実行する。まずは、最初のE01(眼底検査)について処理をする。
(ステップST64−1)
処理回路560は、未検査項目コードの検査機器ID一覧を取得する。例えば、処理回路560は、検査機器設備テーブル303に対して未検査項目コードを検索キーとして検索を実行することで、検査機器IDを取得する。処理回路560は、検査機器稼働時間テーブル306に対して当日の日付から曜日を計算し、当日稼働している検査機器IDの一覧を取得する。検査機器IDがなければ、ループ4の先頭に戻る。図5から、E01−01が取得され、図8から当日稼働している機器がE01−01のみであることはわかる。
(ステップST64−2)
ステップST64−1の後、処理回路560は、未検査項目コードの許容待ち時間(判断基準時間)を取得する。例えば、処理回路560は、検査所要時間テーブル304に対して、未検査項目コードを検索キーとして検索を実行することで、判断基準時間を取得する。図6の例では、E01の判断基準時間は300秒となる。
(ステップST64−3)
ステップST64−2の後、処理回路560は、ループ4の処理が1回目であるか否かを判定し、1回目の場合にはステップST64−4に進む。否の場合にはステップST64−6に進む。
(ステップST64−4)
ステップST64−3の後、処理回路560は、検査機器IDリストの先頭のものを推奨検査機器IDとして保持する。推奨検査機器IDはE01−01となる。
(ステップST64−5)
ステップST64−5の後、処理回路560は、次式に示すように、推奨検査機器IDの検査待ち時間を計算し、推奨検査待ち時間として保持する。
検査待ち時間=(検査標準時間+前準備時間)×検査機器ごとの待ち受診者数+移動時間
処理回路560は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで検査標準時間を取得する。図6では、E01の検査標準時間は90秒となる。
処理回路560は、検査所要時間テーブル304に対して、検査項目コードを検索キーとして検索を実行することで、前準備時間を取得する。図6では、E01の前準備時間は0秒となる。
処理回路560は、検査機器間の移動時間テーブル305に対して、移動元の検査項目コードと移動先の検査項目コードを検索キーとして検索を実行することで、移動時間を取得する。初回検査の場合は、移動元検査項目コードが受付で、移動先の検査項目コードは未検査項目コードの最初の検査項目となる。途中の検査の場合には、移動元検査項目コードは検査が完了した検査項目コードで、移動先の検査項目コードは未検査項目コードの最初の検査項目となる。図7では、初回の検査のため受付E00からE01までの移動時間は60秒となる。
処理回路560は、検査機器別待ち行列管理テーブル403に対して、受診日(当日)、検査機器ID、検査状態=「検査票あり:2」を検索条件として検索を実行することで、検査機器ごとの待ち受診者数を取得する。図17では、E01−01は登録されていないため、待ち受診者数は0人となる。この結果、検査待ち時間は
(90秒+0秒)×0人+60秒=60秒
となる。
以下はループ4内において、更にループ5として実行される。
<ループ5開始:ステップST64−6>
処理回路560は、未検査項目の検査機器IDについて、ステップST64−6−1〜ST64−6−8を繰り返し実行し、検査待ち時間が許容待ち時間内で最大の検査能力をもつ検査機器IDを求める。
(ステップST64−6−1)
処理回路560は、ループ4の処理が1回目であるか否かを判定し、1回目の場合にはステップST64−6−8に進む(上で計算済みのため)。E01は、ループ5における処理の1回目であり、検査機器の台数が1なので、ループ5の次の検査項目コードであるE02(診察検査)の処理に移る。否の場合にはステップST64−6−2に進む。
(ステップST64−6−2)
ステップST64−6−1の後、処理回路560は、ループ5の検査機器IDについて、検査待ち時間を計算する。
(ステップST64−6−3)
ステップST64−6−2の後、処理回路560は、ループ5で計算した検査待ち時間と推奨検査待ち時間とを比較し、その差が許容待ち時間(判断基準時間)以下(又は検査待ち時間が基準値以下)か否かを判定する。否の場合にはステップST64−6−8に進む。差が許容待ち時間以下の場合には、ステップST64−6−4に進む。
(ステップST64−6−4)
ステップST64−6−3の後、処理回路560は、推奨検査機器IDに対応する検査項目コードの検査能力とループ5の検査機器IDに対応する検査項目コードの検査能力を比較し、ループ5の検査機器IDに対応する検査項目コードの検査能力の方が大きければ、以下のステップST64−6−5〜ST64−6−7を実行する。
(ステップST64−6−5)
処理回路560は、前の検査項目が受付(1回目の検査)か否かを判定し、否の場合にはステップST64−6−7に進み、受付の場合にはステップST64−6−6に進む。
(ステップST64−6−6)
処理回路560は、前の検査項目コードとループ5の検査機器IDに対応する検査項目コードが検査項目間制約に該当しないかを判定し、該当しない場合にはST64−6−7に進み、該当する場合にはステップST64−6−8に進む。
(ステップST64−6−7)
処理回路560は、前の検査項目が受付(1回目の検査)であれば、推奨検査機器IDにループ5の検査機器IDを設定し、推奨検査待ち時間にループ5の検査機器IDの検査待ち時間を設定する。
前の検査項目が受付(1回目の検査)でなければ、前の検査項目コードとループ5の検査機器IDに対応する検査項目コードが検査項目間制約に該当していなければ、推奨検査機器IDにループ5の検査機器IDを設定し、推奨検査待ち時間にループ5の検査機器IDの検査待ち時間を設定する。
処理回路560は、E02についても同様の処理を行う。E01−01との検査待ち時間、及び検査能力を比較する。E01とE02とでは、それぞれの検査機器の待ち受診者がいないため、検査時間がそれぞれ90秒で、判断基準時間の300秒より小さい。一方、検査能力はE02の方が大きいため、推奨検査機器IDはE02−01が設定され、推奨検査待ち時間には90秒が設定される
<ループ5終了:ステップ64−6−8>
処理回路560は、残りの検査機器IDがあるか否かを判定し、残りの検査機器IDがある場合にはステップST64−6−1に戻り、否の場合にはループ5を終了してステップST64−7に進む。
<ループ4終了:ステップST64−7>
処理回路560は、残りの検査項目コードがあるか否かを判定し、残りの検査項目コードがある場合にはステップST64−1に戻り、検査待ち時間が許容待ち時間内で、最大の検査能力をもつ検査機器IDを求める。否の場合にはループ4を終了してステップST65に進む。
(ステップST65)
ステップST64の後、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、受診者ID、推奨検査機器IDに対応する検査項目コード、推奨検査機器ID、検査開始予定時刻、及び検査終了予定時刻を更新する。処理回路560は、検査開始予定時刻は、現在時刻に推奨検査待ち時間を加算したものであり、検査終了予定時刻は、検査開始予定時刻に当該検査項目の検査標準時間+前準備時間を加算した時刻である。
(ステップST66)
ステップST65の後、処理回路560は、検査項目テーブル302に対して、推奨検査機器IDに対応する検査項目コードで検索を実行する。
(ステップST67)
処理回路560は、ステップST66の検索結果において連続検査制約が存在するか否かを判定する。連続検査制約が存在する場合にはステップST68に進み、否の場合には、処理を終了する。
(ステップST68)
ステップST67の後、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日(当日)、受診者ID、連続検査制約で指定された検査項目コードの検索条件で検索を実行する。
(ステップST69)
処理回路560は、ステップST68の検索結果において該当するレコードが存在するか否かを判定する。該当するレコードが存在する場合にはステップST70に進み、否の場合には、処理を終了する。
(ステップST70)
処理回路560は、受診日=当日、受診者ID、連続検査制約で指定された検査項目コード、推奨検査機器ID、検査開始予定時刻、及び検査終了予定時刻を更新する。
検査開始予定時刻は、上で計算した検査終了予定時刻であり、検査終了予定時刻は、検査開始予定時刻に当該検査項目の検査標準時間+前準備時間を加算した時刻である。連続検査が存在していない場合、当該処理はスキップされる。連続検査が指定されていた場合には、図16にはE02が存在しているので、処理回路560は、連続検査制約で指定された検査項目コードの行に、検査機器IDをE02−1として、E02−01の検査終了予定時刻と、E02−01の検査終了予定時刻にその検査項目コードの検査標準時間+前準備時間を加算した時刻として更新を行う。
途中でネットワークエラーやデータベースエラーが発生した場合には、処理回路560は、ステータスとして「割り当て失敗」を返し、処理を終了する。それ以外の場合には、処理回路560は、ステータスとして「割り当て成功」を返し、処理を終了する。
以上が基本的な処理の流れとなっている。
このように検査待ち時間、許容待ち時間、検査能力という3種類のパラメータを設けることにより、次検査項目の最適値を決めるための対象候補の範囲を柔軟に調整できる。また、検査項目により検査時間に大きなばらつきがある場合でも、安定的に最適解を求めることができるようになる。また、検査待ち時間が許容待ち時間内であるものを最初の段階で絞り込み、検査能力で優先度を決める多段階の絞込み方式を採用することにより、対象候補の範囲を制御することができる。
なお、基本的な処理の流れは上述した通りであるが、検査能力を初回だけ計算する固定方式のほかに、ループ4の中で毎回計算し直す動的方式にしても構わない。動的方式の場合には、検査能力を計算するときに、当日の当該検査の検査予定者数に代えて、当日の当該検査の未実施受診者数(検査状態=「未検査:0」)を用い、当日の当該検査の検査実施時間を予め設定した健診業務終了時刻までの残り時間とすることで計算する。動的方式は、より局所的な精度を改善できる場合があり、健診実施施設の運用形態に応じて、固定方式と動的方式を使い分けることができる。また、検査機器別の待ち人数の計算方法として、検査状態=「検査票あり:2」としているが、検査状態=「登録済み:1」 としても構わない。これにより、その時点での不確定要素(検査票を運用していない施設、検査票が届くまでのタイムラグによる誤差)を反映した検査待ち受診者数を数えることが可能になる。
上述したように本実施形態によれば、検査項目毎に、検査時間、検査機器識別情報(検査機器ID)の個数及び受診者識別情報(受診者ID)の個数に基づき、全受診者の検査に要する必要検査時間を算出する。また、当該必要検査時間のうち、最大の必要検査時間をもつ検査項目(ボトルネック検査の検査項目)を選択する。さらに、当該選択された検査項目に対応付けられた検査時間及び検査機器識別情報の個数に基づき、受診者を検査に誘導する時間間隔(ピッチ)を算出する。しかる後、当該時間間隔を示す情報を出力することにより、受診者の検査への誘導を促す。
これにより、受診者の検査待ち時間を減少させることができる。
また、本実施形態によれば、定期的又は不定期に、検査項目毎に、検査進捗状態(検査状態)が検査完了を示す値に対応付けられた受診者識別情報の個数を除外して、必要検査時間を再算出する。また、当該再算出した必要検査時間に基づいて検査項目を再選択する。さらに、当該再選択した検査項目に基づいて時間間隔を再算出する。しかる後、当該再算出した時間間隔を示す情報を出力することにより、誘導を促す。
このように、定期的又は不定期に、必要検査時間の再算出、検査項目の再選択、時間間隔の再算出を実行することにより、多数の受診者の健診が進んだ際の実際の状況に応じて、受診者の検査への誘導を促すことができる。
また、本実施形態によれば、検査機器識別情報毎に、所定の検査実施時間に占める必要検査時間を表す検査能力を算出する。また、各受診者の未受診の検査項目について、未受診の受診者識別情報の個数及び検査時間に基づく検査待ち時間が許容待ち時間内にある検査機器識別情報のうち、最も大きい検査能力をもつ検査機器識別情報を導出する。さらに、当該導出した検査機器識別情報に対応付けられた検査項目に対応する制約条件、現在時刻、検査待ち時間及び検査時間に基づいて、受診者記憶手段(受診者別検査進捗管理テーブル402)の検査項目、受診者識別情報、推奨する検査機器識別情報、検査開始予定時刻及び検査終了予定時刻を更新することにより、未受診の各受診者に次の検査項目を割り当てる。
これにより、検査待ち時間が許容待ち時間内にある検査機器識別情報のうち、最も大きい検査能力をもつ検査機器識別情報を導出できるので、健診全体のボトルネックとなる検査機器に空き時間が生じないように、受診者に次の検査項目を割り当てることができる。
なお、以上のような本実施形態の効果に関し、従来技術と比較して補足説明する。
従来技術には、受診者に非接触タグを付けて、受診者毎・検査室毎に、検査室への入室時間、退室時間、受診者状況を保持し、入室時間および退室時間を参照して検査室毎に予想検査時間を計算し、未受診である検査室についてそれぞれ受診待ちの受診者数と予想検査時間を算出し、予想待ち時間が最小となる検査室を次回の検査室と割当、健診管理端末に表示する方式がある。
また、他の従来技術としては、受付済みの診療待ち患者情報を診療区分と共に記憶し、診療区分毎の標準診療時間を記憶し、診療区分毎の待ち患者に対する標準診療時間を算出し、診療終了までの予測時間を出力する方式がある。
これらの従来技術の方式は、通常は特に問題ないが、本発明者の検討によれば、以下の点(1)〜(5)に該当する場合には改良の余地がある。
(1)健診の場合、必ずしも検査室が存在するわけではないので、厳密に受診者の待ち行列を管理できない。検査機器ごとに検査室があるとは限らず、オープンスペースに複数の検査機器が設置されるような形態もある。このため、オープンスペースに複数の検査機器が設置された場合でも受診者の検査待ち行列を管理できるようにする必要がある。さらに、受診者の検査待ち行列を管理できるようになったとしても、検査室、診断室、オープンスペース内が飽和状態になってしまった場合は、受診者の検査待ち行列を管理が機能せず、受診者の検査待ち時間が増加してしまう可能性もある。
(2)検査に時間がかかる画像検査と検査時間の短い検査が存在するため、単純に待ち人数と標準検査時間だけでは、受診者の待ち時間は減らない。
(3)検査項目間には実施する順番に制約があり、単に検査待ち時間だけでは次の検査は決められない場合がある。
(4)受診者の検査開始時刻まで制御しないと、受診者の待ち時間が減らない。
(5)検査機器を専用に使用できない場合がある。病院併設型の健診実施施設等では、病院にある検査機器を利用する場合には、病院側の検査機器の予約を行い、その予約時間が優先される。 すなわち、検査機器を病院と共用しており、機械的に検査予定時間を設定できない場合がある。当該(5)については、第7の実施形態で述べている。
従って、特に第1の実施形態では、以上の点を踏まえて、受診者の検査待ち時間を減らし、健診実施施設の滞在時間を短縮するために、ボトルネック検査の時間間隔を算出し、時間帯に応じて、健診受付および着替えを済ませた受診者が初回検査に到着するタイミングをコントロールしている。これにより、検査項目に画像検査があり、オープンスペースに複数の検査機器が設置されるような健診実施施設でも利用可能で、受診者があらかじめ選択した一連の検査を効率的に実施できる検査の実施順番を提示することができる。
補足すると、特に第1の実施形態によれば、受診者の検査待ち時間を最小にするために、未実施の検査項目の中からより最適な次の検査を選択し、施設職員が受付時と検査完了時に次の検査項目を受診者に対して誘導できるようにすることができる。
これに加え、特に第1の実施形態によれば、従来技術で問題となっていた計算結果と実際の行動が異なるケースがあったり、計算結果と実際の行動が異なる点に気付けなかったりするなどの問題(上記(1)〜(4))を解決できる点が従来とは大きく異なる。
さらに、医療機関内の検査機器を使用する場合(上記(5))への対応など、従来技術では対応できなかったケースについての解をも提供している。これについては、第7の実施形態に詳細に述べている。
また、施設職員の業務効率を改善するための解として、様々な警告表示をすることにより、ヒューマンエラーが発生した場合にも対応できるようになっている。これについては、例えば第3、第4及び第6の実施形態に詳細に述べている。
<第2の実施形態>
次に、第2の実施形態に係る受診者誘導システムについて説明する。
第1の実施形態では、検査待ち行列更新機能562の動作において、受診者はビーコン発信器を携帯するものとした。これは、当該ビーコン発信器が発信する識別子を、検査機器の近傍に配置された端末500又は受信器によって受信することで、受診者誘導システムが当該受診者の位置(状態)を把握するものである。
一方、第2の実施形態では、第1の実施形態とは異なり、ビーコン発信器の発信する電波を受信可能な通信デバイスを受診者に貸与し、端末500近辺にビーコン発信器を配置する構成となっている。すなわち、第2の実施形態では、端末500近傍のビーコン発信器から発信される識別子を、受診者が携帯する通信デバイスが受信することによって、受診者誘導システムが当該受診者の位置(状態)を把握するようにしている。
これに伴い、サーバ装置200においては、例えば健診マスタテーブル300の一部として、図39に一例を示す如き、ビーコン発信器対応テーブル313を記憶回路210に記憶している。
ビーコン発信器対応テーブル313は、検査機器ID及びビーコン発信器IDを互いに関連付けて記録している。ビーコン発信器IDは、各ビーコン発信器がそれぞれ初期設定として持つ固有のIDである。なお、ビーコン発信器IDは、固有のIDであればよいので、ビーコン発信器のIDを変更しても構わない。また、ビーコン発信器対応テーブル313は、そのビーコン発信器を配置する場所を表す情報として、ビーコン発信器IDとペアで検査機器IDを保持しておく。
次に、受診者管理テーブル401の受診者検知IDには、受診者に貸与する通信デバイスを識別するデバイス識別IDを保持しておく。ここで、通信デバイスとしては、例えば、iPad(登録商標)及びiPhone(登録商標)などの如き、通信機能と情報処理機能とを持つ携帯端末機などが適宜、使用可能となっている。また、通信デバイスの構成としては、受診者が携帯可能な小型装置であることが必須な点と、処理回路560が各機能561〜564を実行する点とを除き、図18等に述べる端末500と同様の回路構成をもっている。
通信デバイスは、受診者に携帯され、自デバイス上で動作し、自デバイスを識別するIDを設定等で保持する。通信デバイスは、ビーコン発信器が発信する電波を検知してビーコン発信器IDとの距離情報を取得した後、ビーコン発信器との距離に応じて、以下の処理を実行する。すなわち、通信デバイスは、ビーコン発信器との距離がImmediateまたはNearであれば、ビーコン発信器対応テーブル313に対してビーコン発信器IDを検索キーとして検索し検査機器IDを取得し、受診者管理テーブル401に対してデバイス識別IDを検索キーとして検索し受診者IDと受診者氏名を取得する。しかる後、通信デバイスは、検査機器別待ち行列管理テーブル403に対して、検査機器ID、受診日(当日)、受診者IDを検索キーとして検索し、該当レコードがなければ、検査機器ID、受診日(当日)、受診者ID、検査待ち状態=「初期:0」、登録日時=現在日時、更新日時=空文字、所在コード=検査機器ID、受診者氏名を新規登録する。該当レコードが存在していれば、更新日時=現在日時、所在コード=検査機器IDで更新する。
以上のような構成によれば、第1の実施形態と同様の効果を実現することができる。
また、第1の実施形態では、次検査項目の提示を、端末500上で動作する受診者受付機能561および検査進捗更新機能563で実施していた。
これに対し、第2の実施形態では、受診者が携帯する通信デバイスに、以下の機能(i)〜(iii)をもつ業務アプリケーションをインストールすることで、受診者に次の検査項目を提示してもよい。この場合、受診者自身で次検査項目を知ることができる。
(i)受診者別検査進捗管理テーブル402に対して、受診日=当日、受診者検知ID=デバイス識別IDを検索キーとして検索し、検査項目コード、検査状態、検査開始予定時刻、検査終了予定時刻を取得する機能。
(ii)検査項目テーブル302に対して検査項目コードを検索キーとして検索し検査項目名称を取得する機能。
(iii)取得結果に応じて、検査済みの検査項目と、未検査の検査項目一覧、次の検査項目、次の検査項目の検査開始予定時刻を表示する処理を定期的に実行する機能。
同様に、受診者が携帯する通信デバイスに、以下の機能(iv)をもつ業務アプリケーションをインストールすることで、受診者に待ち時間や順番の情報を提示してもよい。
(iv)検査機器別待ち行列管理テーブル403に対して、検査機器ID、受診日=当日を検索キーとして検索し、その検査項目の最新の待ち人数や受診者自身の検査実施順番(登録時刻の若い順でソートしたときの順番)を定期的に表示する処理を実行する機能。
これらの業務アプリケーションによる画面としては、例えば図40及び図41に示すように、次検査項目の表示画面G70及び検査済み履歴の表示画面G80などがある。次検査項目の表示画面G70は、主に、これから受ける検査項目が多い場合に参照する画面であり、待ち状況を含む次検査項目の情報を提示する。これに対し、検査済み履歴の表示画面G80は、主に、終了した検査項目が多い場合に参照する画面であり、検査済み履歴と、次検査項目の情報とを提示する。これら両画面G70,G80は、大きな文字で視認しやすい画面を提供する観点から、待ち状況に注目する場合には次検査項目の表示画面G70を用い、検査履歴に注目する場合には検査済み履歴の表示画面G80を用いるように、切り替えて使用される関係にある。
具体的には、次検査項目の表示画面G70は、図40に示すように、上部に受診者ID、受診者氏名、次の検査項目、検査開始予定時刻、次の検査までの現在時刻からの待ち時間を表示している。中段では、現在場所から次の検査項目までの移動時間、次の検査項目の待ち人数、検査標準時間、前準備時間を表示している。下段では、残りの検査項目数を表示している。
移動時間は、検査機器間の移動時間テーブル305を前回の検査項目の検査機器IDと次の検査項目の検査機器IDを検索キーとして検索することで取得できる。検査標準時間および前準備時間も、検査所要時間テーブル304を検索することで取得できる。なお、情報を更新する間隔(秒)は設定で自由に変えられるようにする。
一方、検査済み履歴の表示画面G80は、図41に示すように、上部に受診者ID、受診者氏名、次の検査項目、検査開始予定時刻、次の検査までの現在時刻からの待ち時間を表示している。中段では、検査済みの検査項目を表示している。下段では、現在場所から次の検査項目までの移動時間、次の検査項目の場所、を示している。
他方、図42に示すように、複数受診者の情報をリスト形式で表示画面G90に表示してもよい。
<第3の実施形態>
次に、第3の実施形態に係る受診者誘導システムについて説明する。
第3の実施形態は、第1の実施形態の変形例であり、次の検査項目として割り当てられた検査と異なる検査機器の検査待ち行列に受診者が登録された場合に、警告表示を行う形態である。補足すると、第3の実施形態では、受診者の自己判断又は迷子状態などの理由により、受診者が、指示された次の検査項目とは異なる検査機器のある場所に移動して検査票を提出する場合を想定している。受診者が指示と異なる次検査項目を受診する場合、全体最適の誘導が困難になるためである。
第3の実施形態の基本的な構成は、第1の実施形態と同じである。例えば、検査機器別待ち行列管理テーブル403は、検査機器ID、受診者ID、登録日時及び更新日時を対応付けて、検査待ち行列として記録している。検査待ち行列更新機能562は、検査に訪れた受診者の受診者IDに基づいて、当該検査待ち行列を登録又は更新する検査待ち行列更新機能を持っている。
処理回路560が実行する検査待ち行列更新機能562は、第1の実施形態に述べた機能に加え、第1警告表示機能をもっている。
第1警告表示機能は、第1割当機能により更新された推奨する検査機器IDと、検査待ち行列更新機能により更新された検査待ち行列内の検査機器IDとが異なる場合に、警告を表示する機能である。
以上のような構成によれば、処理回路560は、検査機器別待ち行列管理テーブル403の更新処理時に、受診者別検査進捗管理テーブル402に対して、受診日=当日、受診者ID、検査状態=「未検査:0」、検査開始予定時刻≠NULLを検索キーとして検索を実行する。当該検索結果に基づいて、処理回路560は、検査項目コードと検査開始予定時刻を取得する。
処理回路560は、その検査項目コード(a)と検査待ち行列更新用の端末500に係る検査項目コード(b)とが一致するかどうかを判断し、異なっている場合に正しい次検査項目(a)と検査開始予定時刻を含む警告メッセージとを表示回路550に表示する。当該表示に基づいて、施設の職員等は、当該受診者を正しい検査場所に誘導する。
警告メッセージ画面の表示中、施設の職員等が次検査修正ボタンを押下した場合、処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日=当日、受診者ID、検査項目コード(a)を検索条件として、検査開始予定時刻を空文字(NULL)に更新する。
処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日=当日、受診者ID、検査項目コード(b)を検索条件として、検査開始予定時刻に現在時刻を指定して更新する。
処理回路560は、検査機器別待ち行列管理テーブル403に対して、設定で保持している検査機器ID、受診日=当日、受診者IDの更新条件として、検査待ち状態=「検査票あり:2」、更新時刻=現在時刻、に更新する。
上述したように本実施形態によれば、検査に訪れた受診者の受診者識別情報(受診者ID)に基づいて、検査待ち行列を登録又は更新する。また、更新された推奨する検査機器識別情報(検査機器ID)と、更新された検査待ち行列内の検査機器識別情報とが異なる場合に、警告を表示する。
これにより、指示された次検査に受診者が移動しなかった場合にも、対応することができる。
<第4の実施形態>
次に、第4の実施形態に係る受診者誘導システムについて説明する。
第4の実施形態は、第1の実施形態の変形例であり、第3の実施形態とは異なり、検査開始予定時刻または検査開始予定時刻に対して所定の予備時間を引いた時刻になった受診者について、当該受診者の最新の所在を表示しながら警告表示を行う形態である。
これに伴い、各々の端末500は、図43に示すように、処理回路560が実行する機能として、受診者案内補助機能565を更に備えている。その他の構成は、第1の実施形態と同様である。
受診者案内補助機能565は、受診者が待合室や検査室周辺に待機している際に、効率的に次の検査を受診する受診者を誘導するための機能であり、検査機器に対応して配置された端末500上で動作する。すなわち、受診者案内補助機能565は、処理回路560が記憶回路530内のプログラムを読み出すことにより、実行される。
ここで、受診者案内補助機能565は、第3の実施形態における第1警告表示機能に代えて、第2警告表示機能として用いられる。このような受診者案内補助機能(第2警告表示機能)565は、検査開始予定時刻又は検査開始予定時刻から所定の予備時間を引いた時刻を過ぎても当該検査待ち行列が登録されない受診者IDがある場合、当該登録されない検査待ち行列とは異なる検査待ち行列のうち、最新の更新日時を含む検査待ち行列に基づいて、受診者の所在を含む警告を表示する機能である。
具体的には、端末500は、割り当てられた検査項目コードと検査機器IDを設定として記憶回路530に記憶している。
処理回路560は、受診者別検査進捗管理テーブル402に対して、受診日=当日、検査項目コード=当該設定記憶された検査項目コード、検査機器ID=当該設定記憶された検査機器ID、検査状態=「未検査:0」、検査開始予定時刻≠NULLの検索条件で検索を実行する。
さらに、処理回路560は、検査機器別待ち行列管理テーブル403に対して、検査機器ID=当該設定記憶された検査機器ID、受診日=当日を検索条件として検索を実行することにより、受診者IDと所在コードとを取得する。処理回路560は、受診者IDによる検索結果の関連付けを行い、検索結果を受診者ID及び検査開始予定時刻の昇順でソートとして、表示回路550(モニター)に一覧表示する。
当該検査開始待ち受診者一覧画面において、第5の処理回路501は、検査開始予定時刻と現在時刻との残り時間を計算し、当該残り時間が設定記憶された予備時間に比して小さい受診者について、受診者案内補助用端末50を操作する施設の職員等に警告を行う。当該警告としては、例えば、該当受診者の行の背景色を変える、背景色を一定間隔で変えて点滅させる、該当受診者の行の文字サイズや文字色を変える、検査室への誘導を促すメッセージダイアログを表示する、警告音を発する等が挙げられる。ただし、ここに挙げた警告は、例示であり、これらに限定されない。当該施設の職員等は、警告表示を確認することで、次の検査開始予定の迫った受診者を把握する。当該施設の職員等は、その受診者の最新の所在を知ることで、効率的に誘導を行う。なお、受診者案内補助機能に係る処理は定期的に実行され、その実行間隔は自在に変更可能に実施されることが好適である。
上述したように本実施形態によれば、検査開始予定時刻又は検査開始予定時刻から所定の予備時間を引いた時刻を過ぎても検査待ち行列が登録されない受診者識別情報(受診者ID)がある場合、登録されない検査待ち行列とは異なる検査待ち行列のうち、最新の更新日時を含む検査待ち行列に基づいて、受診者の所在を含む警告を表示する。
従って、受診者が待合室や検査室周辺に待機している際に、効率的に次の検査を受診する受診者を誘導することができる。
<第5の実施形態>
次に、第5の実施形態に係る受診者誘導システムについて説明する。
第5の実施形態は、第1の実施形態の変形例であり、第3の実施形態とは異なり、検査機器ごとの検査待ち行列の状況を一覧表示する形態である。
これに伴い、各々の端末500は、図44に示すように、処理回路560から表示制御可能な大型表示装置551と、処理回路560が実行する機能としての検査待ち行列表示機能566とを更に備えている。その他の構成は、第1の実施形態と同様である。
検査待ち行列表示機能566は、受診者が待合室や検査室周辺に待機している際に、大型表示装置551での表示により、受診者及び施設職員に、受診者の検査順番や検査待ち時間を提示する機能である。これにより、受診者は、指示と異なる検査場所に来ていないことを確認できる。また、施設職員に対しては、長時間、待たせている受診者の有無を確認させ、当該受診者を手動で適切な検査に誘導することを促す。
このような検査待ち行列表示機能566は、検査機器に対応して配置された端末500上で動作する。すなわち、検査待ち行列表示機能566は、処理回路560が記憶回路530内のプログラムを読み出すことにより、実行される。
ここで、検査待ち行列表示機能566は、第3の実施形態における第1警告表示機能に代えて用いられる。このような検査待ち行列表示機能566は、当該検査待ち行列に基づいて、検査機器IDに対応する検査項目、及び受診者IDを一覧表示する機能である。
具体的には端末500は、対応する検査機器の検査項目コードと検査機器IDを設定として記憶回路530に保持しており、大型表示装置551に定期的に検査待ち行列の内容を表示する。
ここで、処理回路560は、検査機器別待ち行列管理テーブル403に対して、受診日=当日、検査機器ID=設定で保持している検査機器ID、検査待ち状態=「登録済み:1」または「検査票あり:2」の検索条件で検索を実行する。
処理回路560は、検索結果として受診者ID、所在コード、登録日時、更新日時を取得し、登録日時の昇順にソートし、検査待ち状態=「検査票あり:2」と、待ち状態=「登録済み:1」については、背景色を変えて受診者IDを登録日時順に大型表示装置551にパネル表示する。
さらに、処理回路560は、現在時刻と登録日時との差を計算し、その差が所定の閾値(スレッシュホールド)を超えている場合には、当該受診者IDのパネルの外枠の色を定期的に変えて点滅(ブリンク)表示して、施設職員に警告表示する。
これにより、受診者は自分の検査順番を簡便に把握でき、検査順番を確認しつつ、トイレ、その他のことを安心して済ませることができる。また、処理回路560は、当該検査の検査標準時間(前準備時間を含む)を大型表示装置551に表示してもよく、必要に応じて検査項目名称や所在名称を大型表示装置551に表示しても構わない。
例えば、処理回路560は、図45に示すように、検査項目毎の受診者IDからなる検査待ち行列を大型表示装置551に表示してもよい。また、処理回路560は、図46及び図47に示すように、複数の検査項目の各々の受診者IDからなる検査待ち行列を大型表示装置551に表示してもよい。処理回路560は、これらの表示制御を定期的に実行しており、その実行間隔は設定などで変更可能となっている。
さらに、処理回路560は、前回の表示内容を保持しておき、今回の表示内容と比較し、両者の変化点がわかるように大型表示装置551に警告表示してもよい。図47に示す例では、受診者ID“1”,“7”について、パネルの外枠を3D表示させることにより、表示内容の変化点を示している。
上述したように本実施形態によれば、検査待ち行列に基づいて、検査機器識別情報(検査機器ID)に対応する検査項目、及び受診者識別情報(受診者ID)を一覧表示する。
これにより、受診者に対しては、指示と異なる検査場所に来ていないことを確認させることができる。また、施設職員に対しては、長時間、待たせている受診者の有無を確認させ、当該受診者を手動で適切な検査に誘導することを促すことができる。
<第6の実施形態>
次に、第6の実施形態に係る受診者誘導システムについて説明する。
第6の実施形態は、第1の実施形態の変形例であり、受診者が受付を済ませた後、予定された来院予定時刻になった受診者を警告表示し、施設職員が当該受診者に健診の開始を促す形態である。
これに伴い、各々の端末500は、図48に示すように、処理回路560が実行する機能としての健診開始警告機能567を更に備えている。その他の構成は、第1の実施形態と同様である。例えば、受診者管理テーブル401は、受診者ID、予定到着時刻及び到着時刻を対応付けて記録している。
健診開始警告機能567は、受付にて各受診者に対して、最初の検査への移動を制御して、全体の検査待ち時間を含む検査リードタイムを最適化するための機能である。受診者が健診実施施設に到着し受付完了後に自由に検査を開始してしまうと、かえって全体の検査待ち時間を増大させてしまう。このため、予約時に設定した各受診者の予定到着時刻を基準として、予定時刻に従い最初の検査に移動してもらい、全体の投入量を調整する必要がある。よって、健診開始警告機能567は、受付に配置された端末500上で動作する。すなわち、健診開始警告機能567は、処理回路560が記憶回路530内のプログラムを読み出すことにより、実行される。
ここで、健診開始警告機能567は、第3警告表示機能として用いられる。このような健診開始警告機能(第3警告表示機能)567は、予定到着時刻よりも前の到着時刻に対応付けられた受診者IDに基づき、現在時刻が予定到着時刻に到達すると、当該受診者IDを警告表示することにより、当該受診者IDの受診者に健診の開始を促す機能である。
処理回路560は、健診開始警告機能567の実行により、受診者管理テーブル401に対して、受診日=当日、到着時刻≠NULLを検索条件として検索し、その検索結果を到着予定時刻の昇順でソートして健診開始待ち受診者一覧として表示回路550に表示する。
処理回路560は、予定到着時刻と現在時刻との差を計算し、その差が所定の許容時間より小さくなると、健診開始待ち受診者一覧の該当受診者の行を表示回路550に警告表示する。これにより、施設職員が当該受診者に最初の検査への移動を促す。なお、処理回路560は、検査開始待ち受診者一覧画面上での警告表示に限らず、検査室への誘導を促すメッセージダイアログを表示回路550に表示してもよく、警告音を付加してもよい。
上述したように本実施形態によれば、予定到着時刻よりも前の到着時刻に対応付けられた受診者識別情報(受診者ID)に基づき、現在時刻が予定到着時刻に到達すると、当該受診者識別情報を警告表示することにより、当該受診者識別情報の受診者に健診の開始を促す。
これにより、受付にて各受診者に対して、最初の検査への移動を制御して、全体の検査待ち時間を含む検査リードタイムを最適化することができる。
<第7の実施形態>
次に、第7の実施形態に係る受診者誘導システムについて説明する。
第7の実施形態は、第1の実施形態の変形例であり、検査項目の中に予約検査が含まれている場合、予約検査の時刻と現在時刻との差を計算し、あらかじめ決められた時間内であれば、その予約検査を次の検査項目にする形態である。
これに伴い、各々の端末500は、図49に示すように、処理回路560が実行する機能としての予約検査時刻設定機能568を更に備えている。その他の構成は、第1の実施形態と同様である。例えば、受診者別検査進捗管理テーブル402は、検査項目、受診者ID、検査状態(検査進捗状態)、予約検査の有無、検査開始予定時刻、検査終了予定時刻及び検査能力を対応付けて記録している。
ここで、予約検査時刻設定機能(第2割当機能)568は、予約検査がある検査項目について、予約検査の検査開始予定時刻と現在時刻との差を計算し、この計算結果が所定の時間内の場合、検査能力を所定の最大値に設定することにより、当該予約検査を次の検査項目に割り当てる機能である。この予約検査時刻設定機能568は、処理回路560が記憶回路530内のプログラムを読み出すことにより、実行される。
なお、第7の実施形態における次検査項目割当機能564は、第1の実施形態に述べた機能に加え、予約検査に対応可能となっている。ここでいう予約検査は、健診実施施設が医療機関に隣接して設置され、医療機関側の検査機器を使用して検査を行う運用を行い、医療機関側の検査機器を使用できる検査時間(検査開始時刻)が予め設定されていることを指している。従って、医療機関側の検査機器を使用する場合には、その検査機器の検査開始時刻を優先させる必要がある。
処理回路560は、予約検査時刻設定機能568の実行により、受診者別検査進捗管理テーブル402に対して、受診日=当日、予約検査=有の検索条件で検索を行い、受診者IDの一覧を示す予約検査一覧画面を表示回路550に表示する。
予約検査一覧画面の表示中、処理回路560は、医療機関側で確保した検査予約時間をもとに、受診者ごとに受診者ID、検査項目コード、検査開始予定時刻、検査終了予定時刻を入力して、最優先であることを明確にするために検査能力に“2”を自動設定する。しかる後、処理回路560は、施設職員等による更新ボタンの押下操作に応じて、自動設定内容に基づいて、受診者別検査進捗管理テーブル402に対して更新作業を行う。
このような予約検査時刻設定機能568は、図50に破線で示すように、前述した次検査項目割当機能564のループ4におけるステップST64−1とステップST64−2との間の処理に対応する。すなわち、予約検査時刻設定機能568は、ステップST64−1とステップST64−2との間に実行されるステップ64−1a〜ST64−1cに対応する。これに伴い、前述したステップST64−2の説明の冒頭「ステップST64−1の後」は、「ステップST64−1a〜ST64−1cの後」と読み替える。
(ステップST64−1a)
ステップST64−1の後、処理回路560は、受診者別検査進捗管理テーブル402に対して、未検査項目コード、受診日=当日、予約検査=有の検索条件で検索を行い、未検査項目コードの予約検査があるか否かを判定する。判定の結果、否の場合にはステップST64−2に進み、予約検査がある場合にはステップST64−1bに進む。
(ステップST64−1b)
ステップST64−1aの後、処理回路560は、ステップST64−1aの検索結果に基づいて、検査項目コードの予約検査=有で検査開始予定時刻と現在時刻との差があらかじめ設定された閾値(スレッシュホールド)より小さいか否かを判定する。判定の結果、否の場合にはステップST64−2に進み、閾値より小さい場合にはステップST64−1cに進む。
(ステップST64−1c)
ステップST64−1bの後、処理回路560は、検査項目コードの予約検査=有で検査開始予定時刻と現在時刻との差が所定の閾値より小さい場合の検査機器IDを推奨検査機器IDとして、ループ4を抜けて呼出し元に戻る。具体的には、当該時刻の差が所定の閾値より小さい場合の検査機器IDに対応する検査能力に最大値を設定することにより、当該検査機器IDを推奨検査機器IDとする。
このようなステップST64−1a〜ST64−1cによれば、予約検査がある検査項目について、予約検査の検査開始予定時刻と現在時刻との差を計算し、この計算結果が所定の時間内の場合、検査能力を所定の最大値に設定することにより、当該予約検査を次の検査項目に割り当てることができる。
これに加え、検査進捗更新機能563では、予約検査であることが分かるように、次検査を提示する画面に、“予約”を追加して警告表示してもよい。この場合、“予約”を示す警告表示により、施設職員に注意を喚起することができる。
上述したように本実施形態によれば、予約検査がある検査項目について、予約検査の検査開始予定時刻と現在時刻との差を計算し、この計算結果が所定の時間内の場合、検査能力を所定の最大値に設定することにより、当該予約検査を次の検査項目に割り当てる。
これにより、例えば、健診実施施設が医療機関に隣接して設置され、且つ医療機関側の検査機器を使用して検査を行う場合には、医療機関側の検査機器の検査開始時刻を優先させることができる。
以上説明した少なくとも一つの実施形態によれば、検査項目毎に、検査時間、検査機器識別情報(検査機器ID)の個数及び受診者識別情報(受診者ID)の個数に基づき、全受診者の検査に要する必要検査時間を算出する。また、当該必要検査時間のうち、最大の必要検査時間をもつ検査項目(ボトルネック検査の検査項目)を選択する。さらに、当該選択された検査項目に対応付けられた検査時間及び検査機器識別情報の個数に基づき、受診者を検査に誘導する時間間隔(ピッチ)を算出する。しかる後、当該時間間隔を示す情報を出力することにより、受診者の検査への誘導を促す。
これにより、受診者の検査待ち時間を減少させることができる。
上記説明において用いた「プロセッサ」という文言は、例えば、CPU(central processing unit)、GPU (Graphics Processing Unit)、或いは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC))、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等の回路を意味する。プロセッサは記憶回路に保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。なお、本実施形態の各プロセッサは、プロセッサごとに単一の回路として構成される場合に限らず、複数の独立した回路を組み合わせて1つのプロセッサとして構成し、その機能を実現するようにしてもよい。さらに、図1、図2、図18、図43、図44、図48、図49における複数の構成要素を1つのプロセッサへ統合してその機能を実現するようにしてもよい。
第1の実施形態における検査所要時間テーブル304及び記憶回路210は、特許請求の範囲における検査時間記憶手段の一例である。第1の実施形態における検査機器設備テーブル303及び記憶回路210は、特許請求の範囲における検査機器記憶手段の一例である。第1の実施形態における受診者別検査進捗管理テーブル402及び記憶回路210は、特許請求の範囲における受診者記憶手段の一例である。
第1の実施形態におけるボトルネック検査算出機能221及び処理回路220は、特許請求の範囲における必要検査時間算出手段及び選択手段の一例である。第1の実施形態における表示回路550は、特許請求の範囲における出力手段の一例である。
第1の実施形態における検査項目テーブル302及び記憶回路210は、特許請求の範囲における制約条件記憶手段の一例である。第1の実施形態における次検査項目割当機能564及び処理回路560は、特許請求の範囲における検査能力算出手段、導出手段及び第1割当手段の一例である。
第3の実施形態における検査機器別待ち行列管理テーブル403及び記憶回路210は、特許請求の範囲における検査待ち行列記憶手段の一例である。第3の実施形態における検査待ち行列更新機能562及び処理回路560は、特許請求の範囲における検査待ち行列更新手段の一例である。第3の実施形態における表示回路550、検査待ち行列更新機能562及び処理回路560は、特許請求の範囲における第1警告表示手段の一例である。
第4の実施形態における表示回路550、受診者案内補助機能565及び処理回路560は、特許請求の範囲における第2警告表示手段の一例である。
第5の実施形態における大型表示装置551、検査待ち行列表示機能566及び処理回路560は、特許請求の範囲における検査待ち行列表示手段の一例である。
第6の実施形態における受診者管理テーブル401及び記憶回路210は、特許請求の範囲における予定到着時刻記憶手段の一例である。第6の実施形態における表示回路550、健診開始警告機能567及び処理回路560は、特許請求の範囲における第3警告表示手段の一例である。
第7の実施形態における予約検査時刻設定機能568及び処理回路560は、特許請求の範囲における第2割当手段の一例である。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。