(57)【特許請求の範囲】
【請求項１】
サービスを予約した利用者である、１以上の予約利用者ごとの、当日の予約時刻、サービスの所要時間、開始時刻及び終了時刻を含む予約データを記憶し、予約なしに当日受け付けた利用者である当日利用者を、前記予約利用者の間及び前後のうち、いずれか１つに割り当てたサービス順序を決定する装置であって、
前記当日利用者の受付時刻及びサービスの所要時間を取得する手段と、
前記サービス順序ごとに、前記当日利用者の前記開始時刻として、前記受付時刻又は１つ前の前記予約利用者の終了時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出する手段と、
前記サービス順序ごとに、前記当日利用者より後の前記予約利用者の前記開始時刻として、当該予約利用者の予約時刻及び１つ前の利用者の終了時刻のうち、遅い方の時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出する手段と、
前記サービス順序ごとに、前記当日利用者の前記開始時刻から前記受付時刻を減算して、前記当日利用者の待ち時間を算出する手段と、
前記サービス順序ごとに、前記予約利用者の前記開始時刻から前記予約時刻を減算して、前記予約利用者の待ち時間を算出する手段と、
前記サービス順序ごとに、前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算する手段と、
前記当日利用者の待ち時間が前記予約利用者の待ち時間より大きいサービス順序を対象として、前記待ち時間の標準偏差が最小になる前記サービス順序を選択する手段と、
を備えることを特徴とするサービス順序決定装置。
【請求項２】
請求項１に記載のサービス順序決定装置であって、
前記サービス順序を選択する手段は、
前記当日利用者の待ち時間が、前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間より大きいサービス順序を対象とする
ことを特徴とするサービス順序決定装置。
【請求項３】
請求項２に記載のサービス順序決定装置であって、
前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算する手段は、
前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間を用いる
ことを特徴とするサービス順序決定装置。
【請求項４】
サービスを予約した利用者である、１以上の予約利用者ごとの、当日の予約時刻、サービスの所要時間、開始時刻及び終了時刻を含む予約データを記憶したコンピュータが、予約なしに当日受け付けた利用者である当日利用者を、前記予約利用者の間及び前後のうち、いずれか１つに割り当てたサービス順序を決定する方法であって、
前記コンピュータは、
前記当日利用者の受付時刻及びサービスの所要時間を取得するステップと、
前記サービス順序ごとに、前記当日利用者の前記開始時刻として、前記受付時刻又は１つ前の前記予約利用者の終了時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出するステップと、
前記サービス順序ごとに、前記当日利用者より後の前記予約利用者の前記開始時刻として、当該予約利用者の予約時刻及び１つ前の利用者の終了時刻のうち、遅い方の時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出するステップと、
前記サービス順序ごとに、前記当日利用者の前記開始時刻から前記受付時刻を減算して、前記当日利用者の待ち時間を算出するステップと、
前記サービス順序ごとに、前記予約利用者の前記開始時刻から前記予約時刻を減算して、前記予約利用者の待ち時間を算出するステップと、
前記サービス順序ごとに、前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算するステップと、
前記当日利用者の待ち時間が前記予約利用者の待ち時間より大きいサービス順序を対象として、前記待ち時間の標準偏差が最小になる前記サービス順序を選択するステップと、
を実行することを特徴とするサービス順序決定方法。
【請求項５】
請求項４に記載のサービス順序決定方法であって、
前記サービス順序を選択するステップは、
前記当日利用者の待ち時間が、前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間より大きいサービス順序を対象とする
ことを特徴とするサービス順序決定方法。
【請求項６】
請求項５に記載のサービス順序決定方法であって、
前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算するステップでは、
前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間を用いる
ことを特徴とするサービス順序決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予約済の利用者の間又は前後に当日受付の利用者を割り当てる際のサービス順序を決定する装置及びその方法に関する。
【背景技術】
【０００２】
病院、美容院、飲食店等で発生する客の待ち時間を短縮するために、各客にサービスを提供する順序を最適化する手法が提案されている。  
特許文献１には、サービス順序の作成において、予約の空き時間に予約なしの当日客を割り当てる際、割り当てる空き時間が小さい場合は、各空き時間に強制的に割り当てた場合の各客の合計待ち時間を算出し、合計待ち時間が最小となる空き時間に当日客を割り当てるサービス時間割当方法及びその装置が開示されている。特許文献２には、サービス順序を決定する際、顧客間でサービス処理手順が共通し、並行処理可能な手順がある場合は、並行処理できるように順序を作成する待ち時間制御システム及びその方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１４３１１０号公報
【特許文献２】特開２０１０−７９４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１及び２の技術は、全体の待ち時間が最小となるようにサービス順序を決定するものである。この際、待ち時間に所定の重み付け関数を用いて、待ち時間を増減させ、サービス順序を決定する際の優先度合いを調整している。例えば、当初の順序では最優先されていた、予約客や受付順の早い客の待ち時間が増加する場合に、増加分に重み付けを持たせることにより、それらの客へのサービスを優先的に行う。ただし、この重み付け関数は最適なサービス順序の作成に大きく影響するが、重み付け関数やその係数は試行錯誤により決定されている。  
この場合、予約客の待ち時間が当日受付の客の待ち時間より長くなることもあり、そういった客には不公平感が生じる。一方、当日受付の客にしても、あまりにも待ち時間が長い場合には、不満が生じる。
【０００５】
本発明は、上記課題を鑑みてなされたものであり、その主たる目的は、サービスの利用者の間で不公平感が生じないようにサービス順序を決定することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、サービスを予約した利用者である、１以上の予約利用者ごとの、当日の予約時刻、サービスの所要時間、開始時刻及び終了時刻を含む予約データを記憶し、予約なしに当日受け付けた利用者である当日利用者を、前記予約利用者の間及び前後のうち、いずれか１つに割り当てたサービス順序を決定する装置（サービス順序決定装置）であって、前記当日利用者の受付時刻及びサービスの所要時間を取得する手段と、前記サービス順序ごとに、前記当日利用者の前記開始時刻として、前記受付時刻又は１つ前の前記予約利用者の終了時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出する手段と、前記サービス順序ごとに、前記当日利用者より後の前記予約利用者の前記開始時刻として、当該予約利用者の予約時刻及び１つ前の利用者の終了時刻のうち、遅い方の時刻を設定し、設定した前記開始時刻に前記所要時間を加算して前記終了時刻を算出する手段と、前記サービス順序ごとに、前記当日利用者の前記開始時刻から前記受付時刻を減算して、前記当日利用者の待ち時間を算出する手段と、前記サービス順序ごとに、前記予約利用者の前記開始時刻から前記予約時刻を減算して、前記予約利用者の待ち時間を算出する手段と、前記サービス順序ごとに、前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算する手段と、前記当日利用者の待ち時間が前記予約利用者の待ち時間より大きいサービス順序を対象として、前記待ち時間の標準偏差が最小になる前記サービス順序を選択する手段と、を備えることを特徴とする。
この構成によれば、１以上の予約利用者の間又は前後に当日利用者を割り当てたサービス順序のうち、各利用者の待ち時間の標準偏差が最小になるサービス順序を選択することにより、利用者間における待ち時間のばらつきが少なくなるので、利用者間の不公平感の解消が図ることができる。
【０００７】
また、当日利用者の待ち時間がすべての予約利用者の待ち時間より大きいものを候補とするので、特に、予約利用者の当日利用者に対する不公平感の解消を図ることができる。
【０００８】
また、本発明の上記サービス順序決定装置において、前記サービス順序を選択する手段が、前記当日利用者の待ち時間が前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間より大きいサービス順序を対象とすることとしてもよい。  
この構成によれば、当日利用者の待ち時間はそのままで、予約利用者の待ち時間に重み付けを行うことにより、予約利用者の待ち時間が当日利用者の待ち時間に比べて相当短くなるサービス順序を候補とするので、さらに予約利用者の当日利用者に対する不公平感の解消を図ることができる。
【０００９】
また、本発明の上記サービス順序決定装置において、前記当日利用者及び前記予約利用者の待ち時間の標準偏差を計算する手段が、前記予約利用者の待ち時間に１より大きい重み付け係数を乗算した時間を用いることとしてもよい。  
この構成によれば、待ち時間の標準偏差を計算した後、その標準偏差が最小になるサービス順序を選択するので、当日利用者の待ち時間及び予約利用者の重み付け待ち時間のばらつきが最も小さい順序を決めることになる。これによれば、当日利用者の待ち時間（実際の待ち時間と同じ）と、予約利用者の重み付け待ち時間（実際の待ち時間より大きい）との差分が小さいということであり、実際の待ち時間に関して言えば、予約利用者の方が当日利用者より小さくなるサービス順序が決まるので、さらに予約利用者の当日利用者に対する不公平感の解消を図ることができる。
【００１０】
なお、本発明は、サービス順序決定方法を含む。その他、本願が開示する課題及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１１】
本発明によれば、サービスの利用者の間で不公平感が生じないようにサービス順序を決定することができる。
【図面の簡単な説明】
【００１２】
【図１】サービス順序決定装置１のハードウェア構成を示す図である。
【図２】サービス順序決定装置１の記憶部１５に記憶される患者データベース１５Ａの構成を示す図である。
【図３】サービス順序決定装置１の記憶部１５に記憶される待ち患者テーブル１５Ｂの構成を示す図である。
【図４】サービス順序決定装置１が診察当日の患者データベース１５Ａを作成する処理を示すフローチャートである。
【図５】サービス順序決定装置１が患者の待ち時間を短縮するための処理を示すフローチャートである。
【図６Ａ】サービス順序決定装置１が最適診察順序を計算する処理を示すフローチャート（１／２）である。
【図６Ｂ】サービス順序決定装置１が最適診察順序を計算する処理を示すフローチャート（２／２）である。
【図７】待ち患者テーブル１５Ｂの具体例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本発明を実施するための形態を説明する。本発明の実施の形態に係るサービス順序決定装置は、予約済の利用者のサービス時間の間又は前後に、当日受付の利用者のサービス時間を割り当てる際に、各割り当て位置の中で、当日受付利用者の待ち時間がすべての予約済利用者の待ち時間より大きい位置を抽出し、その抽出した位置の中で、各利用者の待ち時間の標準偏差が最小になる位置を特定し、その特定した位置に当日受付利用者のサービス時間を割り当てるものである。これによれば、利用者間における不公平感の軽減を図ることができる。以下では、提供されるサービスとして、病院における患者の診察を例にして説明する。
【００１４】
≪装置の構成と概要≫
図１は、サービス順序決定装置１のハードウェア構成を示す図である。サービス順序決定装置１は、通信部１１、表示部１２、入力部１３、処理部１４及び記憶部１５を備え、各部がバス１６を介してデータを送受信可能なように接続されている。通信部１１は、ネットワークを介して他の装置とＩＰ（Internet Protocol）通信等を行う部分であり、例えば、ＮＩＣ（Network Interface Card）等によって実現される。表示部１２は、処理部１４からの指示によりデータを表示する部分であり、例えば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）等によって実現される。入力部１３は、オペレータがデータ（例えば、患者の診察順序を確認する際に、診察室を指定するためのデータ）を入力する部分であり、例えば、キーボードやマウス等によって実現される。処理部１４は、所定のメモリを介して各部間のデータの受け渡しを行うととともに、サービス順序決定装置１全体の制御を行うものであり、ＣＰＵ（Central Processing Unit）が所定のメモリに格納されたプログラムを実行することによって実現される。記憶部１５は、処理部１４からデータを記憶したり、記憶したデータを読み出したりするものであり、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の不揮発性記憶装置によって実現される。なお、サービス順序決定装置１は、病院の事務局等に設置されるが、スタンドアロンの装置（ＰＣ（Personal Computer）等）であってもよいし、ネットワークを介して複数の端末と通信可能な装置（サーバ等）であってもよい。
【００１５】
≪データの構成≫
図２及び３は、サービス順序決定装置１の記憶部１５に記憶されるデータの構成を示す図である。図２は、患者データベース１５Ａの構成を示す。患者データベース１５Ａは、病院の診療科における診察室及び診察日ごとに、患者の診察に関する予定データ及び実績データを蓄積したものであり、患者ＩＤ１５Ａ１、予約時刻１５Ａ２、受付時刻１５Ａ３、診察時間１５Ａ４、開始時刻１５Ａ５、終了時刻１５Ａ６及び待ち時間１５Ａ７を含む、患者ごとのレコードからなる。患者ＩＤ１５Ａ１は、当該診察室において当該診察日に診察を受ける（又は、受けた）患者に固有のＩＤである。予約時刻１５Ａ２が、前日までに予約済の患者の場合に、当該患者が予約した診察の開始時刻を示す。受付時刻１５Ａ３は、予約なしに当日来院した患者の場合に、当該患者を受け付けた時刻を示す。診察時間１５Ａ４は、患者の診察にかかる時間の予測値又は実績値を示す。開始時刻１５Ａ５は、患者の診察開始時刻の予測値又は実績値を示す。終了時刻１５Ａ６は、患者の診察終了時刻の予測値又は実績値を示し、開始時刻１５Ａ５に診察時間１５Ａ４を加算することにより算出され、設定される。待ち時間１５Ａ７は、患者が診察を待つ予定の（又は、実際に待った）時間を示し、予約済患者の場合、［開始時刻１５Ａ５−予約時刻１５Ａ２］により算出、設定され、当日受付患者の場合、［開始時刻１５Ａ５−受付時刻１５Ａ３］により算出、設定される。なお、患者データベース１５Ａは、診察室ごとに限らず、担当医師や医療設備ごとに患者の予定データ及び実績データを蓄積したものであってもよい。
【００１６】
図３は、待ち患者テーブル１５Ｂの構成を示す。待ち患者テーブル１５Ｂは、患者データベース１５Ａから診察順序の確定した待ち患者の予定データを抽出したものであり、患者ＩＤ１５Ｂ１、予約時刻１５Ｂ２、受付時刻１５Ｂ３、診察時間１５Ｂ４、開始時刻１５Ｂ５、終了時刻１５Ｂ６、待ち時間１５Ｂ７、待ち時間１５Ｂ８及び重み付け待ち時間１５Ｂ９を含む、患者ごとのレコードからなる。患者ＩＤ１５Ｂ１〜待ち時間１５Ｂ７は、患者データベース１５Ａの患者ＩＤ１５Ａ１〜待ち時間１５Ａ７と同様である。待ち時間１５Ｂ８は、時分単位である待ち時間１５Ｂ７を分単位に変換したものである。重み付け待ち時間１５Ｂ９は、待ち時間１５Ｂ８に重み付け係数を掛けたものであり、例えば、予約済患者の重み付け係数は１．５とし、当日受付患者の重み付け係数は１とする。これにより、実際の予約済患者の待ち時間が当日受付患者の待ち時間より相当小さくなるように、患者の待ち時間を比較、評価することができる。
【００１７】
≪装置の処理≫
図４〜図６（図６Ａ、図６Ｂ）は、サービス順序決定装置１の処理を示すフローチャートである。本処理は、サービス順序決定装置１において、主として処理部１４が記憶部１５のデータを参照、更新しながら、患者データベース１５Ａを作成し、患者データベース１５Ａから待ち患者テーブル１５Ｂを作成し、待ち患者テーブル１５Ｂを用いて各患者の最適なサービス順序を決定するものである。
【００１８】
図４は、対象となる診察日当日の患者データベース１５Ａを作成する処理を示す。まず、サービス順序決定装置１は、診察日前日のバッチ処理を行う（Ｓ４０１）。詳細には、最初に、患者ＩＤ及び予約時刻を含む予約データを取り込む。予約データは、バッチ処理の開始時刻までに受け付けた、診察日当日の診察予約に関するデータであり、他の装置に記憶されているデータをネットワーク経由で通信部１１により受信してもよいし、記憶部１５に記憶されているデータをワークメモリに読み出してもよい。次に、予約済患者ごとの診察時間を予測し、ワークメモリに設定する。診察時間を予測する方法については、過去の実績データの平均値や最頻値等を計算する統計的な方法でもよいし、特許第４１９４５７３号公報の［００７２］や特許第４２１７６８９号公報の段落［００８０］に開示された方法でもよい。
【００１９】
そして、患者ＩＤ、予約時刻及び診察時間からなるレコードを予約時刻の早い順及び診察時間の小さい順に並べ替える。続いて、予約時刻、診察時間及び各レコードの順序に基づいて、患者ごとの開始時刻、終了時刻及び待ち時間を特定し、各レコードに追加する。そのとき、開始時刻は、予約時刻又は１つ前の患者の終了時刻により決まる。終了時刻は、開始時刻に診察時間を加算することにより算出される。待ち時間は、開始時刻から予約時刻を減算することにより算出される。さらに、患者ＩＤ、予約時刻、診察時間、開始時刻、終了時刻及び待ち時間が確定した各レコードを患者データベース１５Ａへの追加分として記憶部１５に記憶する。以上のバッチ処理により、予約データから患者データベース１５Ａの予定データが設定される。
【００２０】
次に、診察日当日になると、サービス順序決定装置１は、当日に発生するイベントを監視する。詳細には、所定時間の間隔を空けながら、Ｓ４０３及びＳ４０４の処理を監視終了まで繰り返すことになる（Ｓ４０２〜Ｓ４０５）。まず、当日のイベントが発生したか否かを確認する（Ｓ４０３）。イベントには、当日受付、診察開始及び診察終了があるが、イベントが発生したときには、患者ＩＤ及びイベント時刻を含むイベントデータが通信部１１により受信されるか、又は、入力部１３により取得される。当日のイベントが発生していなければ（Ｓ４０３のＮＯ）、確認を繰り返す（Ｓ４０３）。
【００２１】
当日のイベントが発生していれば（Ｓ４０３のＹＥＳ）、サービス順序決定装置１は、イベントデータを取得し、記憶部１５の患者データベース１５Ａに、対応する患者のレコード又は更新すべきデータを書き込む（Ｓ４０４）。当日受付の場合、新規受付患者の患者ＩＤ１５Ａ１及び受付時刻１５Ａ３を含むレコードを新規に追加する。診察開始の場合、該当する患者ＩＤ１５Ａ１のレコードに開始時刻１５Ａ５及び待ち時間１５Ａ７の実績値を設定する。診察終了の場合、該当する患者ＩＤ１５Ａ１のレコードに終了時刻１５Ａ６及び診察時間１５Ａ４の実績値を設定する。
【００２２】
図５は、患者の待ち時間を短縮するための処理を示す。本処理は、診察当日に、診察室ごとに、診察業務が実施されている最中に行われる。サービス順序決定装置１は、最初に診察室を選択する（Ｓ５０１）。そして、所定時間の間隔を空けながら、当該診察室に関してＳ５０３〜Ｓ５０７の処理を診察業務終了まで繰り返すことになる（Ｓ５０２〜Ｓ５０８）。
【００２３】
まず、サービス順序決定装置１は、記憶部１５の患者データベース１５Ａから、診察順序確定済の待ち患者のレコードを抽出し、待ち患者テーブル１５Ｂを作成する（Ｓ５０３）。診察順序確定済の待ち患者とは、前日までの予約済患者及びＳ５０７により診察順序の確定した患者が対象となる。そして、１回目の処理では、待ち患者テーブル１５Ｂを新規に作成し、記憶部１５に記憶する。２回目以降の処理では、その時点で新たな診察順序確定済の待ち患者がいるときに、当該患者のレコードを記憶部１５の待ち患者テーブル１５Ｂに追加する。次に、予約外の新規受付患者がいるか否かを判定する（Ｓ５０４）。新規の受付患者がいるときには、患者データベース１５Ａに患者ＩＤ１５Ａ１及び受付時刻１５Ａ３だけが有効なレコードが記憶されている。新規の受付患者がいなければ（Ｓ５０４のＮＯ）、Ｓ５０５〜Ｓ５０７の処理をスキップする。
【００２４】
新規の受付患者がいれば（Ｓ５０４のＹＥＳ）、サービス順序決定装置１は、新規受付患者の診察時間を予測し、予測した診察時間を患者ＩＤ及び受付時刻とともにワークメモリに設定する（Ｓ５０５）。診察時間を予測する方法については、過去の実績データの平均値や最頻値等を計算する統計的な方法でもよいし、特許第４１９４５７３号公報の［００７２］や特許第４２１７６８９号公報の段落［００８０］に開示された方法でもよい。そして、待ち患者テーブル１５Ｂを用いて、診察順序確定済の待ち患者のうち、どの患者の間に新規受付患者を割り当てるべきか、すなわち、最適診察順序を計算するサブルーチンをコールする（Ｓ５０６）。サブルーチンの処理の詳細は、後記する。その最適診察順序の計算により、新規受付患者の診察順序が確定する（Ｓ５０７）。このとき、確定した診察順序のデータを表示部１２に表示してもよいし、通信部１１により他の装置に送信してもよい。
【００２５】
なお、以上の処理では、診察室を選択し、その診察室ごとに新規受付患者を監視するように説明したが、各診察室に係る患者を新規に受け付けたときに、当該診察室に関するＳ５０５〜Ｓ５０７の処理タスクが生成され、動作するようにしてもよい。
【００２６】
図６Ａ及び図６Ｂは、最適診察順序の計算処理を示す。本処理は、図５のＳ５０６においてコールされるサブルーチンの処理であり、待ち患者テーブル１５Ｂに対して新規受付患者を配置すべき位置を決めるものである。以下、図３及び図７の待ち患者テーブル１５Ｂの具体例を参照しながら、説明する。
【００２７】
図６Ａを参照すると、サービス順序決定装置１は、最初に、待ち患者テーブル１５Ｂの患者数をカウントし、変数ｍに代入する（Ｓ６０１）。図３の例によれば、変数ｍには５が代入される。なお、変数ｍは、サービス順序決定装置１のワークメモリ上に確保される。次に、変数ｊを０からｍまで変更しながら、Ｓ６０３〜Ｓ６１１の処理を繰り返す（Ｓ６０２〜Ｓ６１２）。
【００２８】
まず、サービス順序決定装置１は、待ち患者テーブル１５Ｂのｊ番目とｊ＋１番目のレコードの間に新規受付患者のレコードを配置し、そのときの全体の配置を順序パターンｊとする（Ｓ６０３）。次に、待ち患者テーブル１５Ｂの各患者の開始時刻１５Ｂ５及び終了時刻１５Ｂ６を計算し、設定する（Ｓ６０４）。
【００２９】
ｊ＝０の場合、すなわち、図７（ａ）を例にして説明すると、新規受付患者Ａのレコードを待ち患者テーブル１５Ｂの先頭に配置する際には、新規受付患者Ａの開始時刻は、受付時刻９：００になり、新規受付患者Ａの終了時刻は、開始時刻９：００に診察時間０：１５を加算した時刻９：１５になる。次の患者１の開始時刻は、その患者１の予約時刻９：００及び１つ前の患者Ａの終了時刻９：１５のうち、早くない（遅い又は同じ）方の時刻９：１５になり、その患者１の終了時刻は、開始時刻９：１５に診察時間０：１０を加算した時刻９：２５になる（以下、同様）。
【００３０】
ｊ＝２の場合、すなわち、図７（ｃ）を例にして説明すると、新規受付患者Ａのレコードを待ち患者テーブル１５Ｂの患者２と３の間に配置する際には、新規受付患者Ａの開始時刻は、患者２の終了時刻９：３０になり、新規受付患者Ａの終了時刻は、開始時刻９：３０に診察時間０：１５を加算した時刻９：４５になる。次の患者３の開始時刻は、その患者３の予約時刻９：３０及び１つ前の患者Ａの終了時刻９：４５のうち、早くない（遅い又は同じ）方の時刻９：４５になり、その患者３の終了時刻は、開始時刻９：４５に診察時間０：１４を加算した時刻９：５９になる（以下、同様）。
【００３１】
ｊ＝５の場合、すなわち、図７（ｆ）を例にして説明すると、新規受付患者Ａのレコードを待ち患者テーブル１５Ｂの末尾に配置する際には、新規受付患者Ａの開始時刻は、最後（１つ前）の予約済患者の終了時刻１０：２２になり、新規受付患者の終了時刻は、開始時刻１０：２２に診察時間０：１５を加算した時刻１０：３７になる。
【００３２】
続いて、サービス順序決定装置１は、待ち患者テーブル１５Ｂの各患者の待ち時間１５Ｂ７を計算し、設定する（Ｓ６０５）。予約済患者の待ち時間は、開始時刻から予約時刻を減算した時間になる。当日受付患者の待ち時間は、開始時刻から受付時刻を減算した時間になる。このとき、時分単位の待ち時間１５Ｂ７を、分単位の待ち時間１５Ｂ８に変換しておく。そして、各患者の待ち時間１５Ｂ８の標準偏差ＳＴＤを計算し、ワークメモリに設定する（Ｓ６０６）。
【００３３】
さらに、サービス順序決定装置１は、フラグＦをワークメモリに確保し、フラグＦに０を代入する（Ｓ６０７）。フラグＦは、順序パターンｊごとに設定され、当該順序パターンｊを最適順序の候補にする際には０が代入され、当該順序パターンｊを最適順序の候補から外す際には１が代入される。次に、変数ｉを１からｍまで変更しながら、Ｓ６０９の判定処理を繰り返す（Ｓ６０８〜Ｓ６１０）。変数ｉは、サービス順序決定装置１のワークメモリ上に確保される。判定処理では、新規受付患者の待ち時間がｉ番目の患者（予約済患者及び先に受け付けた患者）の待ち時間より小さいか否かを確認する（Ｓ６０９）。小さくなければ（Ｓ６０９のＮＯ）、次の患者について確認する（Ｓ６０９）。小さければ（Ｓ６０９のＹＥＳ）、フラグＦに１を代入し（Ｓ６１１）、次の配置（順序パターン）に関する処理を行う（Ｓ６０３）。また、新規受付患者の待ち時間がすべての患者の待ち時間より小さくなければ（Ｓ６０９の判定が毎回ＮＯのとき）、フラグＦはＳ６０７で代入した０のままになる。
【００３４】
これによれば、新規受付患者の待ち時間がすべての患者の待ち時間より小さくなければ、当該順序パターンｊは最適順序の候補になる。逆に言えば、新規受付患者の待ち時間が少なくとも１名の患者の待ち時間よりも小さければ、当該順序パターンｊは最適順序の候補から外されることになる。
【００３５】
以上により、各順序パターンに関して、各患者の待ち時間の標準偏差ＳＴＤ及びフラグＦが設定される。図７の例では、患者Ａの待ち時間が患者１〜５のいずれの待ち時間より大きい（ｃ）、（ｄ）、（ｅ）及び（ｆ）の順序パターンが最適順序の候補になり、フラグＦに０が設定される。
【００３６】
続いて、図６Ｂを参照すると、サービス順序決定装置１は、標準偏差ＳＴＤとして想定されない大きい数値（例えば、１００００等の数値）を最小値の格納用変数ＳＴＤｍｉｎに格納し、最適順序パターンの格納用変数Ｐを確保する（Ｓ６１３）。そして、変数ｊを０からｍまで変更しながら、Ｓ６１５〜Ｓ６１７の処理を繰り返す（Ｓ６１４〜Ｓ６１８）。まず、順序パターンｊのフラグＦが０か否かを判定する（Ｓ６１５）。フラグＦが０でない、すなわち、１であれば（Ｓ６１５のＮＯ）、順序パターンｊは候補ではないので、Ｓ６１６及びＳ６１７の処理をスキップして、次の順序パターンｊに関する判定処理を行う（Ｓ６１５）。
【００３７】
フラグＦが０であれば（Ｓ６１５のＹＥＳ）、順序パターンｊにおける標準偏差ＳＴＤが最小値ＳＴＤｍｉｎより小さいか否かを判定する（Ｓ６１６）。より小さければ（Ｓ６１６のＹＥＳ）、最小値ＳＴＤｍｉｎに順序パターンｊにおける標準偏差ＳＴＤを代入し、最適順序パターンＰに順序パターンｊを代入する（Ｓ６１７）。なお、Ｓ６１３で予めＳＴＤｍｉｎに大きい数値が代入されているので、最初に行われるＳ６１６の判定では必ずＹＥＳになり、最小値ＳＴＤｍｉｎが更新される。より小さくなければ（Ｓ６１６のＮＯ）、Ｓ６１７の処理をスキップして、次の順序パターンｊに関する判定処理を行う（Ｓ６１５）。
【００３８】
Ｓ６１４〜Ｓ６１８のループ処理が終了すると、フラグＦが０である（すなわち、新規受付患者の待ち時間がすべての患者の待ち時間より小さい）順序パターンｊのうち、標準偏差ＳＴＤが最小のものが最適順序パターンＰに代入されることになるので、待ち患者テーブル１５Ｂのうち、Ｐ番目とＰ＋１番目の間に新規受付患者を配置した順序が最適診察順序になる（Ｓ６１９）。図７の例では、（ｃ）、（ｄ）、（ｅ）及び（ｆ）の候補のうち、待ち時間の標準偏差が最小である（ｃ）の順序パターンを最適順序として選択する。
【００３９】
なお、Ｓ６０５では各患者の待ち時間１５Ｂ８を計算し、Ｓ６０６では待ち時間１５Ｂ８の標準偏差を計算したが、待ち時間１５Ｂ８に重み付け係数を掛けて重み付け待ち時間１５Ｂ９を計算し、重み付け待ち時間１５Ｂ９の標準偏差を計算してもよい。
【００４０】
この場合、図７の例では、患者Ａの重み付け待ち時間（係数が１）が患者１〜５のいずれの重み付け待ち時間（係数が１．５）より大きい（ｄ）、（ｅ）及び（ｆ）の順序パターンが最適順序の候補になり、フラグＦに０が設定される。これによれば、予約済の患者１〜５の方が当日受付の患者Ａより重み付け係数が大きいので、予約済の各患者の待ち時間が当日受付の患者の待ち時間より相当小さい順序パターンが選択されるように評価される。
【００４１】
そして、重み付け待ち時間１５Ｂ９の標準偏差を比較して、その標準偏差が最小の順序パターンを選択するので、図７の例のうち、（ｄ）の順序パターンを最適順序として選択する。なお、最適順序における各患者の待ち時間を医師や患者に対して出力する際には、重み付け待ち時間１５Ｂ９ではなく、待ち時間１５Ｂ７又は１５Ｂ８を出力する。
【００４２】
上記実施の形態では、図１に示すサービス順序決定装置１内の各部を機能させるために、処理部１４で実行されるプログラムをコンピュータにより読み取り可能な記録媒体に記録し、その記録したプログラムをコンピュータに読み込ませ、実行させることにより、本発明の実施の形態に係るサービス順序決定装置１が実現されるものとする。この場合、プログラムをインターネット等のネットワーク経由でコンピュータに提供してもよいし、プログラムが書き込まれた半導体チップ等をコンピュータに組み込んでもよい。
【００４３】
以上説明した本発明の実施の形態によれば、サービス順序決定装置１において、待ち患者テーブル１５Ｂに対して新規受付患者を割り当てる際に、各患者の予約時刻、受付時刻及び診察時間に応じて、患者の待ち時間を短縮しながら、最適なサービス順序を決定することができる。特に、待ち時間の標準偏差が最小になるサービス順序を選択するので、待ち時間のばらつきが少なくなり、各患者に対して不公平感が生じないようにすることができる。次に、新規受付患者の待ち時間がすべての待ち患者の待ち時間より小さくない（より大きい又は同じ）サービス順序が選択対象になるので、予約済患者に不公平感が生じないようにすることができる。そして、新規受付患者と待ち患者の待ち時間を比較するときに、待ち患者の待ち時間に重み付けをすることにより、予約済患者の待ち時間が新規受付患者より相当短くなるサービス順序が選択対象になるので、予約済患者の不公平感を解消することができる。
【００４４】
≪その他の実施の形態≫
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。例えば、以下のような実施の形態が考えられる。  
（１）上記実施の形態では、病院の各診察室の医師による患者の診察についてサービス順序決定装置１を適用した例を説明したが、これに限ることなく、他のサービス提供施設、例えば、美容院や飲食店等におけるサービスについてサービス順序決定装置１を適用してもよい。サービスを提供する箇所は、病院の場合、診察室であるが、美容院の場合、席であり、飲食店の場合、テーブルや個室である。  
（２）図５のフローチャートにおいて、Ｓ５０３で診察順序確定済の待ち患者を抽出する際に、前日までの予約済患者及びＳ５０７により診察順序の確定した患者に限ることなく、例えば、当日の午前中に午後の診察を予約する患者を対象としてもよい。  
（３）上記実施の形態では、待ち患者テーブル１５Ｂの待ち時間１５Ｂ８を定数倍して重み付け待ち時間１５Ｂ９を計算したように、重み付け関数が１次関数の例を示したが、他の重み付け関数、例えば、２次関数や指数関数を用いてもよい。
【符号の説明】
【００４５】
１      サービス順序決定装置
１４    処理部
１５    記憶部
１５Ｂ  待ち患者テーブル（予約データ）
１５Ｂ１  患者ＩＤ（利用者）
１５Ｂ２  予約時刻
１５Ｂ３  受付時刻
１５Ｂ４  診察時間（所要時間）
１５Ｂ５  開始時刻
１５Ｂ６  終了時刻
１５Ｂ７  待ち時間
１５Ｂ８  待ち時間
１５Ｂ９  重み付け待ち時間
【図１】
0005143195.tif 000002
【図２】
0005143195.tif 000003
【図３】
0005143195.tif 000004
【図４】
0005143195.tif 000005
【図５】
0005143195.tif 000006
【図６Ａ】
0005143195.tif 000007
【図６Ｂ】
0005143195.tif 000008
【図７】
0005143195.tif 000009