地図生成装置、地図生成方法、地図生成プログラム並びに地図生成システム
【課題】誰でも知り得る所定の情報を入力するだけで、条件に合った最寄りの医療機関の位置を確認できる地図を生成する。
【解決手段】表示される地図内にユーザの指定した検索件数に応じた数の医療機関が存在するか否かを確認し、存在しない場合は、表示される地図の縮尺を自動的に段階的に変更する。
【解決手段】表示される地図内にユーザの指定した検索件数に応じた数の医療機関が存在するか否かを確認し、存在しない場合は、表示される地図の縮尺を自動的に段階的に変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが指定した件数の最寄りの医療機関の検索を視覚的に行えるようにする地図を生成する地図生成装置、地図生成方法、地図生成プログラム、並びに地図生成システムに関する。
【背景技術】
【0002】
近年、ますます長寿社会になり、医療機関の重要性が増してきている。急病になった場合には救急車を呼ぶことも考えられるが、救急車を呼ぶほど緊急でない場合や近所の目を気にして救急車を呼べない場合もある。このような場合、従来は電話帳で医療機関を検索していた。しかし、電話帳等による医療機関の検索では、最寄りの医療機関を検索するのは困難であった。
【0003】
そこで、各医療機関の住所、診療科目、空床数などの医療情報を記憶するデータベースにその医療機関が属する地図上の地域を記憶させておく。そして、患者発生場所が属する地図上の地域と診療科目とを指定した検索指令を入力すると、この指定された地域を中心に最寄りの医療機関をデータベースから検索するようなシステムが考えられた。
なお、本発明の先行技術を特許文献1に記す。
【0004】
【特許文献1】特開平8−249403号公報
【0005】
また、高齢化社会の進展に伴い、地域基幹病院と地域の診療所、専門医との間で、連携して在宅医療を支える病診連携システムが重要となっており、患者一人一人に最適の地域の診療所や専門医を迅速的確に検索できれば、医療の効率化に寄与することができる。
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1に記載された救急医療機関検索システムは、最寄りの医療機関を検索できるものの、「セグメントコード」といった特殊なコードを知らなければ最寄の医療機関を知ることができないという問題があった。
【0007】
また、患者の居住地域により適合する診療所や専門医などの分布に偏りがあり、最寄の医療機関が地図上に表示されるまで、地図の縮尺の変更を繰り返したり、表示件数が多すぎる場合に、表示された医療機関を確認する際に煩わしさがあった。
【0008】
本発明はかかる点に鑑みてなされたものであり、「住所」、「検索件数」等を入力するだけで、入力された「検索件数」に応じた数の医療機関であり、且つ入力された「住所から」最寄りの医療機関の位置を確認できる地図を生成する、地図生成装置、地図生成方法、地図生成プログラム並びに地図生成システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明は、ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、住所文字列及び住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で第一データベースを検索して、住所文字列及び住所区分最下位文字列に対応する地図生成関連情報を取得するデータ取得部と、データ取得部が取得した地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、第二データベースに記憶されている医療機関情報の示す各医療機関が、検索件数以上存在するか否かを確認し、存在しない場合は各医療機関の数が検索件数以上になるまで地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を地図表示範囲算出部に算出させ、検索件数に最も近い件数の医療機関の前医療機関情報を出力する医療機関検索部と、医療機関検索部から出力された医療機関情報に基づいて、地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と、を備えるものである。
【0010】
表示される地図内にユーザの指定した検索件数に応じた数の医療機関が存在するか否かを確認し、存在しない場合は、表示される地図の縮尺を自動的に段階的に変更する処理を行った。
【0011】
上記構成によれば、指定した住所の付近にあり、且つ指定した検索件数に応じた数の医療機関を自動的に検索し、それらの医療機関を表示するのに最適な縮尺にて地図を表示し、その地図上に目的とする医療機関の位置を示すことができる。
【発明の効果】
【0012】
本発明によれば、ユーザの指定した住所から最も近く、さらにユーザの所望する検索件数に応じた数の医療機関の位置を確認できる地図を、簡単な操作で生成することが可能となる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態の例を、図1〜図13を参照して説明する。
図1は、本発明の一実施形態の例である地図生成システムの概略図である。
本実施形態例は、クライアントPC(Personal Computer)102のユーザ103に対して効果的に、ユーザ103の所望する範囲の地図及びその地図の範囲内にある医療機関の位置及び当該医療機関に関するその他の情報を提供する地図生成システム101である。
この地図生成システム101は、クライアントPC102、地図生成サーバ104及び地図サーバ105より構成されており、これらの各要素がインターネット106上で相互に接続されている。
【0014】
クライアントPC102は、ユーザ103によって入力される、住所の文字列(以下、「住所文字列」という)及び検索したい医療機関の件数(以下、「検索件数」という)をインターネット106を介して地図生成サーバ104に送信する。
【0015】
地図生成サーバ104は、クライアントPC102から送信された住所文字列及び検索件数に基づいて、所定の範囲の地図及びその地図の範囲内にある病院の様々な情報をクライアントPC102の表示部205に表示させるhtml文書を作成する。そして、そのhtml文書を周知のHTTP(Hyper Text Transfer Protocol)にてクライアントPC102へ送信する。
ここで、地図生成サーバ104は、地図生成装置ともいえる。
【0016】
地図サーバ105は、入力された位置情報に基づいて、所定の範囲の地図画像データをユーザ103に提供する周知のwebサーバである。
【0017】
次に、図1のクライアントPC102について説明する。
図2は、クライアントPC102の機能的な構成を示すブロック図である。なお、図2は本実施形態に用いられる機能ブロック図のみを示している。したがって、本実施形態と関係のない機能の記載は省略している。
【0018】
地図生成サーバ104からクライアントPC102へhtml文書が送信された場合、webブラウザ202を構成する入出力制御部203は、そのhtml文書を受信し、webブラウザ202を構成する表示制御部204を通じて表示部205へ送る。そして、表示部205において、地図生成サーバ104から送られたhtml文書が表示される。
ここで、webブラウザ202は、プログラムにより提供される機能である。
【0019】
入力部206は、キーボード及びポインティングデバイス等である。ユーザ103は、このキーボードやポインティングデバイス等を操作することにより、表示部205に表示されたhtml文書の各リンクを選択したり、html文書を表示させた表示画面の所定のエリアに文字列を入力したりする。このようなユーザ103の入力部206に対する操作は、入出力制御部203を介して、インターネット106上の地図生成サーバ104及び地図サーバ105へ送信される。
【0020】
次に、図1の地図生成サーバ104について説明する。
図3は、地図生成サーバ104の機能的な構成を示すブロック図である。
地図生成サーバ104は、概略的にはHTTPを用いて、図1に示すクライアントPC102にhtml文書を送信する、webサーバの機能を有している。この機能は、クライアントPC102のwebブラウザ202からの要求に応じて行われるものである。
【0021】
地図生成サーバ104は、一般的なネットワークOSが稼働するコンピュータである。ネットワークOSは、一例として、FreeBSD等のBSD系、或いはLinux(登録商標)等のPOSIX(Portable Operating System Interface for UNIX)(UNIXは登録商標)系OS等が挙げられる。
【0022】
地図生成サーバ104は、上述したように、webサーバ機能を持つwebサーバプログラム302を備えている。このwebサーバプログラム302は、クライアントPC102から来る要求(コマンド)を受信し、これに応じて、HTTPにてhtml文書をクライアントPC102へ送信する機能を提供する。端的に言えば、webサーバソフトウェアであり、一例としてはApache(http://www.apache.org/)等が、これに該当する。
【0023】
また、webサーバプログラム302は、クライアントPC102の要求に応じ、cgi(Common Gateway Interface)の実行も行う。cgiの実体は、標準出力にテキストを出力するプログラムである。このcgiが生成するテキストが、webサーバプログラム302によってHTTPにてクライアントPC102へ送信される。図3に示す一例では、表示cgi303及び合成地図生成cgi304が用意されている。
【0024】
これらのcgiを構成する要素としては、どのようなプログラミング言語であってもよい。perl(http://www.perl.org/)やPHP(http://php.net/)、python(http://www.python.org/ja/)、ruby(http://www.ruby-lang.org/ja/)等のインタプリタ言語のみならず、C言語やJava(登録商標)等のコンパイルを要する言語であってもよい。簡単な内容であれば、シェルスクリプトであってもよい。
【0025】
各々のcgiは、主にwebブラウザ202に表示する画面を作るためのhtml文書を作成する。つまり、html文書はwebブラウザ202を通じてGUIを作成する手段である。
なお、図3では、上述のように、クライアントPC102の表示部205に表示させる画面ごとに2つのcgiが個別に設けられているが、単一のcgiで構成することも可能である。ただし、その場合は、単一のcgiの中に複数の表示画面を作成する機能が含まれることとなる。
【0026】
表示cgi303は、クライアントPC102から来るアクセス要求に応じて、webサーバプログラム302によって実行される。
表示cgi303は、トップページをクライアントPC102の表示部205に表示するhtml文書を生成する。なお、トップページについては図8にて後述する。
【0027】
合成地図生成cgi304は、クライアントPC102から来るアクセス要求に応じて、webサーバプログラム302によって実行される。
合成地図生成cgi304は、クライアントPC102から送信される住所文字列で第一データベース305及び第二データベース306を検索する。さらに、クライアントPCから送信される検索件数を利用して、ユーザ103の所望する合成地図表示画面をクライアントPC102の表示部205に表示するhtml文書を生成する。ここで、住所文字列及び検索件数は、クライアントPC102の表示部205に表示されているトップページの画面にてユーザ103が入力した文字列及び数値である。なお、合成地図表示画面については図12にて後述する。
【0028】
地図生成サーバ104には、各種テーブルで構成される第一データベース305及び第二データベース306が予め用意されている。第一データベース305は、地図を生成する際に用いる地図関連情報が書き込まれた各テーブルで構成されている。また、第二データベース306は、医療機関に関する、いわゆる医療機関情報が書き込まれた各テーブルで構成されている。
【0029】
図4及び図5は、地図生成サーバ104の第一データベース305及び第二データベース306を構成する各テーブルのフィールドを示している。
【0030】
図4(a)は、住所―位置情報関連テーブル307である。
住所―位置情報関連テーブル307は、各地の住所を示す「各地住所」フィールドとその緯度・経度を示す「各地位置情報」フィールドよりなる。例として、「各地住所」が「北海道川上郡美瑛町本町4丁目」の場合、「各地位置情報」は「各地住所」の中心位置の緯度・経度である「(142.46,43.58)」となる。また、「北海道札幌市」等の役場の位置が分かっている「各地住所」については、「各地位置情報」は役場の緯度・経度となる。
【0031】
図4(b)は、住所レベル定義テーブル308である。
住所レベル定義テーブル308は、「住所レベル」フィールドと「地図の縮尺」フィールドと「住所区分」フィールドよりなる。
「住所レベル」とは、住所の規模を示す値である。「住所レベル」の値が小さい程、住所の規模が小さいことを示している。「住所区分」とは、住所の規模を文字列で表記したものである。また、「地図の縮尺」とは、文字通り表示する地図の尺度を示す値である。
【0032】
図5(a)は、住所テーブル309である。
住所テーブル309は、「医療機関ID」フィールドと「医療機関住所」フィールドと「医療機関位置情報」フィールドよりなる。「医療機関ID」とは、予め第二データベース306に登録してある各医療機関を識別するための識別番号のことである。「医療機関住所」とは、その名の通り各医療機関の住所のことである。また、「医療機関位置情報」とは、医療機関のある地点の緯度・経度のことである。
【0033】
図5(b)は、医療機関マスタテーブル310である。
医療機関マスタテーブル310は、前述した「医療機関ID」フィールドと「医療機関名称」フィールドよりなる。「医療機関名称」とは、その名の通り各医療機関の名称のことである。
【0034】
次に、地図生成サーバ104の合成地図生成cgi304の詳細について説明する。
図6は、合成地図生成cgi304及びその周辺にある機能ブロックのブロック図である。
合成地図生成cgi304のデータ受信部602は、インターネット106及びwebサーバプログラム302を通じて、クライアントPC102からユーザ103の入力した住所文字列および検索件数を取得する。そして、取得した住所文字列をデータ取得部603に出力すると共に、取得した検索件数を機関絞り込み部605に出力する。
【0035】
データ取得部603は、データ受信部602から入力された住所文字列で住所−位置情報関連テーブル307を検索し、該当する「各地位置情報」を取得する。
【0036】
さらに、データ取得部603は、データ受信部602から入力された住所文字列で住所レベル定義テーブル308を検索し、該当する「住所レベル」を取得し、図示しない一時メモリの所定の領域に一時記憶する。そして、図示しない一時メモリ中の現在の「住所レベル」に応じた「地図の縮尺」を住所レベル定義テーブル308から取得する。
【0037】
また、データ取得部603は、取得した「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部604へ出力する。
【0038】
地図表示範囲算出部604は、データ取得部603から入力された「地図の縮尺」、「各地位置情報」等に基づいて、地図の表示範囲を決定する。その際、地図の表示範囲の四隅毎の緯度・経度(以下、「表示範囲位置情報」という)をそれぞれ取得し、この表示範囲位置情報を機関絞り込み部605及びhtml文書生成部607へ出力する。
【0039】
機関絞り込み部605は、データ受信部602及び地図表示範囲算出部604から入力された検索件数及び「表示範囲位置情報」に基づいて、ユーザ103の所望する条件に該当する医療機関の「医療機関ID」すべてを住所テーブル309から取得する。そして、機関絞り込み部605は、取得した「医療機関ID」に基づいて、住所テーブル309及び医療機関マスタテーブル310を絞り込み、該当するレコードを図示しない一時メモリの所定の領域に記憶する。なお、住所テーブル309及び医療機関マスタテーブル310は、当該各テーブルの「医療機関ID」フィールドによって紐付けられている。
【0040】
ところで、一時メモリに記憶されたレコード数がユーザの所望する件数よりかなり多い或いはユーザの所望する件数に満たない場合、機関絞り込み部605は、現在の一時メモリに記憶されている住所レベルを一段階上げた値或いは一段階下げた値を再度取得するようにデータ取得部603に命令を出す。そして、データ取得部603に一時メモリに記憶されている住所レベルを更新させる。なお、ユーザの所望する件数とは、データ受信部602から入力された検索件数に相当する。
【0041】
機関情報処理部606は、機関絞り込み部605によって記憶された一時メモリ内のレコードを読み出し、「医療機関名称」、「医療機関住所」及び「医療機関位置情報」を取得する。そして、取得した「医療機関名称」、「医療機関住所」及び「医療機関位置情報」をhtml文書生成部607へ出力する。
【0042】
このような機関絞り込み部605及び機関情報処理部606は、数多くある各医療機関の中からユーザの所望する数の最寄りの医療機関を検索する機関検索部608を構成している。
【0043】
html文書生成部607は、地図表示範囲算出部604及び機関情報処理部606から入力された「表示範囲位置情報」、「医療機関名称」、「医療機関住所」及び「医療機関位置情報」に基づいて、所定のhtml文書を生成し、webサーバプログラム302に渡す。このhtml文書は、クライアントPC102の表示部205に後述する合成地図表示画面を表示させるhtml文書(以下、「合成地図html文書」という)である。
【0044】
次に、地図生成サーバ104の動作の流れを説明する。
図7は、クライアントPC102、地図生成サーバ104及び地図サーバ105の間で行われる動作を示すシーケンス図である。
【0045】
まず、ユーザ103は、クライアントPC102のwebブラウザ202を起動する(ステップS701)。すると、クライアントPC102のwebブラウザ202は、ネットワーク及び地図生成サーバ104のwebサーバプログラム302を介して、表示cgi303にアクセスする(ステップS702)。これが、トップページ要求である。
【0046】
表示cgi303は、クライアントPC102のwebブラウザ202のアクセスを受けて実行される(ステップS703)。そして、図8に示すトップページ802を構成するhtml文書を作成し、webサーバプログラム302を通じてインターネット106上のクライアントPC102の入出力制御部203に送信する(ステップS704)。
【0047】
クライアントPC102のwebブラウザ202の表示制御部204は、入出力制御部203を介して受信したhtml文書を表示部205に表示する(ステップS705)。この結果、図8のような表示内容、すなわちトップページ802がクライアントPC102の表示部205に表示される。
【0048】
ここで、トップページ802について説明する。
図8は、クライアントPCの表示部に表示されたトップページを示す図である。
ユーザ103は、クライアントPC102の入力部206の一例であるキーボードを操作し、住所文字列入力エリア803及び検索件数入力エリア804に住所文字列及び検索件数を入力する。そして、文字列の入力完了後、ユーザ103は、クライアントPC102の入力部206の一例であるポインティングデバイスにより検索ボタン805をクリックする。すると、webブラウザ202の入出力制御部203は、住所文字列及び検索件数をインターネット106及び地図生成サーバ104のwebサーバプログラム302を介して、合成地図生成cgi304のデータ受信部602に送信する(ステップS706)。なお、住所文字列入力エリア803には、例えば「北海道上川郡美瑛町本町4丁目」等の住所を示す文字列(図8を参照)を入力する。また、検索件数入力エリア804には、例えば「10」等の検索したい医療機関の件数を入力する。
【0049】
再び、図7の説明に戻る。
ステップS706の処理完了後、地図生成サーバ104は合成地図生成cgi304を実行し、合成地図html文書を生成する(ステップS707)。
【0050】
地図生成サーバ104のwebサーバプログラム302は、合成地図生成cgi304の実行により生成された合成地図html文書をインターネット106上のクライアントPC102へ送信する(ステップS708)。
【0051】
そして、クライアントPC102は、合成地図html文書を入出力制御部203により取得し、これを解釈する。そして、地図サーバ105に地図画像要求を送信する(ステップS709)。すなわち、前述のとおり合成地図html文書には、地図画像の所在を示す地図サーバ105のイメージタグが記載されている。そしてクライアントPC102の入出力制御部203は、クライアントPC102へ当該URLの地図画像を送信するように地図サーバ105に要求する。この要求を受けて、地図サーバ105は、地図画像をクライアントPC102へ送信する(ステップS710)。
【0052】
クライアントPC102は、地図サーバ105から地図画像を受信して、表示部205に、図9に示されるような合成地図表示画面902を表示する(ステップS711)。
【0053】
図9は、クライアントPC102の表示部205に表示された合成地図表示画面を示す図である。
合成地図表示画面902は、図8に示すトップページの地図表示エリア806に合成地図903を表示させたものである。
【0054】
合成地図表示画面902のアイコン907の位置は、クライアントPCから送信された住所文字列が示す位置である。この位置とは、住所−位置情報関連テーブル307の各地住所フィールドが当該住所文字列と一致するレコードの、各地位置情報フィールドに書き込まれている緯度・経度のことである。
【0055】
また、合成地図表示画面902の「●(黒丸印)」アイコン904の位置は、クライアントPC102から送信された住所文字列及び検索件数が示す条件を満たす医療機関の緯度・経度に相当する。なお、条件を満たす医療機関の緯度・経度の取得手順については、図10及び図11にて後述する。
【0056】
また、ユーザ103が、ポインティングデバイスによりカーソル905を移動させ、合成地図表示画面902の「●(黒丸印)」アイコン904をクリックすると、医療機関情報パネル906が、合成地図表示画面902上に表示される。この医療機関情報パネル906には、「●(黒丸印)」アイコン904の位置にある医療機関の、医療機関名称、医療機関住所及び医療機関位置情報等の情報が記載されている。なお、この情報の取得手順については、図10及び図11にて後述する。
【0057】
図10及び図11は、図3及び図6に示す合成地図生成cgi304の詳細な処理の流れを示すフローチャートである。図7のステップS707の処理の中身に該当する。
まず、クライアントPC102から住所文字列及び検索件数が合成地図生成cgi304のデータ受信部602に送信されると(図7のステップS706参照)、データ受信部602は送信された住所文字列及データ取得部603へ出力すると共に、検索件数を機関絞り込み部605へ出力する。これが、ステップS707の処理のスタートとなる(ステップS1001)。
【0058】
そして、データ取得部603は、クライアントPC102から送信された住所文字列で、住所―位置情報関連テーブル307の各地住所のフィールドを検索し、該当するレコードの各地位置情報を取得する(ステップS1002)。
【0059】
また、データ取得部603は、クライアントPC102から送信された住所文字列の一部で住所レベル定義テーブル308の住所区分のフィールドを検索し、該当するレコード群の中から最上位のレコードの住所レベルを取得する(ステップS1003)。ここで、住所文字列の一部とは、住所文字列の住所の区分の最下位の文字列(以下、「住所区分最下位文字列」という)のことである。この住所区分最下位文字列とは、例えばクライアントPC102から送信された文字列が「北海道上川郡美瑛長本町4丁目」の場合、「丁目」部分の文字列のことである。また、クライアントPC102から送信された文字列が「北海道札幌市」の場合は、「市」部分が住所区分最下位文字列に該当する。
【0060】
これ以降はループ処理となる。まず、データ取得部603は、取得した住所レベルを変数iに代入する(ステップS1004)。このステップS1004の処理は、一時メモリに取得した住所レベルを一時記憶する処理に相当する。そして、データ取得部603は、住所レベル定義テーブル308のi番目のレコードの地図の縮尺を取得する(ステップS1005)。
【0061】
以上の処理完了後、データ取得部603は、取得した「診療科目ID」を機関絞り込み部605へ、取得した、「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部604へ出力する。
【0062】
地図表示範囲算出部604は、データ取得部603が取得した「地図の縮尺」及び「各地位置情報」と図8に示す地図表示エリア806の大きさに基づいて、当該「各地位置情報」を中心とする地図の4隅の緯度・経度(前述の表示範囲位置情報)を算出する(ステップS1006)。そして、表示範囲位置情報を機関絞り込み部605及びhtml文書生成部607へ出力する。なお、地図表示エリア806の大きさが変更された場合、表示範囲位置情報は、地図表示エリア806の大きさに応じて再度算出される。
【0063】
機関絞り込み部605は、表示範囲位置情報が示す範囲内に含まれる医療機関を住所テーブル309の医療機関位置情報のフィールドから検索し、該当するレコードの「医療機関ID」を取得する(ステップS1007)。
【0064】
次に、機関絞り込み部605は、カウンタを構成する変数jを初期化する(ステップS1008)。そして、変数jにステップS1007の検索でヒットした「医療機関ID」の件数を代入する(ステップS1009)。
【0065】
以上の処理完了後、機関絞り込み部605は、変数jがデータ受信部602から入力された検索件数以上であるか否かを確認する(ステップS1010)。検索件数以上であるならば(ステップS1010YES)、一時変数tmpにjを代入し(ステップS1011)、変数iをデクリメントする(ステップS1012)。そして、機関絞り込み部605は、ステップS1007の処理で取得した医療機関IDと一致する、住所テーブル309及び医療機関マスタテーブル310の各レコードを一時メモリの所定の領域に記憶或いは当該一時メモリを更新する(ステップS1013)。その後、ステップS1005の処理に戻り、ステップS1005〜ステップS1010の処理を繰り返す。
【0066】
変数jがデータ受信部602から入力された検索件数以上でないのであれば(ステップS1010のNO)、機関絞り込み部605は一時変数がj以上であるか否かを確認する(ステップS1014)。tmpがj以上でないならば(ステップS1015)、機関絞り込み部605は変数iをインクリメントする(ステップS1015)。そして、ステップS1007の処理で取得した医療機関IDと一致する、住所テーブル309及び医療機関マスタテーブル310の各レコードを一時メモリの所定の領域に記憶或いは当該一時メモリを更新する(ステップS1016)。そして、ステップS1005の処理に戻り、ステップS1005〜ステップS1010の処理を繰り返す。
【0067】
一時変数tmpが変数j以上であるならば(ステップS1014のYES)、機関情報処理部606は現在一時メモリの所定に記憶されているレコードを読み出す(ステップS1017)。そして、当該レコードの「医療機関住所」、「医療機関位置情報」及び「医療機関名称」をhtml文書生成部607に入力する。
【0068】
html文書生成部607は、地図表示範囲算出部604から入力された表示範囲位置情報、機関情報処理部606から入力された「医療機関名称」、「医療機関位置情報」及び「医療機関住所」に基づいて、合成地図html文書を生成する(ステップS1018)。
【0069】
以上の処理完了後、html文書生成部607は、生成した合成地図html文書をwebサーバプログラム302へ渡し(ステップS1019)、処理を終了する(ステップS1020)。
【0070】
ここで、ステップS1005〜ステップS1016のループ処理について図12及び図13に示す地図のイメージ図を用いて詳細な説明を行う。
図12及び図13の各地図上にある☆(白星印)は、ユーザの入力した住所文字列が示す位置すなわち各地図の中心点1204である。また、○(白丸印)は、各地図上にある医療機関1205を示す。
図12(a)は、1/5000の縮尺の地図を示すイメージ図である。
また、図12(b)は、1/70000縮尺の地図1203を示すイメージ図である。
また、図13は、1/5000000縮尺の地図を示すイメージ図である。
【0071】
例えば、ユーザがトップページにて入力した住所文字列が「北海道上川郡美瑛町4丁目」であり、入力した検索件数が「10」であるとする。
この場合ステップS1003〜ステップS1005の処理では、住所レベル定義テーブル308の住所区分フィールドの「丁目」と同一のレコードにある住所レベル1すなわち1/5000縮尺の地図が選択される。この1/5000縮尺の地図1202上には、2つの医療機関1205だけが存在するとする。1/5000縮尺の地図1202上にある医療機関1205は、ユーザが入力した検索件数である10以下である。このような場合、住所レベルを一段階おきに上げていく、すなわち地図の縮尺を小さくして行く。具体的には、地図の縮尺を、1/5000、1/10000、…、1/70000、…という具合に一段階おきに小さくする。例えば、住所レベルが4、すなわち1/70000縮尺の地図1203になった段階で初めて当該地図上に10以上の医療機関1205が存在する場合、地図の縮尺を1/70000に固定する。そして、ループ処理を終了する。
【0072】
また、ユーザがトップページにて入力した文字列が「北海道」であり、入力した検索件数が「10」であるとする。
この場合ステップS1003〜ステップS1005の処理では、住所レベル定義テーブル308の住所区分フィールドの「県」と同一レコードにある住所レベル7すなわち1/5000000縮尺の地図1301が選択される。この1/5000000縮尺の地図1301上には、ユーザの入力した検索件数である10以上の医療機関1205が存在するとする。このような場合、住所レベルを一段階おきに下げていく、すなわち地図の縮尺を段階的に大きくする。具体的には、地図の縮尺を、1/5000000、1/500000、…、1/25000、…という具合に一段階おきに大きくする。例えば、住所レベルが3、すなわち1/25000縮尺の地図になった段階で初めて当該地図上に存在する医療機関1205の数が10より小さくなった場合、現在の住所レベル3より一段階高い住所レベル4すなわち、地図の縮尺を1/70000に固定する。そして、ループ処理を終了する。なお、地図の縮尺が変更されても図12及び図13の各地図上の中心点1204の位置は変化しない。
【0073】
以上より、ステップS1005〜ステップS1016のループ処理では、ユーザの入力した検索件数より多く、かつ当該検索件数に最も近い数の医療機関1205が存在する縮尺の地図を検索する処理を行っている。
【0074】
次に、ステップS1018の処理におけるhtml文書生成部607の動作について説明する。
html文書生成部607は、地図表示範囲算出部604から入力された表示範囲位置情報の範囲の地図を地図表示エリア806に表示する、いわゆる地図サーバ105へのイメージタグを生成する。さらに、html文書生成部607は、機関情報処理部606から入力された「医療機関位置情報」に基づいて、地図表示エリア807に表示される地図上にアイコン904を表示させる、いわゆるイメージタグを生成する。このようにして、html文書生成部607は、地図表示エリア806に合成地図903(図9を参照)を表示させる合成地図html文書を生成する。なお、このアイコン904は、ユーザ103によってポインティングデバイス等でクリックされることにより、機関情報処理部606から入力された「医療機関名称」、「医療機関住所」及び「医療機関位置情報」等が記載された利用期間情報パネル906を表示するようなタグが埋め込まれている。
【0075】
上述した実施形態において、クライアントPCから送信された住所文字列を利用することにより住所レベルを決定し、その住所レベルを更新することにより地図の縮尺を変更するようにした。しかし、予め住所レベルを“1”に設定しておき、住所レベルを一段階おきに上げていく、すなわち地図の縮尺を小さくしていき、ユーザの所望する縮尺の地図になった時点で地図の縮尺を決定するようにしてもよい。なお、ユーザの所望する地図になった時点とは、当該地図上にある医療機関の数がクライアントPCから送信された検索件数の数を初めて上まわった時点のことである。
【0076】
また、上述した実施形態において、クライアントPC102から地図生成サーバ105への住所文字列及び検索件数の受け渡しはインターネット106を介して行うようにした。この代替として、クライアントPC102の中に地図生成サーバ104を含め、クライアントPC102の入力部206から入力される住所文字列及び検索件数をインターネット106を介さずに地図サーバ104のデータ受信部602に渡せるようにしてもよい。
【0077】
また、上述した実施形態においては、合成地図生成cgi304は地図生成サーバ104の第一データベース305及び第二データベース306から各種データを取得している。この代替として、第一データベース305及び第二データベース306を有するデータベースサーバを設け、当該データベースサーバからインターネット106を介して、各種データを取得するようにしてもよい。
【0078】
また、上述した実施形態においては、地図上のユーザ103が指定した住所付近にあるユーザが指定した件数の医療機関の位置にアイコン904のみを表示するようにしたが、ユーザ103が指定した住所にもアイコンを表示することができる。
【0079】
また、上述した実施形態においては、地図上にユーザ103が指定した住所付近にあるユーザが指定した件数の医療機関の位置を示すアイコン904とユーザ103が指定した住所の位置を示すアイコンを表示するだけであった。これを、当該医療機関とユーザ103が指定した住所との間の最短ルートを地図上に表示するようにしてもよい。
【0080】
以上説明したように、本発明は、所定の縮尺の地図内にユーザ103の指定した検索件数の医療機関が含まれるか否かを確認し、当該地図内に当該検索件数の医療機関が見つかるまで地図の縮尺を自動的に変更するようにした。これにより、ユーザ103は、指定した住所及び検索件数の入力を行うだけで、指定した住所付近にあり、さらにユーザの指定した検索件数の医療機関を自動的に検索することができる。
【0081】
以上、本発明の実施形態の例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことはいうまでもない。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施の形態による、地図生成システムの機能ブロック図である。
【図2】クライアントPCの機能ブロック図である。
【図3】地図生成サーバの機能ブロック図である。
【図4】地図生成サーバの各テーブルのフィールドを示す図である。
【図5】地図生成サーバの各テーブルのフィールドを示す図である。
【図6】合成地図生成cgiを中心とする機能ブロック図である。
【図7】クライアントPCと地図生成サーバと地図サーバとの間で行われる動作を示すシーケンス図である。
【図8】クライアントPC表示部に表示されるトップページを示す図である。
【図9】クライアントPCの表示部に表示される合成地図表示画面を示す図である。
【図10】合成地図生成cgiの詳細な処理の流れを示すフローチャートである。
【図11】合成地図生成cgiの詳細な処理の流れを示すフローチャートである。
【図12】地図のイメージ図である。
【図13】地図のイメージ図である。
【符号の説明】
【0083】
101…地図生成システム、102…クライアントPC、103…ユーザ、104…地図生成サーバ、105…地図サーバ、106…インターネット、202…webブラウザ、203…入出力制御部、204…表示制御部、205…表示部、206…入力部、302…webサーバプログラム、303…表示cgi、304…合成地図生成cgi、305…第一データベース、306…第二データベース307…住所―位置情報関連テーブル、308…住所レベル定義テーブル、309…住所テーブル、310…医療機関マスタテーブル、602…データ受信部、603…データ取得部、604…地図表示範囲算出部、605…機関絞り込み部、606…機関情報処理部、607…html文書生成部、608…機関検索部、802…トップページ、803…住所文字列入力エリア、804…診療科目文字列入力エリア、805…検索ボタン、806…地図表示エリア、902…合成地図表示画面、903…合成地図、904…アイコン、905…カーソル、906…医療機関情報パネル、1202…1/5000縮尺の地図、1203…1/70000縮尺の地図、1301…1/5000000縮尺の地図
【技術分野】
【0001】
本発明は、ユーザが指定した件数の最寄りの医療機関の検索を視覚的に行えるようにする地図を生成する地図生成装置、地図生成方法、地図生成プログラム、並びに地図生成システムに関する。
【背景技術】
【0002】
近年、ますます長寿社会になり、医療機関の重要性が増してきている。急病になった場合には救急車を呼ぶことも考えられるが、救急車を呼ぶほど緊急でない場合や近所の目を気にして救急車を呼べない場合もある。このような場合、従来は電話帳で医療機関を検索していた。しかし、電話帳等による医療機関の検索では、最寄りの医療機関を検索するのは困難であった。
【0003】
そこで、各医療機関の住所、診療科目、空床数などの医療情報を記憶するデータベースにその医療機関が属する地図上の地域を記憶させておく。そして、患者発生場所が属する地図上の地域と診療科目とを指定した検索指令を入力すると、この指定された地域を中心に最寄りの医療機関をデータベースから検索するようなシステムが考えられた。
なお、本発明の先行技術を特許文献1に記す。
【0004】
【特許文献1】特開平8−249403号公報
【0005】
また、高齢化社会の進展に伴い、地域基幹病院と地域の診療所、専門医との間で、連携して在宅医療を支える病診連携システムが重要となっており、患者一人一人に最適の地域の診療所や専門医を迅速的確に検索できれば、医療の効率化に寄与することができる。
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1に記載された救急医療機関検索システムは、最寄りの医療機関を検索できるものの、「セグメントコード」といった特殊なコードを知らなければ最寄の医療機関を知ることができないという問題があった。
【0007】
また、患者の居住地域により適合する診療所や専門医などの分布に偏りがあり、最寄の医療機関が地図上に表示されるまで、地図の縮尺の変更を繰り返したり、表示件数が多すぎる場合に、表示された医療機関を確認する際に煩わしさがあった。
【0008】
本発明はかかる点に鑑みてなされたものであり、「住所」、「検索件数」等を入力するだけで、入力された「検索件数」に応じた数の医療機関であり、且つ入力された「住所から」最寄りの医療機関の位置を確認できる地図を生成する、地図生成装置、地図生成方法、地図生成プログラム並びに地図生成システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明は、ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、住所文字列及び住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で第一データベースを検索して、住所文字列及び住所区分最下位文字列に対応する地図生成関連情報を取得するデータ取得部と、データ取得部が取得した地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、第二データベースに記憶されている医療機関情報の示す各医療機関が、検索件数以上存在するか否かを確認し、存在しない場合は各医療機関の数が検索件数以上になるまで地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を地図表示範囲算出部に算出させ、検索件数に最も近い件数の医療機関の前医療機関情報を出力する医療機関検索部と、医療機関検索部から出力された医療機関情報に基づいて、地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と、を備えるものである。
【0010】
表示される地図内にユーザの指定した検索件数に応じた数の医療機関が存在するか否かを確認し、存在しない場合は、表示される地図の縮尺を自動的に段階的に変更する処理を行った。
【0011】
上記構成によれば、指定した住所の付近にあり、且つ指定した検索件数に応じた数の医療機関を自動的に検索し、それらの医療機関を表示するのに最適な縮尺にて地図を表示し、その地図上に目的とする医療機関の位置を示すことができる。
【発明の効果】
【0012】
本発明によれば、ユーザの指定した住所から最も近く、さらにユーザの所望する検索件数に応じた数の医療機関の位置を確認できる地図を、簡単な操作で生成することが可能となる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態の例を、図1〜図13を参照して説明する。
図1は、本発明の一実施形態の例である地図生成システムの概略図である。
本実施形態例は、クライアントPC(Personal Computer)102のユーザ103に対して効果的に、ユーザ103の所望する範囲の地図及びその地図の範囲内にある医療機関の位置及び当該医療機関に関するその他の情報を提供する地図生成システム101である。
この地図生成システム101は、クライアントPC102、地図生成サーバ104及び地図サーバ105より構成されており、これらの各要素がインターネット106上で相互に接続されている。
【0014】
クライアントPC102は、ユーザ103によって入力される、住所の文字列(以下、「住所文字列」という)及び検索したい医療機関の件数(以下、「検索件数」という)をインターネット106を介して地図生成サーバ104に送信する。
【0015】
地図生成サーバ104は、クライアントPC102から送信された住所文字列及び検索件数に基づいて、所定の範囲の地図及びその地図の範囲内にある病院の様々な情報をクライアントPC102の表示部205に表示させるhtml文書を作成する。そして、そのhtml文書を周知のHTTP(Hyper Text Transfer Protocol)にてクライアントPC102へ送信する。
ここで、地図生成サーバ104は、地図生成装置ともいえる。
【0016】
地図サーバ105は、入力された位置情報に基づいて、所定の範囲の地図画像データをユーザ103に提供する周知のwebサーバである。
【0017】
次に、図1のクライアントPC102について説明する。
図2は、クライアントPC102の機能的な構成を示すブロック図である。なお、図2は本実施形態に用いられる機能ブロック図のみを示している。したがって、本実施形態と関係のない機能の記載は省略している。
【0018】
地図生成サーバ104からクライアントPC102へhtml文書が送信された場合、webブラウザ202を構成する入出力制御部203は、そのhtml文書を受信し、webブラウザ202を構成する表示制御部204を通じて表示部205へ送る。そして、表示部205において、地図生成サーバ104から送られたhtml文書が表示される。
ここで、webブラウザ202は、プログラムにより提供される機能である。
【0019】
入力部206は、キーボード及びポインティングデバイス等である。ユーザ103は、このキーボードやポインティングデバイス等を操作することにより、表示部205に表示されたhtml文書の各リンクを選択したり、html文書を表示させた表示画面の所定のエリアに文字列を入力したりする。このようなユーザ103の入力部206に対する操作は、入出力制御部203を介して、インターネット106上の地図生成サーバ104及び地図サーバ105へ送信される。
【0020】
次に、図1の地図生成サーバ104について説明する。
図3は、地図生成サーバ104の機能的な構成を示すブロック図である。
地図生成サーバ104は、概略的にはHTTPを用いて、図1に示すクライアントPC102にhtml文書を送信する、webサーバの機能を有している。この機能は、クライアントPC102のwebブラウザ202からの要求に応じて行われるものである。
【0021】
地図生成サーバ104は、一般的なネットワークOSが稼働するコンピュータである。ネットワークOSは、一例として、FreeBSD等のBSD系、或いはLinux(登録商標)等のPOSIX(Portable Operating System Interface for UNIX)(UNIXは登録商標)系OS等が挙げられる。
【0022】
地図生成サーバ104は、上述したように、webサーバ機能を持つwebサーバプログラム302を備えている。このwebサーバプログラム302は、クライアントPC102から来る要求(コマンド)を受信し、これに応じて、HTTPにてhtml文書をクライアントPC102へ送信する機能を提供する。端的に言えば、webサーバソフトウェアであり、一例としてはApache(http://www.apache.org/)等が、これに該当する。
【0023】
また、webサーバプログラム302は、クライアントPC102の要求に応じ、cgi(Common Gateway Interface)の実行も行う。cgiの実体は、標準出力にテキストを出力するプログラムである。このcgiが生成するテキストが、webサーバプログラム302によってHTTPにてクライアントPC102へ送信される。図3に示す一例では、表示cgi303及び合成地図生成cgi304が用意されている。
【0024】
これらのcgiを構成する要素としては、どのようなプログラミング言語であってもよい。perl(http://www.perl.org/)やPHP(http://php.net/)、python(http://www.python.org/ja/)、ruby(http://www.ruby-lang.org/ja/)等のインタプリタ言語のみならず、C言語やJava(登録商標)等のコンパイルを要する言語であってもよい。簡単な内容であれば、シェルスクリプトであってもよい。
【0025】
各々のcgiは、主にwebブラウザ202に表示する画面を作るためのhtml文書を作成する。つまり、html文書はwebブラウザ202を通じてGUIを作成する手段である。
なお、図3では、上述のように、クライアントPC102の表示部205に表示させる画面ごとに2つのcgiが個別に設けられているが、単一のcgiで構成することも可能である。ただし、その場合は、単一のcgiの中に複数の表示画面を作成する機能が含まれることとなる。
【0026】
表示cgi303は、クライアントPC102から来るアクセス要求に応じて、webサーバプログラム302によって実行される。
表示cgi303は、トップページをクライアントPC102の表示部205に表示するhtml文書を生成する。なお、トップページについては図8にて後述する。
【0027】
合成地図生成cgi304は、クライアントPC102から来るアクセス要求に応じて、webサーバプログラム302によって実行される。
合成地図生成cgi304は、クライアントPC102から送信される住所文字列で第一データベース305及び第二データベース306を検索する。さらに、クライアントPCから送信される検索件数を利用して、ユーザ103の所望する合成地図表示画面をクライアントPC102の表示部205に表示するhtml文書を生成する。ここで、住所文字列及び検索件数は、クライアントPC102の表示部205に表示されているトップページの画面にてユーザ103が入力した文字列及び数値である。なお、合成地図表示画面については図12にて後述する。
【0028】
地図生成サーバ104には、各種テーブルで構成される第一データベース305及び第二データベース306が予め用意されている。第一データベース305は、地図を生成する際に用いる地図関連情報が書き込まれた各テーブルで構成されている。また、第二データベース306は、医療機関に関する、いわゆる医療機関情報が書き込まれた各テーブルで構成されている。
【0029】
図4及び図5は、地図生成サーバ104の第一データベース305及び第二データベース306を構成する各テーブルのフィールドを示している。
【0030】
図4(a)は、住所―位置情報関連テーブル307である。
住所―位置情報関連テーブル307は、各地の住所を示す「各地住所」フィールドとその緯度・経度を示す「各地位置情報」フィールドよりなる。例として、「各地住所」が「北海道川上郡美瑛町本町4丁目」の場合、「各地位置情報」は「各地住所」の中心位置の緯度・経度である「(142.46,43.58)」となる。また、「北海道札幌市」等の役場の位置が分かっている「各地住所」については、「各地位置情報」は役場の緯度・経度となる。
【0031】
図4(b)は、住所レベル定義テーブル308である。
住所レベル定義テーブル308は、「住所レベル」フィールドと「地図の縮尺」フィールドと「住所区分」フィールドよりなる。
「住所レベル」とは、住所の規模を示す値である。「住所レベル」の値が小さい程、住所の規模が小さいことを示している。「住所区分」とは、住所の規模を文字列で表記したものである。また、「地図の縮尺」とは、文字通り表示する地図の尺度を示す値である。
【0032】
図5(a)は、住所テーブル309である。
住所テーブル309は、「医療機関ID」フィールドと「医療機関住所」フィールドと「医療機関位置情報」フィールドよりなる。「医療機関ID」とは、予め第二データベース306に登録してある各医療機関を識別するための識別番号のことである。「医療機関住所」とは、その名の通り各医療機関の住所のことである。また、「医療機関位置情報」とは、医療機関のある地点の緯度・経度のことである。
【0033】
図5(b)は、医療機関マスタテーブル310である。
医療機関マスタテーブル310は、前述した「医療機関ID」フィールドと「医療機関名称」フィールドよりなる。「医療機関名称」とは、その名の通り各医療機関の名称のことである。
【0034】
次に、地図生成サーバ104の合成地図生成cgi304の詳細について説明する。
図6は、合成地図生成cgi304及びその周辺にある機能ブロックのブロック図である。
合成地図生成cgi304のデータ受信部602は、インターネット106及びwebサーバプログラム302を通じて、クライアントPC102からユーザ103の入力した住所文字列および検索件数を取得する。そして、取得した住所文字列をデータ取得部603に出力すると共に、取得した検索件数を機関絞り込み部605に出力する。
【0035】
データ取得部603は、データ受信部602から入力された住所文字列で住所−位置情報関連テーブル307を検索し、該当する「各地位置情報」を取得する。
【0036】
さらに、データ取得部603は、データ受信部602から入力された住所文字列で住所レベル定義テーブル308を検索し、該当する「住所レベル」を取得し、図示しない一時メモリの所定の領域に一時記憶する。そして、図示しない一時メモリ中の現在の「住所レベル」に応じた「地図の縮尺」を住所レベル定義テーブル308から取得する。
【0037】
また、データ取得部603は、取得した「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部604へ出力する。
【0038】
地図表示範囲算出部604は、データ取得部603から入力された「地図の縮尺」、「各地位置情報」等に基づいて、地図の表示範囲を決定する。その際、地図の表示範囲の四隅毎の緯度・経度(以下、「表示範囲位置情報」という)をそれぞれ取得し、この表示範囲位置情報を機関絞り込み部605及びhtml文書生成部607へ出力する。
【0039】
機関絞り込み部605は、データ受信部602及び地図表示範囲算出部604から入力された検索件数及び「表示範囲位置情報」に基づいて、ユーザ103の所望する条件に該当する医療機関の「医療機関ID」すべてを住所テーブル309から取得する。そして、機関絞り込み部605は、取得した「医療機関ID」に基づいて、住所テーブル309及び医療機関マスタテーブル310を絞り込み、該当するレコードを図示しない一時メモリの所定の領域に記憶する。なお、住所テーブル309及び医療機関マスタテーブル310は、当該各テーブルの「医療機関ID」フィールドによって紐付けられている。
【0040】
ところで、一時メモリに記憶されたレコード数がユーザの所望する件数よりかなり多い或いはユーザの所望する件数に満たない場合、機関絞り込み部605は、現在の一時メモリに記憶されている住所レベルを一段階上げた値或いは一段階下げた値を再度取得するようにデータ取得部603に命令を出す。そして、データ取得部603に一時メモリに記憶されている住所レベルを更新させる。なお、ユーザの所望する件数とは、データ受信部602から入力された検索件数に相当する。
【0041】
機関情報処理部606は、機関絞り込み部605によって記憶された一時メモリ内のレコードを読み出し、「医療機関名称」、「医療機関住所」及び「医療機関位置情報」を取得する。そして、取得した「医療機関名称」、「医療機関住所」及び「医療機関位置情報」をhtml文書生成部607へ出力する。
【0042】
このような機関絞り込み部605及び機関情報処理部606は、数多くある各医療機関の中からユーザの所望する数の最寄りの医療機関を検索する機関検索部608を構成している。
【0043】
html文書生成部607は、地図表示範囲算出部604及び機関情報処理部606から入力された「表示範囲位置情報」、「医療機関名称」、「医療機関住所」及び「医療機関位置情報」に基づいて、所定のhtml文書を生成し、webサーバプログラム302に渡す。このhtml文書は、クライアントPC102の表示部205に後述する合成地図表示画面を表示させるhtml文書(以下、「合成地図html文書」という)である。
【0044】
次に、地図生成サーバ104の動作の流れを説明する。
図7は、クライアントPC102、地図生成サーバ104及び地図サーバ105の間で行われる動作を示すシーケンス図である。
【0045】
まず、ユーザ103は、クライアントPC102のwebブラウザ202を起動する(ステップS701)。すると、クライアントPC102のwebブラウザ202は、ネットワーク及び地図生成サーバ104のwebサーバプログラム302を介して、表示cgi303にアクセスする(ステップS702)。これが、トップページ要求である。
【0046】
表示cgi303は、クライアントPC102のwebブラウザ202のアクセスを受けて実行される(ステップS703)。そして、図8に示すトップページ802を構成するhtml文書を作成し、webサーバプログラム302を通じてインターネット106上のクライアントPC102の入出力制御部203に送信する(ステップS704)。
【0047】
クライアントPC102のwebブラウザ202の表示制御部204は、入出力制御部203を介して受信したhtml文書を表示部205に表示する(ステップS705)。この結果、図8のような表示内容、すなわちトップページ802がクライアントPC102の表示部205に表示される。
【0048】
ここで、トップページ802について説明する。
図8は、クライアントPCの表示部に表示されたトップページを示す図である。
ユーザ103は、クライアントPC102の入力部206の一例であるキーボードを操作し、住所文字列入力エリア803及び検索件数入力エリア804に住所文字列及び検索件数を入力する。そして、文字列の入力完了後、ユーザ103は、クライアントPC102の入力部206の一例であるポインティングデバイスにより検索ボタン805をクリックする。すると、webブラウザ202の入出力制御部203は、住所文字列及び検索件数をインターネット106及び地図生成サーバ104のwebサーバプログラム302を介して、合成地図生成cgi304のデータ受信部602に送信する(ステップS706)。なお、住所文字列入力エリア803には、例えば「北海道上川郡美瑛町本町4丁目」等の住所を示す文字列(図8を参照)を入力する。また、検索件数入力エリア804には、例えば「10」等の検索したい医療機関の件数を入力する。
【0049】
再び、図7の説明に戻る。
ステップS706の処理完了後、地図生成サーバ104は合成地図生成cgi304を実行し、合成地図html文書を生成する(ステップS707)。
【0050】
地図生成サーバ104のwebサーバプログラム302は、合成地図生成cgi304の実行により生成された合成地図html文書をインターネット106上のクライアントPC102へ送信する(ステップS708)。
【0051】
そして、クライアントPC102は、合成地図html文書を入出力制御部203により取得し、これを解釈する。そして、地図サーバ105に地図画像要求を送信する(ステップS709)。すなわち、前述のとおり合成地図html文書には、地図画像の所在を示す地図サーバ105のイメージタグが記載されている。そしてクライアントPC102の入出力制御部203は、クライアントPC102へ当該URLの地図画像を送信するように地図サーバ105に要求する。この要求を受けて、地図サーバ105は、地図画像をクライアントPC102へ送信する(ステップS710)。
【0052】
クライアントPC102は、地図サーバ105から地図画像を受信して、表示部205に、図9に示されるような合成地図表示画面902を表示する(ステップS711)。
【0053】
図9は、クライアントPC102の表示部205に表示された合成地図表示画面を示す図である。
合成地図表示画面902は、図8に示すトップページの地図表示エリア806に合成地図903を表示させたものである。
【0054】
合成地図表示画面902のアイコン907の位置は、クライアントPCから送信された住所文字列が示す位置である。この位置とは、住所−位置情報関連テーブル307の各地住所フィールドが当該住所文字列と一致するレコードの、各地位置情報フィールドに書き込まれている緯度・経度のことである。
【0055】
また、合成地図表示画面902の「●(黒丸印)」アイコン904の位置は、クライアントPC102から送信された住所文字列及び検索件数が示す条件を満たす医療機関の緯度・経度に相当する。なお、条件を満たす医療機関の緯度・経度の取得手順については、図10及び図11にて後述する。
【0056】
また、ユーザ103が、ポインティングデバイスによりカーソル905を移動させ、合成地図表示画面902の「●(黒丸印)」アイコン904をクリックすると、医療機関情報パネル906が、合成地図表示画面902上に表示される。この医療機関情報パネル906には、「●(黒丸印)」アイコン904の位置にある医療機関の、医療機関名称、医療機関住所及び医療機関位置情報等の情報が記載されている。なお、この情報の取得手順については、図10及び図11にて後述する。
【0057】
図10及び図11は、図3及び図6に示す合成地図生成cgi304の詳細な処理の流れを示すフローチャートである。図7のステップS707の処理の中身に該当する。
まず、クライアントPC102から住所文字列及び検索件数が合成地図生成cgi304のデータ受信部602に送信されると(図7のステップS706参照)、データ受信部602は送信された住所文字列及データ取得部603へ出力すると共に、検索件数を機関絞り込み部605へ出力する。これが、ステップS707の処理のスタートとなる(ステップS1001)。
【0058】
そして、データ取得部603は、クライアントPC102から送信された住所文字列で、住所―位置情報関連テーブル307の各地住所のフィールドを検索し、該当するレコードの各地位置情報を取得する(ステップS1002)。
【0059】
また、データ取得部603は、クライアントPC102から送信された住所文字列の一部で住所レベル定義テーブル308の住所区分のフィールドを検索し、該当するレコード群の中から最上位のレコードの住所レベルを取得する(ステップS1003)。ここで、住所文字列の一部とは、住所文字列の住所の区分の最下位の文字列(以下、「住所区分最下位文字列」という)のことである。この住所区分最下位文字列とは、例えばクライアントPC102から送信された文字列が「北海道上川郡美瑛長本町4丁目」の場合、「丁目」部分の文字列のことである。また、クライアントPC102から送信された文字列が「北海道札幌市」の場合は、「市」部分が住所区分最下位文字列に該当する。
【0060】
これ以降はループ処理となる。まず、データ取得部603は、取得した住所レベルを変数iに代入する(ステップS1004)。このステップS1004の処理は、一時メモリに取得した住所レベルを一時記憶する処理に相当する。そして、データ取得部603は、住所レベル定義テーブル308のi番目のレコードの地図の縮尺を取得する(ステップS1005)。
【0061】
以上の処理完了後、データ取得部603は、取得した「診療科目ID」を機関絞り込み部605へ、取得した、「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部604へ出力する。
【0062】
地図表示範囲算出部604は、データ取得部603が取得した「地図の縮尺」及び「各地位置情報」と図8に示す地図表示エリア806の大きさに基づいて、当該「各地位置情報」を中心とする地図の4隅の緯度・経度(前述の表示範囲位置情報)を算出する(ステップS1006)。そして、表示範囲位置情報を機関絞り込み部605及びhtml文書生成部607へ出力する。なお、地図表示エリア806の大きさが変更された場合、表示範囲位置情報は、地図表示エリア806の大きさに応じて再度算出される。
【0063】
機関絞り込み部605は、表示範囲位置情報が示す範囲内に含まれる医療機関を住所テーブル309の医療機関位置情報のフィールドから検索し、該当するレコードの「医療機関ID」を取得する(ステップS1007)。
【0064】
次に、機関絞り込み部605は、カウンタを構成する変数jを初期化する(ステップS1008)。そして、変数jにステップS1007の検索でヒットした「医療機関ID」の件数を代入する(ステップS1009)。
【0065】
以上の処理完了後、機関絞り込み部605は、変数jがデータ受信部602から入力された検索件数以上であるか否かを確認する(ステップS1010)。検索件数以上であるならば(ステップS1010YES)、一時変数tmpにjを代入し(ステップS1011)、変数iをデクリメントする(ステップS1012)。そして、機関絞り込み部605は、ステップS1007の処理で取得した医療機関IDと一致する、住所テーブル309及び医療機関マスタテーブル310の各レコードを一時メモリの所定の領域に記憶或いは当該一時メモリを更新する(ステップS1013)。その後、ステップS1005の処理に戻り、ステップS1005〜ステップS1010の処理を繰り返す。
【0066】
変数jがデータ受信部602から入力された検索件数以上でないのであれば(ステップS1010のNO)、機関絞り込み部605は一時変数がj以上であるか否かを確認する(ステップS1014)。tmpがj以上でないならば(ステップS1015)、機関絞り込み部605は変数iをインクリメントする(ステップS1015)。そして、ステップS1007の処理で取得した医療機関IDと一致する、住所テーブル309及び医療機関マスタテーブル310の各レコードを一時メモリの所定の領域に記憶或いは当該一時メモリを更新する(ステップS1016)。そして、ステップS1005の処理に戻り、ステップS1005〜ステップS1010の処理を繰り返す。
【0067】
一時変数tmpが変数j以上であるならば(ステップS1014のYES)、機関情報処理部606は現在一時メモリの所定に記憶されているレコードを読み出す(ステップS1017)。そして、当該レコードの「医療機関住所」、「医療機関位置情報」及び「医療機関名称」をhtml文書生成部607に入力する。
【0068】
html文書生成部607は、地図表示範囲算出部604から入力された表示範囲位置情報、機関情報処理部606から入力された「医療機関名称」、「医療機関位置情報」及び「医療機関住所」に基づいて、合成地図html文書を生成する(ステップS1018)。
【0069】
以上の処理完了後、html文書生成部607は、生成した合成地図html文書をwebサーバプログラム302へ渡し(ステップS1019)、処理を終了する(ステップS1020)。
【0070】
ここで、ステップS1005〜ステップS1016のループ処理について図12及び図13に示す地図のイメージ図を用いて詳細な説明を行う。
図12及び図13の各地図上にある☆(白星印)は、ユーザの入力した住所文字列が示す位置すなわち各地図の中心点1204である。また、○(白丸印)は、各地図上にある医療機関1205を示す。
図12(a)は、1/5000の縮尺の地図を示すイメージ図である。
また、図12(b)は、1/70000縮尺の地図1203を示すイメージ図である。
また、図13は、1/5000000縮尺の地図を示すイメージ図である。
【0071】
例えば、ユーザがトップページにて入力した住所文字列が「北海道上川郡美瑛町4丁目」であり、入力した検索件数が「10」であるとする。
この場合ステップS1003〜ステップS1005の処理では、住所レベル定義テーブル308の住所区分フィールドの「丁目」と同一のレコードにある住所レベル1すなわち1/5000縮尺の地図が選択される。この1/5000縮尺の地図1202上には、2つの医療機関1205だけが存在するとする。1/5000縮尺の地図1202上にある医療機関1205は、ユーザが入力した検索件数である10以下である。このような場合、住所レベルを一段階おきに上げていく、すなわち地図の縮尺を小さくして行く。具体的には、地図の縮尺を、1/5000、1/10000、…、1/70000、…という具合に一段階おきに小さくする。例えば、住所レベルが4、すなわち1/70000縮尺の地図1203になった段階で初めて当該地図上に10以上の医療機関1205が存在する場合、地図の縮尺を1/70000に固定する。そして、ループ処理を終了する。
【0072】
また、ユーザがトップページにて入力した文字列が「北海道」であり、入力した検索件数が「10」であるとする。
この場合ステップS1003〜ステップS1005の処理では、住所レベル定義テーブル308の住所区分フィールドの「県」と同一レコードにある住所レベル7すなわち1/5000000縮尺の地図1301が選択される。この1/5000000縮尺の地図1301上には、ユーザの入力した検索件数である10以上の医療機関1205が存在するとする。このような場合、住所レベルを一段階おきに下げていく、すなわち地図の縮尺を段階的に大きくする。具体的には、地図の縮尺を、1/5000000、1/500000、…、1/25000、…という具合に一段階おきに大きくする。例えば、住所レベルが3、すなわち1/25000縮尺の地図になった段階で初めて当該地図上に存在する医療機関1205の数が10より小さくなった場合、現在の住所レベル3より一段階高い住所レベル4すなわち、地図の縮尺を1/70000に固定する。そして、ループ処理を終了する。なお、地図の縮尺が変更されても図12及び図13の各地図上の中心点1204の位置は変化しない。
【0073】
以上より、ステップS1005〜ステップS1016のループ処理では、ユーザの入力した検索件数より多く、かつ当該検索件数に最も近い数の医療機関1205が存在する縮尺の地図を検索する処理を行っている。
【0074】
次に、ステップS1018の処理におけるhtml文書生成部607の動作について説明する。
html文書生成部607は、地図表示範囲算出部604から入力された表示範囲位置情報の範囲の地図を地図表示エリア806に表示する、いわゆる地図サーバ105へのイメージタグを生成する。さらに、html文書生成部607は、機関情報処理部606から入力された「医療機関位置情報」に基づいて、地図表示エリア807に表示される地図上にアイコン904を表示させる、いわゆるイメージタグを生成する。このようにして、html文書生成部607は、地図表示エリア806に合成地図903(図9を参照)を表示させる合成地図html文書を生成する。なお、このアイコン904は、ユーザ103によってポインティングデバイス等でクリックされることにより、機関情報処理部606から入力された「医療機関名称」、「医療機関住所」及び「医療機関位置情報」等が記載された利用期間情報パネル906を表示するようなタグが埋め込まれている。
【0075】
上述した実施形態において、クライアントPCから送信された住所文字列を利用することにより住所レベルを決定し、その住所レベルを更新することにより地図の縮尺を変更するようにした。しかし、予め住所レベルを“1”に設定しておき、住所レベルを一段階おきに上げていく、すなわち地図の縮尺を小さくしていき、ユーザの所望する縮尺の地図になった時点で地図の縮尺を決定するようにしてもよい。なお、ユーザの所望する地図になった時点とは、当該地図上にある医療機関の数がクライアントPCから送信された検索件数の数を初めて上まわった時点のことである。
【0076】
また、上述した実施形態において、クライアントPC102から地図生成サーバ105への住所文字列及び検索件数の受け渡しはインターネット106を介して行うようにした。この代替として、クライアントPC102の中に地図生成サーバ104を含め、クライアントPC102の入力部206から入力される住所文字列及び検索件数をインターネット106を介さずに地図サーバ104のデータ受信部602に渡せるようにしてもよい。
【0077】
また、上述した実施形態においては、合成地図生成cgi304は地図生成サーバ104の第一データベース305及び第二データベース306から各種データを取得している。この代替として、第一データベース305及び第二データベース306を有するデータベースサーバを設け、当該データベースサーバからインターネット106を介して、各種データを取得するようにしてもよい。
【0078】
また、上述した実施形態においては、地図上のユーザ103が指定した住所付近にあるユーザが指定した件数の医療機関の位置にアイコン904のみを表示するようにしたが、ユーザ103が指定した住所にもアイコンを表示することができる。
【0079】
また、上述した実施形態においては、地図上にユーザ103が指定した住所付近にあるユーザが指定した件数の医療機関の位置を示すアイコン904とユーザ103が指定した住所の位置を示すアイコンを表示するだけであった。これを、当該医療機関とユーザ103が指定した住所との間の最短ルートを地図上に表示するようにしてもよい。
【0080】
以上説明したように、本発明は、所定の縮尺の地図内にユーザ103の指定した検索件数の医療機関が含まれるか否かを確認し、当該地図内に当該検索件数の医療機関が見つかるまで地図の縮尺を自動的に変更するようにした。これにより、ユーザ103は、指定した住所及び検索件数の入力を行うだけで、指定した住所付近にあり、さらにユーザの指定した検索件数の医療機関を自動的に検索することができる。
【0081】
以上、本発明の実施形態の例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことはいうまでもない。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施の形態による、地図生成システムの機能ブロック図である。
【図2】クライアントPCの機能ブロック図である。
【図3】地図生成サーバの機能ブロック図である。
【図4】地図生成サーバの各テーブルのフィールドを示す図である。
【図5】地図生成サーバの各テーブルのフィールドを示す図である。
【図6】合成地図生成cgiを中心とする機能ブロック図である。
【図7】クライアントPCと地図生成サーバと地図サーバとの間で行われる動作を示すシーケンス図である。
【図8】クライアントPC表示部に表示されるトップページを示す図である。
【図9】クライアントPCの表示部に表示される合成地図表示画面を示す図である。
【図10】合成地図生成cgiの詳細な処理の流れを示すフローチャートである。
【図11】合成地図生成cgiの詳細な処理の流れを示すフローチャートである。
【図12】地図のイメージ図である。
【図13】地図のイメージ図である。
【符号の説明】
【0083】
101…地図生成システム、102…クライアントPC、103…ユーザ、104…地図生成サーバ、105…地図サーバ、106…インターネット、202…webブラウザ、203…入出力制御部、204…表示制御部、205…表示部、206…入力部、302…webサーバプログラム、303…表示cgi、304…合成地図生成cgi、305…第一データベース、306…第二データベース307…住所―位置情報関連テーブル、308…住所レベル定義テーブル、309…住所テーブル、310…医療機関マスタテーブル、602…データ受信部、603…データ取得部、604…地図表示範囲算出部、605…機関絞り込み部、606…機関情報処理部、607…html文書生成部、608…機関検索部、802…トップページ、803…住所文字列入力エリア、804…診療科目文字列入力エリア、805…検索ボタン、806…地図表示エリア、902…合成地図表示画面、903…合成地図、904…アイコン、905…カーソル、906…医療機関情報パネル、1202…1/5000縮尺の地図、1203…1/70000縮尺の地図、1301…1/5000000縮尺の地図
【特許請求の範囲】
【請求項1】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶さている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで前記地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を前記地図表示範囲算出部に算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と
を備える地図生成装置。
【請求項2】
前記第一データベースに記憶された前記地図生成関連情報は、各地の住所である各地住所、該各地住所の緯度・経度情報である各地住所位置情報、住所区分、該住所区分の度合いを示す住所レベル及び地図の尺度である地図の縮尺であり、
前記第二データベースに記憶された前記医療機関情報は、各医療機関の名称である医療機関名称、該各医療機関を識別するための番号である医療機関ID、前記各医療機関の住所を示す医療機関住所及び前記各医療機関の緯度・経度を示す医療機関位置情報である
請求項1に記載の地図生成装置。
【請求項3】
前記地図合成部は、前記データ取得部で取得した前記各地位置情報に基づいて、前記合成地図上の前記データ受信部で取得した前記住所文字列の示す位置に住所アイコンを合成する
請求項2に記載の地図生成装置。
【請求項4】
前記地図合成部は、前記医療機関アイコンと前記住所アイコンの間の最短ルートを算出し、該ルートを前記合成地図上に合成する
請求項3に記載の地図生成装置。
【請求項5】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するステップと、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するステップと、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出するステップと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで地図縮尺及び表示範囲を算出させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を再度算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力するステップと、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成するステップと、
を含む地図生成方法。
【請求項6】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得する手順と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得する手順と、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する手順と、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで地図縮尺及び表示範囲を算出させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を再度算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する手順と、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する手順と、
をコンピュータに実行させる地図生成プログラム。
【請求項7】
クライアントと、前記クライアントに情報を提供する地図生成サーバとよりなる地図生成システムであって、
前記クライアントは、
所定の情報を入力する入力部と、
所定の情報を表示する表示部と、
前記表示部を制御する表示制御部と、
前記入力部から入力された前記文字列を送信すると共に、所定の情報を受信して前記表示制御部に渡す入出力制御部と
を備え、
前記情報検索サーバは、
前記入力部より入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで前記地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を前記地図表示範囲算出部に算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成する所定の形式の文書を生成する文書生成部と、
前記文書生成部で生成された所定の形式の文書をクライアントへ送信する文書送信部と
を備える地図生成システム。
【請求項1】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶さている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで前記地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を前記地図表示範囲算出部に算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と
を備える地図生成装置。
【請求項2】
前記第一データベースに記憶された前記地図生成関連情報は、各地の住所である各地住所、該各地住所の緯度・経度情報である各地住所位置情報、住所区分、該住所区分の度合いを示す住所レベル及び地図の尺度である地図の縮尺であり、
前記第二データベースに記憶された前記医療機関情報は、各医療機関の名称である医療機関名称、該各医療機関を識別するための番号である医療機関ID、前記各医療機関の住所を示す医療機関住所及び前記各医療機関の緯度・経度を示す医療機関位置情報である
請求項1に記載の地図生成装置。
【請求項3】
前記地図合成部は、前記データ取得部で取得した前記各地位置情報に基づいて、前記合成地図上の前記データ受信部で取得した前記住所文字列の示す位置に住所アイコンを合成する
請求項2に記載の地図生成装置。
【請求項4】
前記地図合成部は、前記医療機関アイコンと前記住所アイコンの間の最短ルートを算出し、該ルートを前記合成地図上に合成する
請求項3に記載の地図生成装置。
【請求項5】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するステップと、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するステップと、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出するステップと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで地図縮尺及び表示範囲を算出させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を再度算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力するステップと、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成するステップと、
を含む地図生成方法。
【請求項6】
ユーザにより入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得する手順と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得する手順と、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する手順と、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで地図縮尺及び表示範囲を算出させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を再度算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する手順と、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する手順と、
をコンピュータに実行させる地図生成プログラム。
【請求項7】
クライアントと、前記クライアントに情報を提供する地図生成サーバとよりなる地図生成システムであって、
前記クライアントは、
所定の情報を入力する入力部と、
所定の情報を表示する表示部と、
前記表示部を制御する表示制御部と、
前記入力部から入力された前記文字列を送信すると共に、所定の情報を受信して前記表示制御部に渡す入出力制御部と
を備え、
前記情報検索サーバは、
前記入力部より入力された、住所の文字列である住所文字列及び検索する医療機関の数を示す検索件数を取得するデータ受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に、前記第二データベースに記憶されている前記医療機関情報の示す各医療機関が、前記検索件数以上存在するか否かを確認し、存在しない場合は前記各医療機関の数が前記検索件数以上になるまで前記地図表示範囲算出部に算出する地図縮尺及び表示範囲を変更させ、存在する場合は前記検索件数に最も近い件数の医療機関を表示し得る、地図の縮尺及び表示範囲を前記地図表示範囲算出部に算出させ、前記検索件数に最も近い件数の医療機関の前記医療機関情報を出力する医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成する所定の形式の文書を生成する文書生成部と、
前記文書生成部で生成された所定の形式の文書をクライアントへ送信する文書送信部と
を備える地図生成システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−244927(P2009−244927A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−87207(P2008−87207)
【出願日】平成20年3月28日(2008.3.28)
【出願人】(000109543)テルモ株式会社 (2,232)
【Fターム(参考)】
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願日】平成20年3月28日(2008.3.28)
【出願人】(000109543)テルモ株式会社 (2,232)
【Fターム(参考)】
[ Back to top ]