(57)【要約】【課題】誰でも知り得る所定の情報を入力するだけで、条件に合った最寄りの医療機関の位置を確認できる地図を生成する。【解決手段】まず、ユーザにより入力された住所の文字列である住所文字列を取得し、地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出す。そして、この第一データベースを住所文字列で検索して、それに対応する地図生成関連情報を取得する。次に、この取得した地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する。そして、医療機関情報が記憶されている第二データベースを呼び出し、算出された縮尺及び表示範囲内の地図上に、医療機関が存在するか否かを検索し、存在する場合は地図上に存在する医療機関の医療機関情報を出力する。存在しない場合は再度算出する地図の縮尺及び表示範囲を変更する。そして、算出された尺度及び表示範囲の地図上に存在する各医療機関の位置に医療機関アイコンを合成した合成地図を生成する。【選択図】図６
2009229537.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより入力された住所の文字列である住所文字列を取得する文字列受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記第二データベースの前記医療機関情報の示す各医療機関が地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に存在するか否かを検索し、存在する場合は前記地図上に存在する医療機関の前記医療機関情報を出力し、存在しない場合は前記地図表示範囲算出部に算出する地図の縮尺及び表示範囲を変更させる医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と
を備えることを特徴とする地図生成装置。
【請求項２】
前記文字列受信部は、ユーザより入力された診療科目の文字列である診療科目文字列を取得し、
前記データ取得部は、前記診療科目文字列で前記第二データベースを検索して、該診療科目文字列に対応する医療機関情報を取得し、
前記医療機関検索部は、前記診療科目文字列に対応する医療機関情報で、前記地図表示範囲算出部で算出した地図上にある各医療機関を絞り込み、絞り込んだ各医療機関に対応する医療機関情報を出力する
ことを特徴とする請求項１に記載の地図生成装置。
【請求項３】
前記第一データベースに記憶された前記地図生成関連情報は、各地の住所である各地住所、該各地住所の緯度・経度情報である各地住所位置情報、住所区分、該住所区分の度合いを示す住所レベル及び地図の尺度である地図の縮尺であり、
前記第二データベースに記憶された前記医療機関情報は、各医療機関の名称である医療機関名称、該各医療機関を識別するための番号である医療機関ＩＤ、前記各医療機関の住所を示す医療機関住所、前記各医療機関の緯度・経度を示す医療機関位置情報、各診療科目の名称である診療科目名称及び該各診療科目を識別するための番号である診療科目ＩＤである
ことを特徴とする請求項２に記載の地図生成装置。
【請求項４】
前記地図合成部は、前記データ取得部で取得した前記各地位置情報に基づいて、前記合成地図上の前記文字列受信部で取得した前記住所文字列の示す位置に住所アイコンを合成する
ことを特徴とする請求項３に記載の地図生成装置。
【請求項５】
前記地図合成部は、前記医療機関アイコンと前記住所アイコンの間の最短ルートを算出し、該ルートを前記合成地図上に合成する
ことを特徴とする請求項４に記載の地図生成装置。
【請求項６】
ユーザにより入力された住所の文字列である住所文字列を取得するステップと、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するステップと、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出するステップと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、該第二データベースの前記医療機関情報の示す各医療機関が、算出された縮尺及び表示範囲の地図上に存在するか否かを検索し、存在する場合は前記地図上に存在する医療機関の前記医療機関情報を出力し、存在しない場合は再度算出する地図の縮尺及び表示範囲を変更するステップと、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成するステップと、
を含むことを特徴とする地図生成方法。
【請求項７】
ユーザにより入力された住所の文字列である住所文字列を取得する手順と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースを呼び出し、該第一データベースを前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得する手順と、
前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する手順と、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースを呼び出し、該第二データベースの前記医療機関情報の示す各医療機関が、算出された縮尺及び表示範囲の地図上に存在するか否かを検索し、存在する場合は前記地図上に存在する医療機関の前記医療機関情報を出力し、存在しない場合は再度算出する地図の縮尺及び表示範囲を変更する手順と、
算出された尺度及び表示範囲の地図上に存在する各医療機関の前記医療機関情報に基づいて、算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する手順と、
をコンピュータに実行させることを特徴とする地図生成プログラム。
【請求項８】
クライアントと、前記クライアントに情報を提供する地図生成サーバとよりなる地図生成システムであって、
前記クライアントは、
所定の文字列を入力する入力部と、
所定の情報を表示する表示部と、
前記表示部を制御する表示制御部と、
前記から入力部から入力された前記文字列を送信すると共に、所定の情報を受信して前記表示制御部に渡す入出力制御部と
を備え、
前記情報検索サーバは、
前記入力部より入力された住所の文字列である住所文字列を取得する文字列受信部と、
地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、
医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと、
前記住所文字列及び該住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で前記第一データベースを検索して、前記住所文字列及び前記住所区分最下位文字列に対応する前記地図生成関連情報を取得するデータ取得部と、
前記データ取得部が取得した前記地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、
前記第二データベースの前記医療機関情報の示す各医療機関が地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に存在するか否かを検索し、存在する場合は前記地図上に存在する医療機関の前記医療機関情報を出力し、存在しない場合は前記地図表示範囲算出部に算出する地図の縮尺及び表示範囲を変更させる医療機関検索部と、
前記医療機関検索部から出力された前記医療機関情報に基づいて、前記地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成する所定の形式の文書を生成する文書生成部と、
前記文書生成部で生成された所定の形式の文書をクライアントへ送信する文書送信部と
を備えることを特徴とする地図生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、患者の症状等に合った最寄りの医療機関の検索を視覚的に行えるようにする地図を生成する地図生成装置、地図生成方法、地図生成プログラム、並びに地図生成システムに関する。
【背景技術】
【０００２】
近年、ますます長寿社会になり、医療機関の重要性が増してきている。急病になった場合には救急車を呼ぶことも考えられるが、救急車を呼ぶほど緊急でない場合や近所の目を気にして救急車を呼べない場合もある。このような場合、従来は電話帳で医療機関を検索していた。しかし、電話帳等による医療機関の検索では、症状に適した医療機関を検索するのは困難であった。
【０００３】
そこで、各医療機関の住所、診療科目、空床数などの医療情報を記憶するデータベースにその医療機関が属する地図上の地域を記憶させておく。そして、患者発生場所が属する地図上の地域と診療科目とを指定した検索指令を入力すると、この指定された地域を中心に最寄りの診療科目を有する医療機関をデータベースから検索するようなシステムが考えられた。
なお、本発明の先行技術を特許文献１に記す。
【０００４】
【特許文献１】特開平８−２４９４０３号公報
【０００５】
また、高齢化社会の進展に伴い、地域基幹病院と地域の診療所、専門医との間で、連携して在宅医療を支える病診連携システムが重要となっており、患者一人一人に最適の地域の診療所や専門医を迅速的確に検索できれば、医療の効率化に寄与することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１に記載された救急医療機関検索システムは、患者の症状に該当する診療科目を備えた最寄りの医療機関を検索できるものの、「セグメントコード」及び「診療コード」といった特殊なコードを知らなければ最寄の医療機関を知ることができないという問題があった。
また、患者の居住地域により適合する診療所や専門医などの分布に偏りがあり、最寄の医療機関が地図上に表示されるまで、地図の縮尺の変更を繰り返す煩わしさがあった。
【０００７】
本発明はかかる点に鑑みてなされたものであり、「住所」、「診療科目」等を入力するだけで、当該「診療科目」を備えた、「住所」から最寄りの医療機関の位置を確認できる地図を生成する、地図生成装置、地図生成方法、地図生成プログラム並びに地図生成システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、ユーザにより入力された住所の文字列である住所文字列を取得する文字列受信部と、地図生成に用いる地図生成関連情報が書き込まれたテーブルが記憶されている第一データベースと、医療機関に関する様々な情報である医療機関情報が書き込まれたテーブルが記憶されている第二データベースと住所文字列及びこの住所文字列の住所区分部分の最下位の文字列である住所区分最下位文字列で第一データベースを検索して、住所文字列及び住所区分最下位文字列に対応する地図生成関連情報を取得するデータ取得部と、データ取得部が取得した地図生成関連情報に基づいて、生成する地図の縮尺及び表示範囲を算出する地図表示範囲算出部と、第二データベースの医療機関情報の示す各医療機関が地図表示範囲算出部で算出された縮尺及び表示範囲の地図上に存在するか否かを検索し、存在する場合は地図上に存在する医療機関の医療機関情報を出力し、存在しない場合は地図表示範囲算出部に算出する地図の縮尺及び表示範囲を変更させる医療機関検索部と、医療機関検索部から出力された医療機関情報に基づいて、地図表示範囲算出部で算出された縮尺及び範囲の地図上の医療機関の位置に医療機関アイコンを合成した合成地図を生成する合成地図生成部と、を備えることを特徴とする。
【０００９】
表示される地図内に医療機関が存在するか否かを確認し、存在しない場合は、表示される地図の縮尺を自動的に変更する処理を行った。
【００１０】
上記構成によれば、指定した住所の付近にある医療機関を自動的に検索し、好適な縮尺の地図上に目的とする医療機関の位置を示すことができる。
【発明の効果】
【００１１】
本発明によれば、ユーザの指定した住所から最も近く、さらにユーザの所望する条件に適合する医療機関の位置を確認できる地図を、簡単な操作で生成することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態の例を、図１〜図１２を参照して説明する。
図１は、本発明の一実施形態の例である地図生成システムの概略図である。
本実施形態例は、クライアントＰＣ（Personal Computer）１０２のユーザ１０３に対して効果的に、ユーザ１０３の所望する範囲の地図及びその地図の範囲内にある医療機関の位置及び当該医療機関に関するその他の情報を提供する地図生成システム１０１である。
この地図生成システム１０１は、クライアントＰＣ１０２、地図生成サーバ１０４及び地図サーバ１０５より構成されており、これらの各要素がインターネット１０６上で相互に接続されている。
【００１３】
クライアントＰＣ１０２は、ユーザ１０３によって入力される、住所の文字列（以下、「住所文字列」という）及び診療科目の文字列（以下、「診療科目文字列」という）をインターネット１０６を介して地図生成サーバ１０４に送信する。
【００１４】
地図生成サーバ１０４は、クライアントＰＣ１０２から送信された住所文字列及び診療科目文字列に基づいて、所定の範囲の地図及びその地図の範囲内にある病院の様々な情報をクライアントＰＣ１０２の表示部２０５に表示させるｈｔｍｌ文書を作成する。そして、そのｈｔｍｌ文書を周知のＨＴＴＰ（Hyper Text Transfer Protocol）にてクライアントＰＣ１０２へ送信する。
ここで、地図生成サーバ１０４は、地図生成装置ともいえる。
【００１５】
地図サーバ１０５は、入力された位置情報に基づいて、所定の範囲の地図画像データをユーザ１０３に提供する周知のｗｅｂサーバである。
【００１６】
次に、図１のクライアントＰＣ１０２について説明する。
図２は、クライアントＰＣ１０２の機能的な構成を示すブロック図である。なお、図２は本実施形態に用いられる機能ブロック図のみを示している。したがって、本実施形態と関係のない機能の記載は省略している。
【００１７】
地図生成サーバ１０４からクライアントＰＣ１０２へｈｔｍｌ文書が送信された場合、ｗｅｂブラウザ２０２を構成する入出力制御部２０３は、そのｈｔｍｌ文書を受信し、ｗｅｂブラウザ２０２を構成する表示制御部２０４を通じて表示部２０５へ送る。そして、表示部２０５において、地図生成サーバ１０４から送られたｈｔｍｌ文書が表示される。
【００１８】
入力部２０６は、キーボード及びポインティングデバイス等である。ユーザ１０３は、このキーボードやポインティングデバイス等を操作することにより、表示部２０５に表示されたｈｔｍｌ文書の各リンクを選択したり、ｈｔｍｌ文書を表示させた表示画面の所定のエリアに文字列を入力したりする。このようなユーザ１０３の入力部２０６に対する操作は、入出力制御部２０３を介して、インターネット１０６上の地図生成サーバ１０４及び地図サーバ１０５へ送信される。
【００１９】
次に、図１の地図生成サーバ１０４について説明する。
図３は、地図生成サーバ１０４の機能的な構成を示すブロック図である。
地図生成サーバ１０４は、概略的にはＨＴＴＰを用いて、図１に示すクライアントＰＣ１０２にｈｔｍｌ文書を送信する、ｗｅｂサーバの機能を有している。この機能は、クライアントＰＣ１０２のｗｅｂブラウザ２０２からの要求に応じて行われるものである。
【００２０】
地図生成サーバ１０４は、一般的なネットワークＯＳが稼働するコンピュータである。ネットワークＯＳは、一例として、ＦｒｅｅＢＳＤ等のＢＳＤ系、或いはＬｉｎｕｘ（登録商標）等のＰＯＳＩＸ（Portable Operating System Interface for UNIX）（ＵＮＩＸは登録商標）系ＯＳ等が挙げられる。
【００２１】
地図生成サーバ１０４は、上述したように、ｗｅｂサーバ機能を持つｗｅｂサーバプログラム３０２を備えている。このｗｅｂサーバプログラム３０２は、クライアントＰＣ１０２から来る要求（コマンド）を受信し、これに応じて、ＨＴＴＰにてｈｔｍｌ文書をクライアントＰＣ１０２へ送信する機能を提供する。端的に言えば、ｗｅｂサーバソフトウェアであり、一例としてはＡｐａｃｈｅ（http://www.apache.org/）等が、これに該当する。
【００２２】
また、ｗｅｂサーバプログラム３０２は、クライアントＰＣ１０２の要求に応じ、ｃｇｉ（Common Gateway Interface）の実行も行う。ｃｇｉの実体は、標準出力にテキストを出力するプログラムである。このｃｇｉが生成するテキストが、ｗｅｂサーバプログラム３０２によってＨＴＴＰにてクライアントＰＣ１０２へ送信される。図３に示す一例では、表示ｃｇｉ３０３及び合成地図生成ｃｇｉ３０４が用意されている。
【００２３】
これらのｃｇｉを構成する要素としては、どのようなプログラミング言語であってもよい。ｐｅｒｌ（http://www.perl.org/）やＰＨＰ（http://php.net/）、ｐｙｔｈｏｎ（http://www.python.org/ja/）、ｒｕｂｙ（http://www.ruby-lang.org/ja/）等のインタプリタ言語のみならず、Ｃ言語やＪａｖａ（登録商標）等のコンパイルを要する言語であってもよい。簡単な内容であれば、シェルスクリプトであってもよい。
【００２４】
各々のｃｇｉは、主にｗｅｂブラウザ２０２に表示する画面を作るためのｈｔｍｌ文書を作成する。つまり、ｈｔｍｌ文書はｗｅｂブラウザ２０２を通じてＧＵＩを作成する手段である。
なお、図３では、上述のように、クライアントＰＣ１０２の表示部２０５に表示させる画面ごとに２つのｃｇｉが個別に設けられているが、単一のｃｇｉで構成することも可能である。ただし、その場合は、単一のｃｇｉの中に複数の表示画面を作成する機能が含まれることとなる。
【００２５】
表示ｃｇｉ３０３は、クライアントＰＣ１０２から来るアクセス要求に応じて、ｗｅｂサーバプログラム３０２によって実行される。
表示ｃｇｉ３０３は、トップページをクライアントＰＣ１０２の表示部２０５に表示するｈｔｍｌ文書を生成する。なお、トップページについては図８にて後述する。
【００２６】
合成地図生成ｃｇｉ３０４は、クライアントＰＣ１０２から来るアクセス要求に応じて、ｗｅｂサーバプログラム３０２によって実行される。
合成地図生成ｃｇｉ３０４は、クライアントＰＣ１０２から送信される、住所文字列及び診療科目文字列で第一データベース３０５及び第二データベース３０９を検索する。この検索により、ユーザ１０３の所望する合成地図表示画面をクライアントＰＣ１０２の表示部２０５に表示するｈｔｍｌ文書を生成する。ここで、住所文字列及び診療科目文字列は、クライアントＰＣ１０２の表示部２０５に表示されているトップページの画面にてユーザ１０３が入力した文字列である。なお、合成地図表示画面については図１２にて後述する。
【００２７】
地図生成サーバ１０４には、各種テーブルで構成される第一データベース３０５及び第二データベース３０９が予め用意されている。
第一データベース３０５には、地図生成に関連するテーブルが記憶されている。また、第二データベース３０９には、医療機関情報が書き込まれているテーブルが記憶されている。
図４及び図５は、地図生成サーバ１０４の第一データベース３０５及び第二データベース３０９を構成する各テーブルのフィールドを示している。
図４（ａ）は、診療科目マスタテーブル３０６である。
診療科目マスタテーブル３０６は、「診療科目名称」フィールドと「診療科目ＩＤ」フィールドよりなる。具体的な「診療科目名称」は、例えば「内科」、「脳神経外科」、「糖尿病専門」、「緩和ケア専門」等が挙げられる。そして、このような「内科」、「脳神経外科」、「糖尿病専門」、「緩和ケア専門」等の診療科目に対して、各診療科目を識別するための診療科目ＩＤが割り当てられている。例えば、「内科」には「Ｂ００１」、「脳神経外科」には「Ｂ００２」、「糖尿病専門」には「Ｅ００１」、「緩和ケア専門」には、「Ｅ００２」という具合になっている。
【００２８】
また、診療科目マスタテーブル３０６は診療科目において重複がない状態で各レコードが格納されている。以下、この診療科目の例のように、あるフィールドにおいて「重複がない状態」を「ユニーク（unique）である」と呼ぶ。
【００２９】
図４（ｂ）は、住所―位置情報関連テーブル３０７である。
住所―位置情報関連テーブル３０７は、各地の住所を示す「各地住所」フィールドとその緯度・経度を示す「各地位置情報」フィールドよりなる。例として、「各地住所」が「北海道川上郡美瑛町本町４丁目」の場合、「各地位置情報」は「各地住所」の中心位置の緯度・経度である「（142.46，43.58）」となる。また、「北海道札幌市」等の役所の位置が分かっている「各地住所」については、「各地位置情報」は役所の緯度・経度となる。
【００３０】
図４（ｃ）は、住所レベル定義テーブル３０８である。
住所レベル定義テーブル３０８は、「住所レベル」フィールドと「地図の縮尺」フィールドと「住所区分」フィールドよりなる。
「住所レベル」とは、住所の規模を示す値である。「住所レベル」の値が小さい程、住所の規模が小さいことを示している。「住所区分」とは、住所の規模を文字列で標記したものである。また、「地図の縮尺」とは、文字通り表示する地図の尺度を示す値である。
【００３１】
図５（ａ）は、住所テーブル３１０である。
住所テーブル３１０は、「医療機関ＩＤ」フィールドと「医療機関住所」フィールドと「医療機関位置情報」フィールドよりなる。「医療機関ＩＤ」とは、予めデータベース３０５に登録してある各医療機関を識別するための識別番号のことである。「医療機関住所」とは、その名の通り各医療機関の住所のことである。また、「医療機関位置情報」とは、医療機関のある地点の緯度・経度のことである。
【００３２】
図５（ｂ）は、医療機関―診療科目関連テーブル３１１である。
医療機関―診療科目関連テーブル３１１は、前述した、「医療機関ＩＤ」フィールドと「診療科目ＩＤ」フィールドよりなる。ところで、大学病院等の大きな病院では、様々な科目の診療が行われている。つまり、診療科目が複数ある。このような場合、一つの「医療機関ＩＤ」に対し、複数の「診療科目ＩＤ」が格納されることとなる。この医療機関―診療科目関連テーブル３１１は、主に診療科目マスタテーブル３０６、住所テーブル３１０及び医療機関マスタテーブル３１２の各テーブル間の紐付けを行うために用いられる。
【００３３】
図５（ｃ）は、医療機関マスタテーブル３１２である。
医療機関マスタテーブル３１２は、前述した「医療機関ＩＤ」フィールドと「医療機関名称」フィールドよりなる。「医療機関名称」とは、その名の通り各医療機関の名称のことである。
【００３４】
次に、地図生成サーバ１０４の合成地図生成ｃｇｉ３０４の詳細について説明する。
図６は、合成地図生成ｃｇｉ３０４を中心として機能させたブロック図である。
合成地図生成ｃｇｉ３０４の文字列受信部６０２は、インターネット１０６及びｗｅｂサーバプログラム３０２を通じて、クライアントＰＣ１０２からユーザ１０３の入力した住所文字列および診療科目文字列を取得し、取得した文字列をデータ取得部６０３に出力する。
【００３５】
データ取得部６０３は、文字列受信部６０２から入力された診療科目文字列で診療科目マスタテーブル３０６を検索し、該当する「診療科目ＩＤ」を取得する。
【００３６】
また、データ取得部６０３は、文字列受信部６０２から入力された住所文字列で住所−位置情報関連テーブル３０７を検索し、該当する「各地位置情報」取得する。
【００３７】
さらに、データ取得部６０３は、文字列受信部６０２から入力された住所文字列で住所レベル定義テーブル３０８を検索し、該当する「住所レベル」を取得し、図示しない一時メモリに一時記憶する。そして、図示しない一時メモリ中の現在の「住所レベル」に応じた「地図の縮尺」を住所レベル定義テーブル３０８から取得する。
【００３８】
また、データ取得部６０３は、取得した「診療科目ＩＤ」を機関絞り込み部６０５へ出力すると共に、取得した「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部６０４へ出力する。
【００３９】
地図表示範囲算出部６０４は、データ取得部６０３から入力された「地図の縮尺」、「各地位置情報」等に基づいて、地図の表示範囲を決定する。その際、地図の表示範囲の４隅毎の緯度・経度（以下、「表示範囲位置情報」という）を取得し、この表示範囲位置情報を機関絞り込み部６０５及びｈｔｍｌ文書生成部６０７へ出力する。
【００４０】
機関絞り込み部６０５は、データ取得部６０３及び機関絞込み部６０５から入力された「診療科目ＩＤ」及び「表示範囲位置情報」に基づいて、ユーザ１０３の所望する条件に該当する医療機関の「医療機関ＩＤ」すべてを住所テーブル３１０から取得する。そして、機関絞り込み部６０５は、取得した「医療機関ＩＤ」及びデータ取得部６０３から入力された「診療科目ＩＤ」に基づいて、医療機関−診療科目関連テーブル３１１を絞り込み、該当するレコードの「医療機関ＩＤ」を機関情報処理部６０６へ出力する。
【００４１】
また、機関情報処理部６０６は、機関絞り込み部６０５から入力された「医療機関ＩＤ」に基づいて、医療機関マスタテーブル３１２から「医療機関ＩＤ」に対応する「医療機関名称」を取得する。そして、取得した「医療機関名称」ごとの、「診療科目名称」、「医療機関住所」及び「医療機関位置情報」を医療科目マスタテーブル３０６、住所テーブル３１０及び医療機関マスタテーブル３１２から取得し、ｈｔｍｌ文書生成部６０７へ出力する。なお、医療科目マスタテーブル３０６、住所テーブル３１０及び医療機関マスタテーブル３１２は、医療機関―診療科目関連テーブル３１１によって紐付けられている。
【００４２】
ところで、機関絞り込み部６０５から「医療機関ＩＤ」が入力されなかった場合、機関情報処理部６０６は、現在の一時メモリに記憶されている住所レベルを一段階上げた値に更新する。そして、データ取得部６０３に対し再度一時メモリの住所レベルより一段階上の住所レベルを取得し直すように命令を出す。
【００４３】
このような機関絞り込み部６０５及び機関情報処理部６０６は、数多くある各医療機関の中からユーザの所望する医療機関を検索する機関検索部６０８を構成している。
【００４４】
ｈｔｍｌ文書生成部６０７は、地図表示範囲算出部６０４及び機関情報処理部６０６から入力された「表示範囲位置情報」、「医療機関名称」、「医療機関住所」及び「医療機関位置情報」に基づいて、所定のｈｔｍｌ文書を生成し、ｗｅｂサーバプログラム３０２に渡す。このｈｔｍｌ文書は、クライアントＰＣ１０２の表示部２０５に後述する合成地図表示画面を表示させるｈｔｍｌ文書（以下、「合成地図ｈｔｍｌ文書」という）である。
【００４５】
次に、地図生成サーバ１０４の動作の流れを説明する。
図７は、クライアントＰＣ１０２、地図生成サーバ１０４及び地図サーバ１０５の間で行われる動作を示すシーケンス図である。
【００４６】
まず、ユーザ１０３は、クライアントＰＣ１０２のｗｅｂブラウザ２０２を起動する（ステップＳ７０１）。すると、クライアントＰＣ１０２のｗｅｂブラウザ２０２は、ネットワーク及び地図生成サーバ１０４のｗｅｂサーバプログラム３０２を介して、表示ｃｇｉ３０３にアクセスする（ステップＳ７０２）。これが、トップページ要求である。
【００４７】
表示ｃｇｉ３０３は、クライアントＰＣ１０２のｗｅｂブラウザ２０２のアクセスを受けて実行される（ステップＳ７０３）。そして、図８に示すトップページ８０２を構成するｈｔｍｌ文書を作成し、ｗｅｂサーバプログラム３０２を通じてインターネット１０６上のクライアントＰＣ１０２の入出力制御部２０３に送信する（ステップＳ７０４）。
【００４８】
クライアントＰＣ１０２のｗｅｂブラウザ２０２の表示制御部２０４は、入出力制御部２０３を介して受信したｈｔｍｌ文書を表示部２０５に表示する（ステップＳ７０５）。この結果、図８のような表示内容、すなわちトップページ８０２がクライアントＰＣ１０２の表示部２０５に表示される。
【００４９】
図８は、クライアントＰＣの表示部に表示されたトップページを示す図である。
ユーザ１０３は、クライアントＰＣ１０２の入力部２０６の一例であるキーボードを操作し、住所文字列入力エリア８０３及び診療科目文字列入力エリア８０４に住所文字列及び診療科目文字列を入力する。そして、文字列の入力完了後、ユーザ１０３は、クライアントＰＣ１０２の入力部２０６の一例であるポインティングデバイスにより検索ボタン８０５をクリックする。すると、ｗｅｂブラウザ２０２の入出力制御部２０３は、住所文字列入力エリア８０３及び診療科目文字列入力エリア８０４に入力された、住所文字列及び診療科目文字列を、インターネット１０６及び地図生成サーバ１０４のｗｅｂサーバプログラム３０２を介して、合成地図生成ｃｇｉ３０４の文字列受信部６０２に送信する（ステップＳ７０６）。なお、住所文字列入力エリア８０３には、例えば「北海道上川郡美瑛町本町４丁目」等の住所を示す文字列（図８を参照）を入力する。また、診療科目文字列入力エリア８０４には、例えば「内科」等の診療科目を示す文字列（図８を参照）を入力する。
【００５０】
ステップＳ７０６の処理完了後、地図生成サーバ１０４は合成地図生成ｃｇｉ３０４を実行し、合成地図ｈｔｍｌ文書を生成する（ステップＳ７０７）。
【００５１】
地図生成サーバ１０４のｗｅｂサーバプログラム３０２は、合成地図生成ｃｇｉ３０４の実行により生成された合成地図ｈｔｍｌ文書をインターネット１０６上のクライアントＰＣ１０２へ送信する（ステップＳ７０８）。
【００５２】
そして、クライアントＰＣ１０２は、合成地図ｈｔｍｌ文書を入出力制御部２０３により取得・解釈する。そして、地図サーバ１０５に地図画像要求を送信する（ステップＳ７０９）。すなわち、前述のとおり合成地図ｈｔｍｌ文書には、地図画像の所在を示す地図サーバ１０５のイメージタグが記載されており、クライアントＰＣ１０２の入出力制御部２０３は、クライアントＰＣ１０２に当該ＵＲＬの地図画像を送信するように地図サーバ１０５に要求する。この要求を受けて、地図サーバ１０５は、地図画像をクライアントＰＣ１０２へ送信する（ステップＳ７１０）。
【００５３】
クライアントＰＣ１０２は、地図サーバ１０５から地図画像を受信して、表示部２０５に、図９に示されるような合成地図表示画面９０２を表示する（ステップＳ７１１）。
【００５４】
図９は、クライアントＰＣ１０２の表示部２０５に表示された合成地図表示画面を示す図である。
合成地図表示画面９０２は、図８に示すトップページの地図表示エリア８０６に合成地図９０３を表示させたものである。
【００５５】
合成地図表示画面９０２のアイコン９０７の位置は、クライアントＰＣから送信された住所文字列が示す位置である。この位置とは、住所−位置情報関連テーブル３０７の各地住所フィールドが当該住所文字列と一致するレコードの、各地位置情報フィールドに書き込まれている緯度・経度のことである。
【００５６】
また、合成地図表示画面９０２の「●（黒丸印）」アイコン９０４の位置は、クライアントＰＣ１０２から送信された住所文字列及び診療科目文字列が示す条件を満たす医療機関の緯度・経度に相当する。なお、条件を満たす医療機関の緯度・経度の取得手順については、図１０及び図１１にて後述する。
【００５７】
また、ユーザ１０３が、クライアントＰＣ１０２の入力部２０６の一例であるポインティングデバイスによりカーソル９０５を移動させ、合成地図表示画面９０２の「●（黒丸印）」アイコン９０４をクリックすると、医療機関情報パネル９０６が、合成地図表示画面９０２上に表示される。この医療機関情報パネル９０６には、「●（黒丸印）」アイコン９０４の位置にある医療機関の、医療機関名称、医療機関住所及び医療科目等の情報が記載されている。なお、この情報の取得手順については、図１０及び図１１にて後述する。
【００５８】
図１０及び図１１は、図３及び図６に示す合成地図生成ｃｇｉ３０４の詳細な処理の流れを示すフローチャートである。図７のステップＳ７０７の処理の中身に該当する。
まず、クライアントＰＣ１０２から住所文字列及び診療科目文字列が合成地図生成ｃｇｉ３０４の文字列受信部６０２に送信されると（図７のステップＳ７０６参照）、文字列受信部６０２は送信された住所文字列及び診療科目文字列をデータ取得部６０３へ出力する。これが、ステップＳ７０７の処理のスタートとなる（ステップＳ１００１）。
【００５９】
そして、データ取得部６０３は、クライアントＰＣ１０２から送信された診療科目文字列で、診療科目マスタテーブル３０６の診療科目名称のフィールドを検索し、該当するレコードの診療科目ＩＤを取得する（ステップＳ１００２）。さらに、データ取得部６０３は、クライアントＰＣ１０２から送信された住所文字列で、住所―位置情報関連テーブル３０７の各地住所のフィールドを検索し、該当するレコードの各地位置情報を取得する（ステップＳ１００３）。
【００６０】
また、データ取得部６０３は、クライアントＰＣ１０２から送信された住所文字列の一部で住所レベル定義テーブル３０８の住所区分のフィールドを検索し、該当するレコード群の中から最上位のレコードの住所レベルを取得する（ステップＳ１００４）。ここで、住所文字列の一部とは、住所文字列の住所の区分の最下位の文字列（以下、「住所区分最下位文字列」という）のことである。この住所区分最下位文字列とは、例えばクライアントＰＣ１０２から送信された文字列が「北海道上川郡美瑛長本町４丁目」の場合、「丁目」部分の文字列のことである。また、クライアントＰＣ１０２から送信された文字列が「北海道札幌市」の場合は、「市」部分が住所区分最下位文字列に該当する。
【００６１】
これ以降はループ処理となる。まず、データ取得部６０３は、取得した住所レベルを変数ｉに代入する（ステップＳ１００５）。このステップＳ１００５の処理は、一時メモリに取得した住所レベルを一時記憶する処理に相当する。そして、データ取得部６０３は、住所レベル定義テーブル３０８のｉ番目のレコードの地図の縮尺を取得する（ステップＳ１００６）。
【００６２】
以上の処理完了後、データ取得部６０３は、取得した「診療科目ＩＤ」を機関絞込み部へ、取得した、「地図の縮尺」及び「各地位置情報」を地図表示範囲算出部６０４へ出力する。
【００６３】
地図表示範囲算出部６０４は、データ取得部６０３が取得した「地図の縮尺」及び「各地位置情報」と図８に示す地図表示エリア８０６の大きさに基づいて、当該「各地位置情報」を中心とする地図の４隅の緯度・経度（前述の表示範囲位置情報）を算出する（ステップＳ１００７）。そして、表示範囲位置情報を機関絞り込み部６０５及びｈｔｍｌ文書生成部６０７へ出力する。なお、地図表示エリア８０６の大きさが変更された場合、表示範囲位置情報は、地図表示エリア８０６の大きさに応じて再度算出される。
【００６４】
機関絞り込み部６０５は、表示範囲位置情報が示す範囲内に含まれる医療機関を住所テーブル３１０の医療機関位置情報のフィールドから検索し、該当するレコードの「医療機関ＩＤ」を取得する（ステップＳ１００８）。そして、機関絞り込み部６０５は、医療機関―診療科目関連テーブル３１１の「医療機関ＩＤ」の各レコードを、取得した「医療機関ＩＤ」で絞り込む。そして、「医療機関ＩＤ」で絞り込んだ医療機関―診療科目関連テーブル３１１の各レコードを、データ取得部６０３から入力された「診療科目ＩＤ」で更に絞り込む（ステップＳ１００９）。
【００６５】
以上の処理完了後、機関情報処理部６０６は、ステップＳ１００９の処理で絞り込まれた医療機関―診療科目関連テーブル３１１が存在するか否か、すなわちクライアントＰＣ１０２から送信された住所文字列及び診療科目文字列の条件を満たす医療機関が存在するか否かを確認する（ステップＳ１０１０）。このステップＳ１０１０で医療機関が存在しないと判定された場合には（ＮＯ）、データ取得部６０３は変数ｉの値をインクリメント（ステップＳ１０１１）、すなわち現在の住所レベルを一段階上げた値に一時メモリを更新する。そして、ステップＳ１００６の処理に戻り、地図の縮尺を一段階小さくし、ステップＳ１００６〜ステップＳ１０１０の処理を繰り返す。
【００６６】
ここで、ステップＳ１００６〜ステップＳ１０１０のループ処理について図１２に示す地図のイメージ図を用いて詳細な説明を行う。
図１２の各地図上にある☆（白星印）は、ユーザの入力した住所文字列が示す位置すなわち各地図の中心点１２０５である。また、○（白丸印）は、各地図上にある医療機関１２０４を示す。
図１２（ａ）は、１／５０００の縮尺の地図を示すイメージ図である。
また、図１２（ｂ）は、１／７００００縮尺の地図１２０３を示すイメージ図である。
１／５０００縮尺の地図１２０２は、現在の住所レベルが１の時の地図に相当する。この１／５０００縮尺の地図１２０２上には、医療機関が存在しないとする。このような場合、住所レベルを一段階おきに上げていく、すなわち地図の縮尺を小さくして行く。具体的には、地図の縮尺を、１／５０００、１／１００００、…、１／７００００、…という具合に一段階おきに小さくする。例えば、住所レベルが４、すなわち１／７００００縮尺の地図１２０３になった段階で初めて当該地図上に医療機関１２０４が１つ以上存在する場合、地図の縮尺を１／７００００に固定する。そして、ループ処理を終了する。なお、地図の縮尺が変更されても図１２の各地図上の中心点１２０５の位置は変化しない。
【００６７】
再び、図１０及び図１１の説明に戻る。
ステップＳ１００９の処理で絞り込んだ医療機関―診療科目関連テーブル３１１が存在する、すなわち医療機関が存在するならば（ステップＳ１０１０のＹＥＳ）、絞り込まれた医療機関―診療科目関連テーブル３１１の各医療機関ＩＤ（以下、「絞込医療機関ＩＤ」という）で医療機関マスタテーブル３１２を検索し、該当するすべてのレコードの医療機関名称を取得する（ステップＳ１０１２）。
【００６８】
そして、機関情報処理部６０６は、ステップＳ１０１２の処理で取得した「医療機関名称」に対応する「医療機関位置情報」、「医療機関住所」及び「診療科目名称」を医療機関―診療科目関連テーブル３１１で紐付けられた、診療科目マスタテーブル３０６、住所テーブル３１０及び医療機関マスタテーブル３１２から取得し（ステップＳ１０１３）、「医療機関名称」と共にｈｔｍｌ文書生成部６０７へ出力する。
【００６９】
ｈｔｍｌ文書生成部６０７は、地図表示範囲算出部６０４から入力された表示範囲位置情報、機関情報処理部６０６から入力された「医療機関名称」、「医療機関位置情報」及び「医療機関住所」に基づいて、合成地図ｈｔｍｌ文書を生成する（ステップＳ１０１４）。
【００７０】
ここで、ステップＳ１０１４の処理におけるｈｔｍｌ文書生成部６０７の動作について説明する。
ｈｔｍｌ文書生成部６０７は、地図表示範囲算出部６０４から入力された表示範囲位置情報の範囲における地図を地図表示エリア８０６に合成地図９０３（図９を参照）を表示する、いわゆる地図サーバ１０５へのイメージタグを生成する。さらに、ｈｔｍｌ文書生成部６０７は、機関情報処理部６０６から入力された「医療機関位置情報」に基づいて、地図表示エリア８０７に表示される地図上にアイコン９０４を表示させる、いわゆるイメージタグを生成する。なお、このアイコンは、ユーザ１０３によって入力部２０６の一例であるポインティングデバイス等でクリックされることにより、機関情報処理部６０６から入力された「医療機関名称」、「診療科目名称」及び「医療機関住所」等が記載された利用期間情報パネル９０６を表示するようにしてある。
【００７１】
以上の処理完了後、ｈｔｍｌ文書生成部６０７は、生成した合成地図ｈｔｍｌ文書をｗｅｂサーバプログラム３０２へ渡し（ステップＳ１０１５）、処理を終了する（ステップＳ１０１６）。
【００７２】
なお、上述した実施形態において、クライアントＰＣ１０２から地図生成サーバ１０５への住所文字列及び診療科目文字列の受け渡しはインターネット１０６を介して行うようにしたが、クライアントＰＣ１０２の中に地図生成サーバ１０４を含め、クライアントＰＣ１０２の入力部２０６から入力される住所文字列及び診療科目文字列をインターネット１０６を介さずに地図サーバ１０４の文字列受信部６０２に渡せるようにしてもよい。
【００７３】
また、上述した実施形態においては、合成地図生成ｃｇｉ３０４は地図生成サーバ１０４の第一データベース３０５及び第二データベース３０９から各種データを取得しているが、その代替として、第一データベース３０５及び第二データベース３０９を有するデータベースサーバを設け、当該データベースサーバからインターネット１０６を介して、各種データを取得するようにしてもよい。
【００７４】
また、上述した実施形態においては、地図上のユーザ１０３が指定した住所から最寄の医療機関の位置にアイコン９０４のみを表示するようにしたが、ユーザ１０３が指定した住所にもアイコンを表示することができる。
【００７５】
また、上述した実施形態においては、地図上にユーザ１０３が指定した住所から最寄の医療機関の位置を示すアイコン９０４とユーザ１０３が指定した住所の位置を示すアイコンを表示するだけであったが、当該医療機関とユーザ１０３が指定した住所との間の最短ルートを地図上に表示するようにしてもよい。
【００７６】
以上説明したように、本発明は、所定の縮尺の地図内にユーザ１０３の指定した診療科目を有する医療機関が含まれるか否かを確認し、当該地図内に医療機関が見つかるまで地図の縮尺を自動的に小さくするようにした。これにより、ユーザ１０３は、指定した住所及び診療科目の入力を行うだけで、指定した住所から最寄の医療機関を自動的に検索することができる。さらに、検索にヒットする医療機関は、ユーザ１０３の指定した条件（住所及び診療科目）を満たす医療機関のみに絞り込まれており、ユーザ１０３の利便性が向上するという利点がある。
【００７７】
以上、本発明の実施形態の例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことはいうまでもない。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施の形態による、地図生成システムの機能ブロック図である。
【図２】クライアントＰＣの機能ブロック図である。
【図３】地図生成サーバの機能ブロック図である。
【図４】地図生成サーバの各テーブルのフィールドを示す図である。
【図５】地図生成サーバの各テーブルのフィールドを示す図である。
【図６】合成地図生成ｃｇｉを中心とする機能ブロック図である。
【図７】クライアントＰＣと地図生成サーバと地図サーバとの間で行われる動作を示すシーケンス図である。
【図８】クライアントＰＣ表示部に表示されるトップページを示す図である。
【図９】クライアントＰＣの表示部に表示される合成地図表示画面を示す図である。
【図１０】合成地図生成ｃｇｉの詳細な処理の流れを示すフローチャートである。
【図１１】合成地図生成ｃｇｉの詳細な処理の流れを示すフローチャートである。
【図１２】地図のイメージ図である。
【符号の説明】
【００７９】
１０１…地図生成システム、１０２…クライアントＰＣ、１０３…ユーザ、１０４…地図生成サーバ、１０５…地図サーバ、１０６…インターネット、２０２…ｗｅｂブラウザ、２０３…入出力制御部、２０４…表示制御部、２０５…表示部、２０６…入力部、３０２…ｗｅｂサーバプログラム、３０３…表示ｃｇｉ、３０４…合成地図生成ｃｇｉ、３０５…第一データベース、３０６…診療科目マスタテーブル、３０７…住所―位置情報関連テーブル、３０８…住所レベル定義テーブル、３０９…第二データサーバ、３１０…住所テーブル、３１１…医療機関―診療科目関連テーブル、３１２…医療機関マスタテーブル、６０２…文字列受信部、６０３…データ取得部、６０４…地図表示範囲算出部、６０５…機関絞り込み部、６０６…機関情報処理部、６０７…ｈｔｍｌ文書生成部、６０８…機関検索部、８０２…トップページ、８０３…住所文字列入力エリア、８０４…診療科目文字列入力エリア、８０５…検索ボタン、８０６…地図表示エリア、９０２…合成地図表示画面、９０３…合成地図、９０４…アイコン、９０５…カーソル、９０６…医療機関情報パネル、９０７…アイコン１２０２…１／５０００縮尺の地図、１２０３…１／７００００縮尺の地図、１２０４…医療機関
【図１】
2009229537.tif 000003
【図２】
2009229537.tif 000004
【図３】
2009229537.tif 000005
【図４】
2009229537.tif 000006
【図５】
2009229537.tif 000007
【図６】
2009229537.tif 000008
【図７】
2009229537.tif 000009
【図８】
2009229537.tif 000010
【図９】
2009229537.tif 000011
【図１０】
2009229537.tif 000012
【図１１】
2009229537.tif 000013
【図１２】
2009229537.tif 000014