(57)【要約】【課題】グループの活動に支障が生じないように予約枠へグループの構成員を割り当てること。【解決手段】本願の予約枠割当方法は、所定の期間内の各時間帯毎にサービスの予約枠が設定された予約枠データを取得し、サービスを受ける対象者が所属するグループ毎に同時に該サービスの提供を受けることができる対象者の上限数である重複可能者数が設定された所属データを取得し、対象者毎にサービスを受けるために要する時間が設定された所要時間データを取得し、これらのデータに基づいて、時間帯毎に、同時にサービスを受ける対象者の数がそれぞれの時間帯に対応する提供可能者数を超過せず、かつ、同一のグループに所属する対象者のうち同時にサービスを受ける対象者の数がグループに対応する重複可能者数を超過しないように、対象者を時間帯のいずれかに割り当てる。【選択図】図１
2010224693.tif 000002
【特許請求の範囲】
【請求項１】
各時間毎にサービスの予約枠が設定された予約枠データを取得する予約枠データ取得手順と、
前記サービスを受ける対象者が所属するグループ毎に同時に該サービスの提供を受けることができる対象者の上限数である重複可能者数が設定された所属データを取得する所属データ取得手順と、
前記予約枠データ取得手順によって取得された予約枠データと、前記所属データ取得手順によって取得された所属データとに基づいて、同一のグループに所属する対象者のうち同時に前記サービスを受ける対象者の数が該グループに対応する前記重複可能者数を超過しないように、前記対象者を前記時間のいずれかに設定された予約枠に割り当てる割当手順と
をコンピュータに実行させることを特徴とする予約枠割当プログラム。
【請求項２】
前記予約枠データ取得手順は、前記所定の期間内の前記予約枠データを繰り返し取得し、
前記割当手順は、前記予約枠データ取得手順によって取得された前記予約枠データに含まれる予約枠に前記対象者を割り当て、前記予約枠データ取得手順が前記予約枠データを所定の順序で繰り返し取得した回数に基づいて、同一のグループに所属する対象者のうち同時に前記サービスを受ける対象者の数が該グループに対応する前記重複可能者数を超過するか否かを判定することを特徴とする請求項１に記載の予約枠割当プログラム。
【請求項３】
前記所要時間データ取得手順は、前記サービスを受けるために要する移動時間をさらに取得し、
前記割当手順は、前記所要時間データ取得手順によって取得された移動時間にさらに基づいて、前記対象者を前記時間帯のいずれかに設定された予約枠に割り当てることを特徴とする請求項１または２に記載の予約枠割当プログラム。
【請求項４】
前記割当手順は、前記対象者毎に該対象者が所属するグループの責任者であるか否かを判定し、同一のグループの責任者が同時に前記サービスを受けることがないように前記対象者を前記時間帯のいずれかに設定された予約枠に割り当てることを特徴とする請求項１〜３のいずれか１つに記載の予約枠割当プログラム。
【請求項５】
各時間毎にサービスの予約枠が設定された予約枠データを取得する予約枠データ取得部と、
前記サービスを受ける対象者が所属するグループ毎に同時に該サービスの提供を受けることができる対象者の上限数である重複可能者数が設定された所属データを取得する所属データ取得部と、
前記予約枠データ取得部によって取得された予約枠データと、前記所属データ取得部によって取得された所属データとに基づいて、同一のグループに所属する対象者のうち同時に前記サービスを受ける対象者の数が該グループに対応する前記重複可能者数を超過しないように、前記対象者を前記時間のいずれかに設定された予約枠に割り当てる割当部と
を備えたことを特徴とする予約枠割当装置。
【請求項６】
予約枠割当装置によって実行される予約枠割当て方法であって、
前記予約枠割当て装置が、
各時間毎にサービスの予約枠が設定された予約枠データを取得する予約枠データ取得ステップと、
前記サービスを受ける対象者が所属するグループ毎に同時に該サービスの提供を受けることができる対象者の上限数である重複可能者数が設定された所属データを取得する所属データ取得ステップと、
前記予約枠データ取得ステップにおいて取得された予約枠データと、前記所属データ取得ステップにおいて取得された所属データとに基づいて、同一のグループに所属する対象者のうち同時に前記サービスを受ける対象者の数が該グループに対応する前記重複可能者数を超過しないように、前記対象者を前記時間のいずれかに設定された予約枠に割り当てる割当ステップと
を実行することを特徴とする予約枠割当方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予約枠割当プログラム、予約枠割当装置および予約枠割当方法に関する。
【背景技術】
【０００２】
従来、予約枠に対して対象者を割り当てる業務をサポートする情報処理システムが知られている。例えば、医療機関では、診療時間の予約を管理する予約管理システムや、健康診断の予約を管理する予約管理システムが利用されている。
【０００３】
診療時間の予約を管理するシステムについては、近い時間帯に同じ患者の予約が行われないようにする技術や、他の診療科までの移動に要する時間を加味して予約を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−４９９０８号公報
【特許文献２】特開２００２−３２９００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の予約管理に関する技術には、何らかのグループ単位で活動している複数の対象者を予約枠に割り当てる場合に、それらの対象者が所属するグループの機能に支障を生じさせることがあるという問題があった。
【０００６】
企業において健康診断の予約枠に対して従業員を割り当てる場合を例にして説明すると、従来の予約管理システムを用いた場合、同じ職場の従業員の多数が同一の予約枠に割り当てられてしまうことがあった。このような割り当てが行われると、健康診断の実施時に職場の人員が不足して職場の機能に重大な支障が生じてしまう。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、グループの活動に支障が生じないように予約枠へグループの構成員を割り当てることができる予約枠割当プログラム、予約枠割当装置および予約枠割当方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する予約枠割当装置は、一つの態様において、所定の期間内の各時間帯毎にサービスの予約枠が設定された予約枠データを取得する予約枠データ取得部と、前記サービスを受ける対象者が所属するグループ毎に同時に該サービスの提供を受けることができる対象者の上限数である重複可能者数が設定された所属データを取得する所属データ取得部と、前記対象者毎に前記サービスを受けるために要する時間が設定された所要時間データを取得する所要時間データ取得部と、前記予約枠データ取得部によって取得された予約枠データと、前記所属データ取得部によって取得された所属データと、前記所要時間データ取得部によって取得された所要時間データとに基づいて、同一のグループに所属する対象者のうち同時に前記サービスを受ける対象者の数が該グループに対応する前記重複可能者数を超過しないように、前記対象者を前記時間帯のいずれかに設定された予約枠に割り当てる割当部を備える。
【発明の効果】
【０００９】
本願の開示する予約枠割当プログラム、予約枠割当装置および予約枠割当方法の一つの態様によれば、グループの活動に支障が生じないように予約枠へグループの構成員を割り当てることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係る予約枠割当方法を説明するための図である。
【図２】図２は、本実施例に係る予約枠割当装置の構成を示す機能ブロック図である。
【図３】図３は、所属テーブルの一例を示す図である。
【図４】図４は、割当対象者テーブルの一例を示す図である。
【図５】図５は、勤務時間テーブルの一例を示す図である。
【図６−１】図６−１は、所要時間テーブルの一例を示す図である。
【図６−２】図６−２は、付加時間テーブルの一例を示す図である。
【図７】図７は、予約枠テーブルの一例を示す図である。
【図８】図８は、割当結果テーブルの一例を示す図である。
【図９】図９は、出力結果の一例を示す図である。
【図１０】図１０は、出力結果の他の一例を示す図である。
【図１１】図１１は、予約枠割当処理の処理手順を示すフローチャートである。
【図１２】図１２は、割当可否判定処理の処理手順を示すフローチャートである。
【図１３】図１３は、予約枠データ読み飛ばし処理の処理手順を示すフローチャートである。
【図１４】図１４は、予約枠割当プログラムを実行するコンピュータを示す機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する予約枠割当プログラム、予約枠割当装置および予約枠割当方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、本願の開示する技術を健康診断の予約枠の割り当てに適用した例を示すが、本願の開示する技術は、この実施例によりこの発明が限定されるものではなく、様々なサービスの提供における予約枠の割り当てに適用できる。
【実施例】
【００１２】
まず、本実施例に係る予約枠割当方法について説明する。本実施例に係る予約枠割当方法は、予めグループ毎に定義された重複可能者数を考慮して、重複可能者数より多くのメンバーが同時にグループを離れることがないように予約枠を割り当てる。
【００１３】
企業において健康診断の予約枠に対して従業員を割り当てる場合、１つの職場に属する従業員がグループに相当し、職場毎に重複可能者数が定義される。例えば、ある職場において同時に３人より多くの従業員が職場を離れた状態が継続すると業務に支障が生じる場合、重複可能者数を「３」と定義しておくことにより、３人よりも多くの従業員が健康診断のために職場を離れた状態が生じることを防止できる。
【００１４】
図１を参照しながら、本実施例に係る予約枠割当方法についてさらに詳しく説明する。図１は、本実施例に係る予約枠割当方法を説明するための図である。図１に示した例では、２００９年６月１日という第１の期間と２００９年６月２日という第２の期間において、それぞれ、８：００〜１１：２０の間に２０分間単位で健康診断の予約枠の開始時間帯が設けられている。
【００１５】
そして、図１に示した例では、同じ職場に所属するＡ〜Ｅの５人の従業員をこれらの予約枠のいずれかに割り当てる必要があり、これらの従業員の健康診断の受診時間は６０分であり、職場から健康診断の受診場所へ移動するのに要する移動時間は２０分である。また、これらの従業員が所属する職場に対しては、重複可能者数として「２」が定義されている。
【００１６】
このような条件において、本実施例に係る予約枠割当方法では、まず、従業員Ａが第１の期間において割り当て可能な最も早い予約枠に割り当てられる。図１の例の場合、開始時間帯が「８：００〜８：２０」の予約枠が最も早く、その予約枠の予約枠残数が「１」残っているので、従業員Ａは、その予約枠に割り当てられる。従業員Ａを割り当てた結果、その予約枠の予約枠残数は「０」になる。
【００１７】
続いて、従業員Ｂの割り当てが行われる。複数の従業員が健康診断を受診するために同時に職場を離れている時間をできるだけ短くしつつ、各期間において健康診断を受診する人数をできるだけ多くするには、従業員Ａが職場に戻った直後に従業員Ｂが職場を離れるようにすることが好ましい。
【００１８】
図１に示した例の場合、従業員Ａは、開始時間帯が「８：００〜８：２０」の予約枠で健康診断を受診し、６０分後の「９：００〜９：２０」の時間帯に受診を完了する。そして、従業員Ａは、２０分の移動時間を経て、「９：２０〜９：４０」の時間帯に職場に戻る。その直後に従業員Ｂが職場を離れるとすると、従業員Ｂが健康診断の受診場所に到着するのは、２０分後の「９：２０〜９：４０」の時間帯の時間帯となる。
【００１９】
このため、従業員Ｂは、従業員Ａが割り当てられた予約枠の開始時間帯に、従業員Ａの受診時間と、従業員Ａの移動時間と、従業員Ｂの移動時間とを加算した時間帯である「９：４０〜１０：００」が開始時間帯となっている予約枠以降に割り当てられる。図１の例の場合、開始時間帯が「９：４０〜１０：００」の予約枠をみると、予約枠残数が「２」残っているので、従業員Ｂは、その予約枠に割り当てられる。従業員Ｂを割り当てた結果、その予約枠の予約枠残数は「１」になる。
【００２０】
続いて、従業員Ｃの割り当てが行われる。従業員Ｃについては、従業員Ｂが割り当てられた予約枠の開始時間帯に、従業員Ｂの受診時間と、従業員Ｂの移動時間と、従業員Ｃの移動時間とを加算した時間帯が開始時間帯となっている予約枠以降への割り当てが試みられる。しかし、その時間帯は、予約枠の設定範囲外であるため、従業員Ｃをその時間帯へ割り当てることはできない。
【００２１】
このように、受診時および移動時間が重ならないように同一の期間内の予約枠に従業員を時系列順に割り当てていった結果、同一の期間内の予約枠に従業員を新たに割り当てることができなくなった場合、期間内の最初の予約枠から再び割り当てが試みられる。ただし、期間内の予約枠に従業員を新たに割り当てることができなくなった場合に、無条件に最初の予約枠から再び割り当てを試みるとすると、受診時間や移動時間が他の従業員と重複することが多くなり、重複可能者数の制約を守ることができなくなる。
【００２２】
そこで、本実施例に係る予約枠割当方法では、同一の期間内の予約枠を時系列に繰り返し走査しながら対象者を予約枠へ割り当てていきつつ、予約枠の走査回数が重複可能者数の値を超えた場合には割当先を次の期間の予約枠へ変更するように処理が実行される。ここでいう走査回数とは、同一のグループに所属する各対象者の割り当て先を求めて同一の期間内の予約枠を走査した繰り返し回数を意味する。
【００２３】
このように走査回数に基づいて予約枠への割り当てを制御することにより、重複可能者数の制約を確実に守ることができる。また、対象者を予約枠へ割り当てるたびに受診時間および移動時間の重複状況を調べる必要がないので、処理負荷を大きく軽減することができる。
【００２４】
従業員Ｂに続けて予約枠を割り当てることができないため、従業員Ｃについては、第１の期間の最初の予約枠、すなわち、開始時間帯が「８：００〜８：２０」の予約枠への割り当てが検討される。ここで、予約枠の走査は２巡目であるので、従業員Ｃの割り当て検討時における走査回数は「２」である。「２」は、重複可能者数である「２」を超えていないので、割り当て先の期間の切り替えは必要ない。
【００２５】
ここで、開始時間帯が「８：００〜８：２０」の予約枠は、従業員Ａの割り当てによって予約枠残数が「０」になっており、これ以上従業員を割り当てることはできないため、次の予約枠への割り当てが検討される。次の予約枠、すなわち、開始時間帯が「８：２０〜８：４０」の予約枠は、予約枠残数が「２」残っているで、従業員Ｃは、その予約枠に割り当てられる。従業員Ｃを割り当てた結果、その予約枠の予約枠残数は「１」になる。
【００２６】
続いて、従業員Ｄの割り当てが行われる。従業員Ｄは、従業員Ｃが割り当てられた予約枠の開始時間帯に、従業員Ｃの受診時間と、従業員Ｃの移動時間と、従業員Ｄの移動時間とを加算した時間帯である「１０：００〜１０：２０」が開始時間帯となっている予約枠以降に割り当てられる。図１の例の場合、開始時間帯が「１０：００〜１０：２０」の予約枠の予約枠残数が「３」残っており、走査回数が重複可能者数を超過していないので、従業員Ｄは、その予約枠に割り当てられる。従業員Ｄを割り当てた結果、その予約枠の予約枠残数は「２」になる。
【００２７】
続いて、従業員Ｅの割り当てが行われる。従業員Ｅについては、従業員Ｄが割り当てられた予約枠の開始時間帯に、従業員Ｄの受診時間と、従業員Ｄの移動時間と、従業員Ｅの移動時間とを加算した時間帯が開始時間帯となっている予約枠以降への割り当てが試みられる。しかし、その時間帯は、予約枠の設定範囲外であるため、従業員Ｅをその時間帯へ割り当てることはできない。
【００２８】
このため、従業員Ｅについては、第１の期間の最初の予約枠、すなわち、開始時間帯が「８：００〜８：２０」の予約枠への割り当てが検討される。ここで、予約枠の走査は３巡目であるので、従業員Ｅの割り当て検討時における走査回数は「３」である。「３」は、重複可能者数である「２」を超えているので、割り当て先の期間が次の期間である第２の期間、すなわち、２００９年６月２日に切り換えられる。
【００２９】
そして、従業員Ｅは、第２の期間において割り当て可能な最も早い予約枠に割り当てられる。図１の例の場合、開始時間帯が「８：００〜８：２０」の予約枠が最も早く、その予約枠の予約枠残数が「１」残っているので、従業員Ｅは、その予約枠に割り当てられる。従業員Ｅを割り当てた結果、その予約枠の予約枠残数は「０」になる。
【００３０】
このように、本実施例に係る予約枠割当方法では、予約枠を時系列に走査しながら対象者を予約枠に割り当てつつ、走査回数に基づいて重複可能者数の超過が検査されるので、重複可能者数の超過を簡易かつ確実に検出することができる。なお、図１に示した例では、１日単位で期間が設定されているが、期間の長さは１日に限らない。
【００３１】
次に、本実施例に係る予約枠割当方法を実行する予約枠割当装置１０の構成について説明する。図２は、予約枠割当装置１０の構成を示す機能ブロック図である。図２に示すように、予約枠割当装置１０は、入力部１１０と、表示部１２０と、媒体読取り装置１３０と、ネットワークインターフェース装置１４０と、記憶部１５０と、制御部１６０とを有する。
【００３２】
入力部１１０は、ユーザから情報や操作指示の入力を受ける機能部であり、例えば、キーボードやマウス等の入力装置を含む。表示部１２０は、文字や図形等を表示する機能部であり、例えば、液晶表示装置を含む。媒体読取り装置１３０は、ＣＤ−ＲＯＭ等の記憶媒体から情報を読み出す。ネットワークインターフェース装置１４０は、ネットワーク経由で接続された他の装置との間の通信を実現する。
【００３３】
記憶部１５０は、各種情報を記憶する記憶装置であり、例えば、ハードディスク装置である。記憶部１５０は、所属テーブル１５１と、割当対象者テーブル１５２と、勤務時間テーブル１５３と、所要時間テーブル１５４ａと、付加時間テーブル１５４ｂと、予約枠テーブル１５５と、割当結果テーブル１５６とを記憶する。
【００３４】
所属テーブル１５１には、予約枠を割り当てる対象者が属するグループに関する情報である所属データが格納される。具体的には、本実施例の場合、所属テーブル１５１には、職場に関する情報が格納される。割当対象者テーブル１５２には、予約枠を割り当てる対象者に関する情報である割当対象者データが格納される。具体的には、本実施例の場合、割当対象者テーブル１５２には、従業員に関する情報が格納される。
【００３５】
勤務時間テーブル１５３には、勤務時間に関する情報である勤務時間データが格納される。所要時間テーブル１５４ａには、予約対象のサービスの提供を受けるために必要とされる所要時間に関する情報である所要時間データが格納される。本実施例の場合、所要時間テーブル１５４ａには、健康診断の受診時間に関する情報が格納される。付加時間テーブル１５４ｂには、従事する業務に応じて追加して受信すべき検査に要する時間に関する情報である付加時間データが格納される。予約枠テーブル１５５には、各期間に含まれる予約枠と、各予約枠においてサービスを提供できる人数に関する情報である予約枠データが格納される。割当結果テーブル１５６には、予約枠の割り当て結果に関する情報である割当結果データが格納される。
【００３６】
以下に、図３〜図８を参照しながら、各テーブルの詳細について説明する。図３は、所属テーブル１５１の一例を示す図である。図３に示すように、所属テーブル１５１は、所属コード、所属グループ名、移動時間、重複可能者数といった項目を有する。
【００３７】
所属コードは、職場、すなわち、グループを識別するための識別番号である。所属グループ名は、職場の名称である。移動時間は、職場から健康診断の受診場所への移動に要する時間である。重複可能者数は、同時に職場を離れることが許容される人数であり、同時に職場を離れる人数とそれらの従業員が同時に職場を離れることによって生じる支障の大きさの関係に基づいて予め決定される。
【００３８】
図３に示す所属テーブル１５１の１行目の所属データは、「ＧＲＰ０１」という所属コードで識別される職場の名称が「製造Ａ班」であることを示している。また、１行目の所属データは、その職場から受診場所への移動には「２０分」を要し、同時に職場を離れることが許容される人数が「２」人であることを示している。
【００３９】
図４は、割当対象者テーブル１５２の一例を示す図である。図４に示すように、割当対象者テーブル１５２は、対象者番号、氏名、所属コード、性別、年齢、責任者、従事情報といった項目を有する。なお、割当対象者テーブル１５２は、所属コードの値に基づいてソートされていることが好ましい。
【００４０】
対象者番号は、従業員、すなわち、予約枠の割り当てを受ける対象者を識別するための識別番号である。氏名は、従業員の名称である。所属コードは、従業員が所属する職場を識別するための識別番号であり、所属テーブル１５１の所属コードと対応する。性別および年齢は、従業員の性別および年齢である。
【００４１】
責任者は、従業員が職場の責任者であるか否かを示す。具体的には、責任者の値が「Ｙ」の場合、その従業員が職場の責任者であることを示し、責任者の値が「Ｎ」の場合、その従業員が職場の責任者でないことを示す。同時に職場を離れる人数が重複可能者数以下であっても、複数の責任者が同時に職場を離れた場合には、職場の業務に支障が生じることがある。そこで、予約枠割当装置１０は、重複可能者数に関わらず、複数の責任者が同時に職場を離れることがないように予約枠の割り当てを実行する。
【００４２】
従事情報は、従業員が従事している業務に関する特記事項である。本実施例では、従事情報の項目には、健康診断において追加検査が必要なる業務内容に関する情報が格納されているものとする。
【００４３】
図４に示す割当対象者テーブル１５２の１行目の割当対象者データは、「００１２３４５６」という対象者番号で識別される従業員の名称が「○○  一郎」であり、その従業員が「ＧＲＰ０１」という所属コードで識別される職場に所属していることを示している。また、１行目の割当対象者データは、その従業員の性別が「男」であり、年齢が「２７」であり、その従業員が責任者ではなく、特記事項がないことを示している。
【００４４】
図４に示す割当対象者テーブル１５２の２行目の割当対象者データは、「００１２３４５７」という対象者番号で識別される従業員の名称が「○○  太郎」であり、その従業員が「ＧＲＰ０１」という所属コードで識別される職場に所属していることを示している。また、２行目の割当対象者データは、その従業員の性別が「男」であり、年齢が「３１」であり、その従業員が責任者ではなく、「有機溶剤」に関連する業務に従事していることを示している。
【００４５】
図５は、勤務時間テーブル１５３の一例を示す図である。図５に示すように、勤務時間テーブル１５３は、日付、所属コード、勤務開始時間、勤務終了時間といった項目を有し、所属コード、勤務開始時間、勤務終了時間の組合せを日付毎に複数格納できる構成となっている。
【００４６】
日付は、勤務が行われる日付である。所属コードは、勤務する従業員が所属する職場を識別するための識別番号であり、所属テーブル１５１の所属コードと対応する。勤務開始時間および勤務終了時間は、勤務の開始時間と終了時間である。
【００４７】
図５に示す勤務時間テーブル１５３は、「ＧＲＰ１１」という所属コードで識別される職場に所属している従業員の勤務時間が８：００〜１７：００で一定であることを示している。また、図５に示す勤務時間テーブル１５３は、「ＧＲＰ０１」、「ＧＲＰ０２」、「ＧＲＰ０３」という所属コードで識別される職場に所属している従業員の勤務時間がいわゆるシフト勤務であることを示している。例えば、「ＧＲＰ０１」という所属コードで識別される職場に所属している従業員の勤務時間は、８：００〜１７：００というパターンが３日続いた後、休日を１日はさんで、２４：００〜９：００というパターンへ変化する。
【００４８】
なお、勤務時間テーブル１５３において、勤務開始時間が「２４：００」で勤務終了時間が「９：００」のように勤務終了時間が勤務開始時間よりも早い時間になっている勤務時間データは、勤務の終了が翌日になることを示す。
【００４９】
図６−１は、所要時間テーブル１５４ａの一例を示す図である。図６−１に示すように、所要時間テーブル１５４ａは、年齢、性別、所要時間といった項目を有する。年齢および性別は、従業員の年齢および性別である。所要時間は、健康診断の受診時間であり、年齢と性別の組合せ毎に設定される。
【００５０】
図６−１に示す所要時間テーブル１５４ａの１行目の所要時間データは、年齢が「２０〜２９」の範囲にあり、性別が「男」の従業員の受診時間が「６０」分であることを示している。また、図６−１に示す所要時間テーブル１５４ａの４行目の所要時間データは、年齢が「３０〜３９」の範囲にあり、性別が「女」の従業員の受診時間が「７０」分であることを示している。
【００５１】
図６−２は、付加時間テーブル１５４ｂの一例を示す図である。図６−２に示すように、所要時間テーブル１５４ｂは、従事情報、付加時間といった項目を有する。従事情報は、従業員が従事している業務に関する特記事項であり、割当対象者テーブル１５２の従事情報と対応する。付加時間は、従業員が従事情報に関連する業務に従事している場合に追加して受信すべき検査の受信時間である。
【００５２】
図６−２に示す付加時間テーブル１５４ｂの１行目の付加時間データは、「有機溶剤」に関連する業務に従事している従業員は、健康診断において追加検査が必要であり、追加検査に必要な時間が「１５」分であることを示している。
【００５３】
図７は、予約枠テーブル１５５の一例を示す図である。図７に示すように、予約枠テーブル１５５は、期間番号、予約枠、予約枠人数、予約枠残数といった項目を有する。また、予約枠テーブル１５５は、予約枠、予約枠人数、予約枠残数の組合せを期間番号毎に複数格納できる構成となっている。
【００５４】
期間番号は、期間を識別するための識別番号である。予約枠は、予約枠の日付を示す予約日の項目と、予約枠の開始時間帯を示す時間帯の項目を含む。予約枠人数は、予約枠においてサービスの提供が可能な対象者の総数、すなわち、予約枠に割当可能な従業員の総数である。予約枠残数は、予約枠に割当可能な従業員の総数から予約枠に既に割り当てた従業員の数を減じた値である。
【００５５】
図７に示す予約枠テーブル１５５は、期間の長さが１週間に設定されており、「１」という期間番号で識別される期間の予約枠データとして、予約日が「２００９年６月１日」で時間帯が「８：００〜８：２０」の予約枠データ等が格納されている。ここで、２００９年６月６日と２００９年６月７日の予約枠データが存在しないのは、これらの日が土日であり、健康診断が行われないためである。
【００５６】
なお、期間の長さは、目的に応じて任意に設定することができる。例えば、重複可能者数の制限を越えない範囲で予約枠を重複させて同一の職場の全従業員の健康診断を短期間で完了させたい場合には、期間の長さを短くすることが好ましい。一方、同一の職場における予約枠の重複をできるだけ減少させたい場合には、期間の長さを長くすることが好ましい。
【００５７】
図８は、割当結果テーブル１５６の一例を示す図である。図８に示すように、割当結果テーブル１５６は、期間番号、予約枠、対象者番号、開始時間といった項目を有する。また、割当結果テーブル１５６は、予約枠を期間番号毎に複数格納でき、さらに、対象者番号と開始時間の組合せを予約枠毎に複数格納できる構成となっている。
【００５８】
期間番号は、期間を識別するための識別番号であり、予約枠テーブル１５５の期間番号と対応する。予約枠は、予約枠の日付を示す予約日と、予約枠の開始時間帯を示す時間帯の項目を含み、予約枠テーブル１５５の予約枠と対応する。対象者番号は、従業員を識別するための識別番号であり、割当対象者テーブル１５２の対象者番号と対応する。開始時間は、従業員が割り当てられた予約枠の正確な開始時間である。
【００５９】
図２の説明に戻って、制御部１６０は、予約枠割当装置１０を全体制御する。制御部１６０は、所属データ取得部１６１と、割当対象者データ取得部１６２と、勤務時間データ取得部１６３と、所要時間データ取得部１６４と、予約枠データ取得部１６５と、割当部１６６と、出力部１６７とを有する。
【００６０】
所属データ取得部１６１は、所属テーブル１５１に格納されている所属データを取得する。割当対象者データ取得部１６２は、割当対象者テーブル１５２に格納されている割当対象者データを取得する。勤務時間データ取得部１６３は、勤務時間テーブル１５３に格納されている勤務時間データを取得する。所要時間データ取得部１６４は、従業員の性別、年齢、従事情報に基づいて、所要時間テーブル１５４ａに格納されている所要時間データと、付加時間テーブル１５４ｂに格納されている付加時間データとを取得する。所要時間データ取得部１６４は、所属テーブル１５１に格納されている移動時間も取得する。
【００６１】
予約枠データ取得部１６５は、特定の期間を選択するとともに、選択された期間の予約枠データを予約枠テーブル１５５から順に取得する。割当部１６６は、上述した本実施例に係る予約枠割当方法を実行し、予約枠に従業員を割り当てた結果を割当結果テーブル１５６に格納する。なお、割当部１６６が実行する処理の詳細については後述する。
【００６２】
出力部１６７は、割当結果テーブル１５６に格納されている割当結果データを加工して、表示部１２０や、ネットワークインターフェース装置１４０を介して接続されている印刷装置に出力する。また、出力部１６７は、割当結果テーブル１５６に格納されている割当結果データを加工して所定の形式のデータを生成して記憶部１５０に記憶させる。
【００６３】
図９は、出力部１６７の出力結果の一例を示す図である。図９に示す出力例は、割当結果テーブル１５６に格納されている割当結果データをカレンダ形式に加工して出力した例である。図１０は、出力部１６７の出力結果の他の一例を示す図である。図１０に示す出力例は、割当結果テーブル１５６に格納されている割当結果データを一覧表形式に加工して出力した例である。
【００６４】
次に、図２に示した予約枠割当装置１０が実行する予約枠割当処理の処理手順について説明する。図１１は、予約枠割当処理の処理手順を示すフローチャートである。図１１に示すように、割当部１６６は、まず、予約枠データ取得部１６５に最初の期間を選択させる（ステップＳ１０１）。そして、割当部１６６は、割当対象者データ取得部１６２に割当対象者テーブル１５２に格納されている最初の割当対象者データを取得させる（ステップＳ１０２）。
【００６５】
続いて、割当部１６６は、予約枠データ取得部１６５に選択した期間の総予約枠数を取得させる（ステップＳ１０３）。総予約枠数は、選択した期間の期間番号と同じ期間番号をもつ予約枠データの件数をカウントすることにより取得される。そして、割当部１６６は、予約枠データ取得部１６５に選択した期間の最初の予約枠データを取得させ（ステップＳ１０４）、予約枠読込件数を１に設定する（ステップＳ１０５）。
【００６６】
続いて、割当部１６６は、後述する割当可否判定処理を実行して、取得された割当対象者データに対応する従業員を取得された予約枠データに対応する予約枠に割り当てることができるか否かと、重複可能者数の制約を確認する（ステップＳ１０６）。
【００６７】
ここで、重複可能者数の超過が生じておらず（ステップＳ１０７否定）、かつ、従業員を予約枠に割り当てることができない場合（ステップＳ１０８否定）、割当部１６６は、予約枠データ取得部１６５に次の予約枠データを取得させる（ステップＳ１０９）。そして、割当部１６６は、予約枠読込件数に１を加算し（ステップＳ１１０）、ステップＳ１０６から処理手順を再開する。
【００６８】
一方、重複可能者数の超過が生じておらず（ステップＳ１０７否定）、かつ、従業員を予約枠に割り当てることができる場合（ステップＳ１０８肯定）、割当部１６６は、割当結果を予約枠テーブル１５５に記録する（ステップＳ１１１）。具体的には、割当部１６６は、予約枠データの期間番号および予約枠と、割当対象者データの対象者番号と、開始時間とを組み合わせて予約枠テーブル１５５に記録する。
【００６９】
なお、開始時間は、図１に示した従業員Ｂのように、移動時間のみを介して受診時間が前の従業員の受診時間と連続する場合には、後述する予約枠データ読み飛ばし処理内で算出された値となる。移動時間のみを介して受診時間が前の従業員の受診時間と連続しているか否かは、予約枠データ読み飛ばし処理内で算出された開始時間が、従業員が割り当てられた予約枠内であるか否かに基づいて判定することができる。
【００７０】
そして、開始時間は、移動時間のみを介して受診時間が前の従業員の受診時間と連続する場合を除いて、割り当てられた予約枠内の所定の時間となる。ここでいう予約枠内の所定の時間とは、例えば、予約枠の開始時間であってもよい。また、図７に示した予約枠データのように予約枠の開始時間帯が決まっている場合には、予約枠内の所定の時間は、開始時間帯の中間の時間や最後の時間であってもよい。
【００７１】
続いて、割当部１６６は、従業員が割り当てられた予約枠に対応する予約枠データの予約枠残数を１減算し（ステップＳ１１２）、割当対象者データ取得部１６２に次の割当対象者データを取得させる（ステップＳ１１３）。
【００７２】
ここで、全ての割当対象者データを取得済であった場合は（ステップＳ１１４肯定）、全ての従業員の割り当てを完了したことになるので、割当部１６６は、予約枠割当処理を終了させる。
【００７３】
一方、次の割当対象者データが取得された場合は（ステップＳ１１４否定）、割当部１６６は、取得された割当対象者データの所属コードと前の割当対象者データの所属コードを比較する（ステップＳ１１５）。そして、所属コードが異なっている場合は（ステップＳ１１６否定）、割当部１６６は、走査回数をリセットするために予約枠読込件数を０にクリアし（ステップＳ１１７）、さもなければ（ステップＳ１１６肯定）、予約枠読込件数をそのままにする。そして、割当部１６６は、後述する予約枠データ読み飛ばし処理を実行し（ステップＳ１１８）、ステップＳ１０６から処理手順を再開する。
【００７４】
また、ステップＳ１０６で重複可能者数の超過が生じると判定された場合は（ステップＳ１０７肯定）、割当部１６６は、予約枠データ取得部１６５に次の期間を選択させ（ステップＳ１１９）、ステップＳ１０３から処理手順を再開する。
【００７５】
図１２は、図１１に示した割当可否判定処理の処理手順を示すフローチャートである。図１２に示すように、割当部１６６は、割当対象データの所属コードに対応する重複可能者数を所属データ取得部１６１に取得させる（ステップＳ２０１）。そして、割当部１６６は、走査回数を算出する（ステップＳ２０２）。走査回数は、以下の計算式を用いて算出することができる。
【００７６】
走査回数＝（予約枠読込件数−１）÷総予約枠数＋１
【００７７】
ここで、走査回数が重複可能者数を超過していた場合は（ステップＳ２０３否定）、割当部１６６は、重複可能者数の超過が生じていると判断して（ステップＳ２０４）、割当可否判定処理を終了する。
【００７８】
一方、走査回数が重複可能者数以下の場合は（ステップＳ２０３肯定）、割当部１６６は、予約枠データの予約枠残数の値を確認する。そして、予約枠残数が０であれば（ステップＳ２０５否定）、割当部１６６は、予約枠に従業員を割り当てることはできないと判断して（ステップＳ２１２）、割当可否判定処理を終了する。
【００７９】
予約枠残数が０より多ければ（ステップＳ２０５肯定）、割当部１６６は、その予約枠データの予約日における従業員の勤務時間を勤務時間データ取得部１６３に取得させる（ステップＳ２０６）。そして、予約枠が勤務時間内でなければ（ステップＳ２０７否定）、割当部１６６は、予約枠に従業員を割り当てることはできないと判断して（ステップＳ２１２）、割当可否判定処理を終了する。
【００８０】
一方、予約枠が勤務時間内であれば（ステップＳ２０７肯定）、割当部１６６は、従業員データの責任者の項目の値に基づいて、従業員データに対応する従業員が職場の責任者であるか否かを確認する。そして、従業員が職場の責任者でなければ（ステップＳ２０８否定）、割当部１６６は、予約枠に従業員を割り当てることができると判断して（ステップＳ２１１）、割当可否判定処理を終了する。
【００８１】
従業員が職場の責任者であった場合（ステップＳ２０８肯定）、割当部１６６は、同一の職場の他の責任者と受診時間もしくは移動時間が重複しているか否かを確認する（ステップＳ２０９）。重複の確認は、割当結果テーブル１５６を参照して受診時間もしくは移動時間が重複する従業員を特定し、その従業員の割当対象者データを割当対象者データ取得部１６２に取得させることで実現できる。
【００８２】
そして、同一の職場の他の責任者と受診時間もしくは移動時間が重複している場合（ステップＳ２１０肯定）、割当部１６６は、予約枠に従業員を割り当てることはできないと判断して（ステップＳ２１２）、割当可否判定処理を終了する。一方、同一の職場の他の責任者と受診時間もしくは移動時間が重複していない場合（ステップＳ２１０否定）、割当部１６６は、予約枠に従業員を割り当てることができると判断して（ステップＳ２１１）、割当可否判定処理を終了する。
【００８３】
図１３は、図１１に示した予約枠データ読み飛ばし処理の処理手順を示すフローチャートである。図１３に示すように、割当部１６６は、所要時間データ取得部１６４に現在割り当て対象となっている従業員の移動時間を取得させる（ステップＳ３０１）。そして、割当部１６６は、所要時間データ取得部１６４に前回割り当て対象となっていた従業員の所要時間と移動時間を取得させる（ステップＳ３０２、ステップＳ３０３）。
【００８４】
ここで、所要時間は、従業員の属性情報に応じて、所要時間データに格納されている所要時間と付加時間データに格納されている付加時間の合計として取得される。
【００８５】
例えば、図４に示した対象者テーブル１５２の１行目の従業員は、性別が「男」で、年齢が「２７」で、特記事項は未設定である。この場合、所要時間データ取得部１６４は、所要時間テーブル１５４ａが図６−１の通りであれば、所要時間テーブル１５４ａから、性別「男」と年齢「２７」に対応する所要時間である「６０」分を取得する。そして、特記事項が未設定であるため、付加時間データの付加時間は「０」となる。この結果、対象者テーブル１５２の１行目の従業員については、６０分が所要時間として取得される。
【００８６】
また、図４に示した対象者テーブル１５２の２行目の従業員は、性別が「男」で、年齢が「３１」で、従事情報が「有機溶剤」である。この場合、所要時間データ取得部１６４は、所要時間テーブル１５４ａが図６−１の通りであれば、所要時間テーブル１５４ａから、性別「男」と年齢「３１」に対応する所要時間である「６０」分を取得する。そして、所要時間データ取得部１６４は、付加時間テーブル１５４ｂが図６−２の通りであれば、付加時間テーブル１５４ｂから、従事情報「有機溶剤」に対応する付加時間である「１５」分を取得する。この結果、対象者テーブル１５２の２行目の従業員については、７５分が所要時間として取得される。
【００８７】
そして、ステップＳ３０１〜ステップＳ３０３で取得された時間と前回割り当て対象となっていた従業員に設定した予約枠の開始時間とに基づいて、現在割り当て対象となっている従業員の予約枠の開始時間を算出する（ステップＳ３０４）。なお、開始時間の算出は、前回割り当て対象となっていた従業員に設定した予約枠の開始時間にステップＳ３０１〜ステップＳ３０３で取得された各時間を単純に加算して行ってもよいし、遅延を考慮して余裕時間をさらに加算して行ってもよい。
【００８８】
そして、割当部１６６は、予約枠データ取得部１６５に選択した期間内の次の予約枠データを取得させ（ステップＳ３０５）、予約枠読込件数に１を加算する（ステップＳ３０６）。ここで、選択した期間内の予約枠データを全て取得済みであった場合は（ステップＳ３０７肯定）、割当部１６６は、予約枠データ取得部１６５に選択した期間内の最初の予約枠データを取得させ（ステップＳ３０８）、予約枠データ読み飛ばし処理を終了させる。
【００８９】
一方、選択した期間内の次の予約枠データが取得された場合は（ステップＳ３０７否定）、割当部１６６は、取得された予約枠データの予約日と前回取得された予約枠データの予約日を比較する。そして、予約日が相違していた場合には（ステップＳ３０９肯定）、予約枠を前回の割り当て先の予約枠と時系列に連続させることができないため、割当部１６６は、予約枠データ読み飛ばし処理を終了させる。
【００９０】
予約日が同じであれば（ステップＳ３０９否定）、割当部１６６は、算出した開始時間が取得された予約枠データの時間帯内であるか否かを判定する（ステップＳ３１０）。そして、割当部１６６は、開始時間が時間帯内であれば（ステップＳ３１１肯定）、予約枠データ読み飛ばし処理を終了させ、さもなければ（ステップＳ３１１否定）、ステップＳ３０５から処理手順を再開する。
【００９１】
なお、図２に示した本実施例に係る予約枠割当装置１０の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、予約枠割当装置１０の制御部１６０の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、予約枠割当装置１０と同等の機能を実現することもできる。以下に、制御部１６０の機能をソフトウェアとして実装した予約枠割当プログラム１０７１を実行するコンピュータの一例を示す。
【００９２】
図１４は、予約枠割当プログラム１０７１を実行するコンピュータ１０００を示す機能ブロック図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ（Central Processing Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ（Random Access Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。
【００９３】
そして、ハードディスク装置１０７０には、図２に示した制御部１６０と同様の機能を有する予約枠割当プログラム１０７１と、図２に示した記憶部１５０に記憶される各種データに対応する予約枠割当用データ１０７２とが記憶される。なお、予約枠割当用データ１０７２を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
【００９４】
そして、ＣＰＵ１０１０が予約枠割当プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、予約枠割当プログラム１０７１は、予約枠割当プロセス１０６１として機能するようになる。そして、予約枠割当プロセス１０６１は、予約枠割当用データ１０７２から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【００９５】
なお、上記の予約枠割当プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９６】
上述してきたように、本実施例では、重複可能者数を考慮して予約枠の割り当てを行うこととしたので、グループの活動に支障が生じないように予約枠へグループの構成員を割り当てることができる。
【符号の説明】
【００９７】
１０  予約枠割当装置
１１０  入力部
１２０  表示部
１３０  媒体読取り装置
１４０  ネットワークインターフェース装置
１５０  記憶部
１５１  所属テーブル
１５２  割当対象者テーブル
１５３  勤務時間テーブル
１５４ａ  所要時間テーブル
１５５  予約枠テーブル
１５６  割当結果テーブル
１６０  制御部
１６１  所属データ取得部
１６２  割当対象者データ取得部
１６３  勤務時間データ取得部
１６４  所要時間データ取得部
１６５  予約枠データ取得部
１６６  割当部
１６７  出力部
１０００  コンピュータ
１０１０  ＣＰＵ
１０２０  入力装置
１０３０  モニタ
１０４０  媒体読取り装置
１０５０  ネットワークインターフェース装置
１０６０  ＲＡＭ
１０６１  予約枠割当プロセス
１０７０  ハードディスク装置
１０７１  予約枠割当プログラム
１０７２  予約枠割当用データ
１０８０  バス
【図１】
2010224693.tif 000003
【図２】
2010224693.tif 000004
【図３】
2010224693.tif 000005
【図４】
2010224693.tif 000006
【図５】
2010224693.tif 000007
【図６−１】
2010224693.tif 000008
【図６−２】
2010224693.tif 000009
【図７】
2010224693.tif 000010
【図８】
2010224693.tif 000011
【図９】
2010224693.tif 000012
【図１０】
2010224693.tif 000013
【図１１】
2010224693.tif 000014
【図１２】
2010224693.tif 000015
【図１３】
2010224693.tif 000016
【図１４】
2010224693.tif 000017