(57)【特許請求の範囲】
【請求項１】
医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の医療施設の前記医療情報を前記複数のサーバーに分散して管理する医療情報管理システムであって、
前記複数のサーバーの稼働時間を示す情報をそれぞれ記憶した稼働時間情報記憶部と、
前記医療情報が記憶された前記サーバーを示す管理情報を記憶する管理情報記憶部と、
前記複数のサーバーに含まれる第１のサーバーの前記稼働時間と、前記第１のサーバー以外の他のサーバーの前記稼働時間とを比較し、前記他のサーバーのうち、前記第１のサーバーが稼働していない時間に稼働しているサーバーを含む第１の群を通知する稼働状況分析部と、
通知された当該他のサーバーから、前記第１のサーバーに記憶された前記医療情報の一時保存を行うための第２のサーバーを決定し、前記第１のサーバーの前記医療情報記憶部に記憶された前記医療情報を、前記第１の群に含まれる前記第２のサーバーに送信する医療情報送信部と、
を備えたことを特徴とする医療情報管理システム。
【請求項２】
前記医療情報送信部は、使用される可能性の高い前記医療情報を推定し、推定された前記医療情報を前記第２のサーバーに送信することを特徴とする請求項１に記載の医療情報管理システム。
【請求項３】
前記医療情報送信部は、前記医療情報に対応する患者の症状の度合い、または前記医療情報に含まれる情報量に基づいて、前記使用される可能性の高い医療情報を推定することを特徴とする請求項２に記載の医療情報管理システム。
【請求項４】
前記第２のサーバーは、
自身に記憶されている前記医療情報と、前記第１のサーバーから送信された前記医療情報とを区別して記憶し、
さらに、
外部からの検索要求に基づいて前記第１のサーバーから送信された前記医療情報を検索する検索部を備えることを特徴とする請求項１に記載の医療情報管理システム。
【請求項５】
前記医療情報送信部は、前記複数のサーバーそれぞれの処理負荷情報を求め、前記処理負荷情報に基づいて、前記第２のサーバーを決定することを特徴とする請求項１に記載の医療情報管理システム。
【請求項６】
前記医療情報送信部は、前記処理負荷情報に基づいて、レスポンスの早いサーバーを前記第２のサーバーとして決定することを特徴とする請求項５に記載の医療情報管理システム。
【請求項７】
医療情報を記憶する医療情報記憶部を備えた複数の医療情報サーバーと、
複数の医療施設の情報を管理するものであり、前記医療情報が記憶された前記医療情報サーバーを示す管理情報を記憶する管理情報サーバーと、
を備えた医療情報管理システムであって、
前記医療情報サーバー及び前記管理情報サーバーのうち、少なくとも一方は、
前記複数の医療情報サーバーの稼働時間を示す情報を記憶した稼働時間情報記憶部と、
前記複数の医療情報サーバーに含まれる第１の医療情報サーバーの前記稼働時間と、前記第１の医療情報サーバー以外の他の医療情報サーバーの前記稼働時間とを比較し、前記他の医療情報サーバーのうち、前記第１の医療情報サーバーが稼働していない時間に稼働している医療情報サーバーを含む第１の群を通知する稼働状況分析部と、
通知された当該他の医療情報サーバーから、前記第１の医療情報サーバーに記憶された前記医療情報の一時保存を行う第２の医療情報サーバーを決定し、前記第１の医療情報サーバーの前記医療情報記憶部に記憶された前記医療情報を、前記第１の群に含まれる前記第２の医療情報サーバーに送信する医療情報送信部と、
を備えたことを特徴とする医療情報管理システム。
【請求項８】
前記管理情報に基づき、前記複数のサーバーのうち前記医療情報が記憶されていないサーバーを含む第２の群を通知する管理情報分析部を備え、
前記医療情報送信部は、前記第１の群及び前記第２の群の双方に含まれるサーバーを前記第２のサーバーとして特定することを特徴とする請求項１に記載の医療情報管理システム。
【請求項９】
第２の医療情報の検索要求を受け付ける医療情報参照部を備え、
前記稼働状況分析部は、前記複数のサーバーの稼働時間に基づき、要求を受けた時点において稼働しているサーバーを含む第３の群を通知し、
前記管理情報分析部は、前記管理情報に基づき、前記第２の医療情報が記憶されているサーバーを含む第４の群を通知し、
前記医療情報参照部は、前記検索要求を受けて、前記第３の群及び前記第４の群の双方に含まれるサーバーの一つを第３のサーバーとして特定し、当該第３のサーバーに当該第２の医療情報を送信させることを特徴とする請求項８に記載の医療情報管理システム。
【請求項１０】
前記サーバーは、
自己の処理負荷を算出する性能情報算出部を備え、
前記医療情報参照部は、前記第３の群及び前記第４の群の双方に含まれるサーバーが複数存在する場合、当該双方に含まれたサーバーの前記性能情報算出部に前記処理負荷を算出させ、当該処理負荷を比較し、当該処理負荷が最も低いサーバーを第３のサーバーとして特定することを特徴とする請求項９に記載の医療情報管理システム。
【請求項１１】
前記医療情報記憶部は、前記医療情報を、当該医療情報のアクセス回数と関連付けて記憶し、
前記医療情報送信部は、前記医療情報記憶部に記憶された前記医療情報から、前記アクセス回数が所定の閾値以上となる前記医療情報を、第１の医療情報として特定することを特徴とする請求項１乃至請求項１０のいずれかに記載の医療情報管理システム。
【請求項１２】
前記医療情報送信部は、前記医療情報記憶部に記憶された前記医療情報から、前記医療情報に含まれた少なくとも一部の条件に該当する第１の医療情報を特定することを特徴とする請求項１乃至請求項１０のいずれかに記載の医療情報管理システム。
【請求項１３】
医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の前記医療情報を前記複数のサーバーに分散して管理する医療情報管理システムによる医療情報管理方法であって、
あらかじめ記憶された複数のサーバーの稼働時間を基に、前記複数のサーバーに含まれる第１のサーバーの前記稼働時間と、前記第１のサーバー以外の他のサーバーの前記稼働時間とを比較し、前記他のサーバーのうち、前記第１のサーバーが稼働していない時間に稼働しているサーバーを含む第１の群を特定する第１の群特定ステップと、
あらかじめ記憶された前記医療情報が記憶された前記サーバーを示す管理情報を基に、前記複数のサーバーのうち第１の医療情報が記憶されていないサーバーを含む第２の群を特定する第２の群特定ステップと、
前記第１の群及び前記第２の群の双方に含まれるサーバーを第２のサーバーとして特定し、前記第１の医療情報を前記第２のサーバーに送信する送信ステップと、
前記第１の医療情報の検索要求を受けて、前記複数のサーバーの稼働時間に基づき、要求を受けた時点において稼働しているサーバーを含む第３の群を特定する第３の群特定ステップと、
前記管理情報に基づき、前記第１の医療情報が記憶されているサーバーを含む第４の群を特定する第４の群特定ステップと、
前記第３の群及び前記第４の群の双方に含まれるサーバーの一つを第３のサーバーとして特定し、当該第３のサーバーに当該第１の医療情報を送信させる参照ステップと、
を備えたことを特徴とする医療情報管理方法。
【請求項１４】
医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の前記医療情報を前記複数のサーバーに分散して管理する医療情報管理システムであって、
前記複数のサーバーの稼働時間をそれぞれ記憶した稼働時間情報記憶部と、
前記医療情報が記憶された前記サーバーを示す管理情報を記憶する管理情報記憶部と、
前記複数のサーバーに含まれる第１のサーバーの前記稼働時間と、前記第１のサーバー以外の他のサーバーの前記稼働時間とを比較し、前記他のサーバーのうち、前記第１のサーバーが稼働していない時間に稼働している第２のサーバーを通知する稼働状況分析部と、
を備え、
前記第１のサーバーは、
前記医療情報記憶部に記憶された第１の医療情報を、前記第２のサーバーに送信する医療情報送信部を、
備えたことを特徴とする医療情報管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複数のサーバー間で医療情報の送受信を行う医療情報管理システムの技術に関する。
【背景技術】
【０００２】
所定の地域内に含まれる複数の医療機関の間で、各医療機関にそれぞれ管理・記憶されている医療情報（例えば、患者の診療記録や読影レポート等）の共有を可能とする地域連携システムがある。地域連携システムでは、地域内の複数の医療機関から参照可能なデータセンターを備え、このデータセンターに各医療情報の所在（即ち、医療機関）を管理情報として記憶させている。この管理情報を基に、地域内の医療機関は、他の医療機関で作成された医療情報を、その医療機関からネットワークを介して取得する。このように地域連携システムでは、複数の医療情報が各医療機関に分散して管理されているような場合において、ネットワークを介して医療情報を共有することで、地域内の複数の医療機関による連携を可能としている。
【０００３】
一方で、地域内の複数の医療機関は、業務時間が一致しているとは限らない。そのため、医療情報を管理するサーバーの稼働時間は医療機関ごとに異なる場合がある。これにより、あるサーバーの非稼働時間中には、そのサーバーに記憶された医療情報を、他の医療機関が利用することは困難である。この非稼働時間を見越して、そのサーバーに記憶された医療情報の複製をあらかじめ各医療機関に記憶させておくことで、非稼働時間にその医療情報を参照可能とする方法もある。しかしながら、地域内の各医療機関で、全ての医療機関にそれぞれ記憶された医療情報の複製を全て記憶させるには膨大な記憶領域を必要とする。特に、地域内の医療機関に記憶された医療情報の数は、医療機関の数が増えると指数関数的に増加するため、全医療情報の複製を各医療機関に記憶させることは極めて困難である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開特開２００８−２８４２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明の実施形態は、医療情報を複数のサーバーに分散して管理する医療情報管理システムにおいて、その稼働時間に拘らず医療情報の共有を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、この実施形態の第１の態様は、医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の医療施設の医療情報を複数のサーバーに分散して管理する医療情報管理システムである。医療情報管理システムは、稼働時間情報記憶部と、稼働状況分析部と、医療情報送信部とを備える。稼働時間情報記憶部は、複数のサーバーの稼働時間をそれぞれ記憶する。管理情報記憶部は、医療情報が記憶されたサーバーを示す管理情報を記憶する。稼働状況分析部は、複数のサーバーに含まれる第１のサーバーの稼働時間と、第１のサーバー以外の他のサーバーの稼働時間とを比較し、他のサーバーのうち、第１のサーバーが稼働していない時間に稼働しているサーバーを含む第１の群を通知する。医療情報送信部は、通知された当該他のサーバーから、第１のサーバーに記憶された医療情報の一時保存を行うための第２のサーバーを決定し、第１のサーバーの医療情報記憶部に記憶された医療情報を、第１の群に含まれる第２のサーバーに送信する。
また、この実施形態の第２の態様は、医療情報を記憶する医療情報記憶部を備えた複数の医療情報サーバーと、管理情報サーバーとを備えた医療情報管理システムである。管理情報サーバーは、複数の医療施設の情報を管理するものであり、医療情報が記憶された医療情報サーバーを示す管理情報を記憶する。医療情報サーバー及び管理情報サーバーのうち、少なくとも一方は、稼働時間情報記憶部と、稼働状況分析部と、医療情報送信部とを備える。稼働時間情報記憶部は、複数の医療情報サーバーの稼働時間を示す情報を記憶する。稼働状況分析部は、複数の医療情報サーバーに含まれる第１の医療情報サーバーの稼働時間と、第１の医療情報サーバー以外の他の医療情報サーバーの稼働時間とを比較し、他の医療情報サーバーのうち、第１の医療情報サーバーが稼働していない時間に稼働している医療情報サーバーを含む第１の群を通知する。医療情報送信部は、通知された当該他のサーバーから、第１の医療情報サーバーに記憶された医療情報の一時保存を行う第２の医療情報サーバーを決定し、第１の医療情報サーバーの医療情報記憶部に記憶された医療情報を、第１の群に含まれる第２の医療情報サーバーに送信する。
また、この実施形態の第３の態様は、医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の医療情報を複数のサーバーに分散して管理する医療情報管理システムによる医療情報管理方法である。この医療情報管理方法は、第１の群特定ステップと、第２の群特定ステップと、送信ステップと、第３の群特定ステップと、第４の群特定ステップと、参照ステップと、を備える。第１の群特定ステップは、あらかじめ記憶された複数のサーバーの稼働時間を基に、複数のサーバーに含まれる第１のサーバーの稼働時間と、第１のサーバー以外の他のサーバーの稼働時間とを比較し、他のサーバーのうち、第１のサーバーが稼働していない時間に稼働しているサーバーを含む第１の群を特定する。第２の群特定ステップは、あらかじめ記憶された医療情報が記憶されたサーバーを示す管理情報を基に、複数のサーバーのうち第１の医療情報が記憶されていないサーバーを含む第２の群を特定する。送信ステップは、第１の群及び第２の群の双方に含まれるサーバーを第２のサーバーとして特定し、第１の医療情報を第２のサーバーに送信する。第３の群特定ステップは、第１の医療情報の検索要求を受けて、複数のサーバーの稼働時間に基づき、要求を受けた時点において稼働しているサーバーを含む第３の群を特定する。第４の群特定ステップは、管理情報に基づき、第１の医療情報が記憶されているサーバーを含む第４の群を特定する。参照ステップは、第３の群及び第４の群の双方に含まれるサーバーの一つを第３のサーバーとして特定し、当該第３のサーバーに当該第１の医療情報を送信させる。
また、この実施形態の第４の態様は、医療情報を記憶する医療情報記憶部を備えたサーバーが、ネットワークを介して複数接続され、複数の医療情報を複数のサーバーに分散して管理する医療情報管理システムである。医療情報管理システムは、稼働時間情報記憶部と、稼働状況分析部と、を備える。稼働時間情報記憶部は、複数のサーバーの稼働時間をそれぞれ記憶する。管理情報記憶部は、医療情報が記憶されたサーバーを示す管理情報を記憶する。稼働状況分析部は、複数のサーバーに含まれる第１のサーバーの稼働時間と、第１のサーバー以外の他のサーバーの稼働時間とを比較し、他のサーバーのうち、第１のサーバーが稼働していない時間に稼働している第２のサーバーを通知する。第１のサーバーは、医療情報送信部を備える。医療情報送信部は、医療情報記憶部に記憶された第１の医療情報を、第２のサーバーに送信する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る医療情報管理システムのブロック図である。
【図２】医療情報の複製の転送に着目した医療情報管理システムのブロック図である。
【図３】各サーバーの稼働時間を示した図である。
【図４】稼働情報のデータ構造の一例である。
【図５】管理情報のデータ構造の一例である。
【図６】管理情報のデータ構造の一例である。
【図７】医療情報のデータ構造の一例である。
【図８】医療情報の転送に係るサーバー間の処理の流れを示した図である。
【図９】転送先となるサーバーの特定に係る処理のフローチャートである。
【図１０】医療情報の参照に着目した医療情報管理システムのブロック図である。
【図１１】医療情報の参照に係るサーバー間の処理の流れを示した図である。
【図１２】実施形態に係る医療情報管理システムの一例を示したブロック図である。
【図１３】医療情報の参照に着目した第２の実施形態に係る医療情報管理システムのブロック図である。
【発明を実施するための形態】
【０００８】
（第１の実施形態）
第１の実施形態に係る医療情報管理システムの構成について、図１を参照しながら説明する。図１に示すように本実施形態に係る医療情報管理システムは、管理サーバー２と、クライアント３と、複数のサーバーとを含んで構成されている。以降では、複数のサーバーとして、サーバー１Ａ〜１Ｆが含まれるものとして説明する。なお、サーバー１Ａ〜１Ｆは、病院等の医療機関に設けられた医療情報を管理・記憶するサーバーを示している。以降では、この医療機関単位でサーバーが設けられているものとして説明する。また、本実施形態に係る医療情報管理システムは、「医療情報の複製の転送」に係る契機で動作する機能と、「医療情報の参照」に係る契機で動作する機能とを有している。以降では、この２つの契機に分けてそれぞれ説明する。
【０００９】
管理サーバー２は、稼働情報記憶部２１と、管理情報記憶部２２とを含んで構成されている。
【００１０】
稼働情報記憶部２１には、あらかじめ作成された稼働情報Ｄ１０が記憶されている。稼働情報Ｄ１０は、サーバー１Ａ〜１Ｆそれぞれが稼働している稼働時間を示している。例えば、図３は、サーバー１Ａ〜１Ｆそれぞれの稼働時間を示している。図３に示すように、サーバー１Ａの稼働時間は９：００〜１８：００であり、サーバー１Ｂの稼働時間は１２：００〜２４：００である。図４は、図３に示した各サーバーの稼働時間に基づき作成された稼働情報Ｄ１０の一例である。図４に示すように、稼働情報Ｄ１０は、施設ＩＤｃ１０と、稼働開始時間ｃ１１と、稼働終了時間ｃ１２とを含んで構成されている。施設ＩＤｃ１０は、各サーバーを識別するための識別情報を示している。また、稼働開始時間ｃ１１は、そのサーバーが稼働を開始する時間を示しており、稼働終了時間ｃ１２は、そのサーバーが稼働を終了する時間を示している。また、図４に示すように、稼働情報Ｄ１０は、開始日ｃ１３と終了日ｃ１４とを含んでもよい。開始日ｃ１３は、そのサーバーが稼働を開始した日付を示している。また、終了日ｃ１４は、そのサーバーが稼働を終了する日付を示している。このように稼働情報Ｄ１０に開始日ｃ１３及び終了日ｃ１４を設けることで、各サーバーの稼働している期間を日付単位で管理することが可能となる。
【００１１】
管理情報記憶部２２は、データ管理情報Ｄ２０と、患者管理情報Ｄ３０とを記憶している。なお、データ管理情報Ｄ２０と患者管理情報Ｄ３０とを総じて「管理情報」と呼ぶ場合がある。
【００１２】
データ管理情報Ｄ２０は、医療情報それぞれが記憶されたサーバーを特定するための情報である。図５は、データ管理情報Ｄ２０の一例である。データ管理情報Ｄ２０は、患者ＩＤｃ２０と、診療情報ＩＤｃ２１と、登録日ｃ２２と、施設ＩＤｃ１０とを含んで構成されている。患者ＩＤｃ２０は、サーバー１Ａ〜１Ｆ間で、患者を一意に識別するための識別情報である。また、診療情報ＩＤｃ２１は、診療の種別を識別するための情報である。図５の例では、患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを組み合わせることで、その患者に関する医療情報を一意に識別される。また登録日ｃ２２は、そのデータ管理情報Ｄ２０が登録された日付を示している。また、施設ＩＤｃ１０は、患者ＩＤｃ２０及び診療情報ＩＤｃ２１で示された医療情報が管理・記憶されているサーバーの識別情報を示している。例えば、患者ＩＤ「Ｐ１０００」、診療ＩＤ「Ｓ００１」で特定される医療情報は、施設ＩＤ「１Ａ」に対応するサーバーに管理・記憶されていることを示している。なお図５は一例であり、データ管理情報Ｄ２０は、ある患者の医療情報を一意に定義でき、かつ、その医療情報が管理・記憶されているサーバーを特定することが可能であれば、含まれる情報の数や種別は限定されない。
【００１３】
患者管理情報Ｄ３０は、あらかじめ作成された患者ＩＤｃ２０と、各サーバーが、そのサーバー内で患者を管理するためのローカルな識別情報である施設内ＩＤｃ３０を、対応付けて管理するための情報である。図６は、患者管理情報Ｄ３０の一例である。図６に示すように、患者管理情報Ｄ３０は、患者ＩＤｃ２０と、施設ＩＤｃ１０と、施設内ＩＤｃ３０とを含んで構成されている。施設内ＩＤｃ３０は、施設ＩＤｃ１０が示すサーバー内で患者を管理するためのローカルな識別情報である。例えば、患者ＩＤ「Ｐ１０００」に対応する患者は、施設ＩＤ「１Ａ」に対応するサーバー内では、施設内ＩＤ、即ちそのサーバー内の識別情報「１０」で管理されていることを示している。このように、患者管理情報Ｄ３０により、サーバー１Ａ〜１Ｆ間で患者を一意に識別するとともに、各サーバーにおけるその患者の情報をそれぞれ特定することが可能となる。
【００１４】
サーバー１Ａ〜１Ｆは、それぞれ、医療情報記憶部１０と、医療情報転送部１１と、管理情報分析部１２と、稼働状況分析部１３と、医療情報記録部１４と、医療情報参照部１５とを含んで構成されている。
【００１５】
サーバー１Ａ〜１Ｆそれぞれに含まれる医療情報転送部１１、医療情報参照部１５、及び医療情報記録部１４と、クライアント３とは、ネットワークＮ１を介して接続されており、ネットワークＮ１を介して医療情報の送受信を行う。また、管理サーバー２に含まれる稼働情報記憶部２１、及び管理情報記憶部２２と、サーバー１Ａ〜１Ｆそれぞれに含まれる管理情報分析部１２、稼働状況分析部１３、及び医療情報記録部１４とは、ネットワークＮ２を介して接続されており、ネットワークＮ２を介して稼働情報及び管理情報の送受信を行う。なお、各構成とそれらの構成間で送受信される情報との関係が維持されていれば、ネットワークＮ１とネットワークＮ２とを分けず、１つのネットワークを介して各構成を接続させてもよい。なお、ネットワークＮ１とネットワークＮ２とを分けることで、例えば、医療情報の送受信の増加に伴いネットワークＮ１の輻輳が起こったとしても、この輻輳の影響を受けることなく、稼働情報及び管理情報送受信を行うことが可能である。なお、サーバー１Ａ〜１Ｆが、「医療情報サーバー」に相当する。
【００１６】
医療情報記憶部１０は、診療記録や読影レポート等の患者ごとに作成された医療情報Ｄ４０を、その患者の情報と関連付けて記憶されている。図７は、医療情報Ｄ４０の一例である。図７に示すように、医療情報Ｄ４０は、サーバー内で患者を識別するための施設内ＩＤｃ３０と、診療情報ＩＤｃ２１と、その患者の情報（例えば、患者名ｃ３１及び年齢ｃ３２）と、キャッシュフラグｃ４０とを含んで構成される。医療情報記憶部１０に記憶されている医療情報は、施設内ＩＤｃ３０と、診療情報ＩＤｃ２１とにより、そのサーバー内で一意に識別される。
【００１７】
また、詳細は後述するが、本実施形態に係る医用情報管理システムでは、あるサーバーで管理・記憶されている医療情報の複製を他のサーバーに記憶させる。これにより、医用情報管理システムでは、一のサーバーに記憶された医療情報が参照できない場合に、他のサーバーに記憶されたその医療情報の複製を参照可能としている。そのため、医療情報Ｄ４０にキャッシュフラグｃ４０を設けて、このキャッシュフラグｃ４０により、その医療情報がそのサーバー内で作成されたものか、または他のサーバーから転送された複製かを識別可能にしている。例えば、その医療情報が、そのサーバー内で作成されたものの場合は、キャッシュフラグｃ４０に「０」が設定され、他のサーバーから転送された複製の場合は「１」が設定される。このキャッシュフラグは、医療情報記録部１４により設定される。医療情報記録部１４の内容については後述する。なお、キャッシュフラグｃ４０による区別に限らず、例えば、記憶領域を分けることで、その医療情報が、サーバー内で作成されたものか、または他のサーバーから転送された複製かを区別してもよい。
【００１８】
なお、医療情報転送部１１と、管理情報分析部１２と、稼働状況分析部１３と、医療情報記録部１４と、医療情報参照部１５とは、医療情報の複製を転送する場合と、医療情報を参照する場合とで動作する構成やその動作が異なる。そのため、以降では、「医療情報の複製の転送」と、「医療情報の参照」とに分けて、各契機で動作する構成に着目し説明する。
【００１９】
（医療情報の複製の転送）
まず、医療情報の複製を転送する場合に動作する構成について、図２を参照しながら説明する。図２は、医療情報の複製の転送に着目した医療情報管理システムのブロック図である。図２は、サーバー１Ａからサーバー１Ｂに医療情報の複製を転送する場合を示している。図２において、医療情報転送部１１Ａ、管理情報分析部１２Ａ、稼働状況分析部１３Ａ、及び医療情報記憶部１０Ａは、サーバー１Ａに含まれる、医療情報転送部１１、管理情報分析部１２、稼働状況分析部１３、及び医療情報記憶部１０を示している。また、医療情報記録部１４Ｂ、及び医療情報記憶部１０Ｂは、サーバー１Ｂにおける医療情報記録部１４、及び医療情報記憶部１０を示している。なお、医療情報転送部１１が、「医療情報送信部」に相当する。
【００２０】
医療情報転送部１１Ａは、医療情報の転送に係る指示を操作者から受ける。この指示を受けて、医療情報転送部１１Ａは、医療情報記憶部１０Ａに記憶された医療情報の中から、他のサーバーに転送する医療情報（以下、「転送対象」と呼ぶ場合がある）を特定する。この特定方法の一例を以下に説明する。例えば、医療情報転送部１１Ａは、操作者から他のサーバーに転送する医療情報の指示を受ける。この場合、医療情報転送部１１Ａは、この指示された医療情報を転送対象とする。また別の一例として、医療情報転送部１１Ａは、医療情報に記録された情報（例えば年齢や性別等の患者の情報）を基に作成された、他のサーバーに転送する医療情報の条件を操作者から受ける。この場合、医療情報転送部１１Ａは、この条件（例えば、高齢である、定期的に健診を受けている等）に合致する医療情報を転送対象とする。また、医療情報転送部１１Ａは、患者の症状の度合いに応じて転送対象を特定してもよい。具体的には、例えば、医療情報として用いられる病名や症状を示すキーワードごとに重み付けをあらかじめ行っておく。医療情報転送部１１Ａは、各医療情報からこれらのキーワードを抽出し、抽出されたキーワードの数や、そのキーワードの重みに応じて症状の度合いを特定し、これに基づき、例えば、最も症状の重い患者の医療情報を転送対象として特定する。また、医療情報の容量、または、医療情報の更新量（更新された情報量）に応じて転送対象を特定してもよい。また、医療情報に、その医療情報へのアクセスした履歴を示す履歴情報を関連付けておくことで、この履歴情報に基づき転送の対象とする医療情報を特定されることも可能である。この場合には、医療情報転送部１１Ａは、各医療情報に関連付けられた履歴情報を参照し、アクセス頻度が、操作者によりあらかじめ決められた閾値よりも高い医療情報を転送対象とする。以上のようにして、医療情報転送部１１Ａは、使用される可能性の高い医療情報を転送対象として特定する。
【００２１】
次に、医療情報転送部１１Ａは、転送対象を識別するための情報、即ち、患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを管理情報分析部１２Ａに出力する。この応答として、医療情報転送部１１Ａは、転送対象が管理・記憶されていないサーバーの一覧を管理情報分析部１２Ａから受ける。また、医療情報転送部１１Ａは、サーバー１Ａの非稼働時間に稼働しているサーバーの一覧を稼働状況分析部１３Ａに出力させる。なお、管理情報分析部１２Ａ及び稼働状況分析部１３Ａの動作については後述する。
【００２２】
医療情報転送部１１Ａは、転送対象が管理・記憶されていないサーバーの一覧と、サーバー１Ａの非稼働時間に稼働しているサーバーの一覧との双方に含まれるサーバーを転送先サーバーとして特定する。即ち、転送先サーバーは、サーバー１Ａの非稼働時間に稼働しており、かつ、転送対象が管理・記憶されていないサーバーを示している。以降では、医療情報転送部１１Ａは、転送先サーバーとしてサーバー１Ｂを特定したものとして説明する。
【００２３】
医療情報転送部１１Ａは、転送対象の複製を作成し、この複製をサーバー１Ｂの医療情報記録部１４Ｂに転送する。
【００２４】
医療情報記録部１４Ｂは、医療情報転送部１１Ａから転送対象の複製を受ける。医療情報記録部１４Ｂは、キャッシュフラグｃ４０に他のサーバーから転送された複製を示す「１」を設定したうえで、この複製を医療情報記憶部１０Ｂに記憶させる。
【００２５】
また、医療情報記録部１４Ｂは、転送対象である医療情報を示す患者ＩＤｃ２０及び診療情報ＩＤｃ２１と、自己（即ち、サーバー１Ｂ）を示す施設ＩＤｃ１０とを基に転送対象のデータ管理情報の行を作成する。医療情報記録部１４Ｂは、作成されたデータ管理情報の行を、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０に追加する。
【００２６】
また、医療情報記録部１４Ｂは、管理情報記憶部２２に記憶された患者管理情報Ｄ３０を参照し、転送対象の患者ＩＤｃ２０が示す患者の患者管理情報が登録されているか否かを確認する。患者管理情報が登録されていない場合、転送対象の患者ＩＤｃ２０と、その患者に対応する施設内ＩＤｃ３０と、自己（即ち、サーバー１Ｂ）を示す施設ＩＤｃ１０とを基に患者管理情報の行を作成する。医療情報記録部１４Ｂは、作成された患者管理情報の行を、管理情報記憶部２２に記憶された患者管理情報Ｄ３０に登録する。
【００２７】
次に、管理情報分析部１２Ａ及び稼働状況分析部１３Ａの詳細な動作について説明する。
【００２８】
管理情報分析部１２Ａは、医療情報転送部１１Ａから、転送対象を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを受ける。管理情報分析部１２Ａは、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０を参照し、転送対象を示す情報が関連付けられていない施設ＩＤｃ１０を特定する。管理情報分析部１２Ａは、特定された施設ＩＤｃ１０に対応するサーバーを、転送対象が管理・記憶されていないサーバーとして特定する。管理情報分析部１２Ａは、特定されたサーバーの一覧を作成する。
【００２９】
また、管理情報分析部１２Ａは、管理情報記憶部２２に記憶された患者管理情報Ｄ３０を参照し、通知された患者ＩＤｃ２０に対応する各サーバーでの施設内ＩＤｃ３０を特定する。管理情報分析部１２Ａは、この特定された各サーバーでの施設内ＩＤｃ３０と、データ管理情報Ｄ２０を基に作成されたサーバーの一覧と関連付ける。管理情報分析部１２Ａは、施設内ＩＤｃ３０が対応付けられたサーバーの一覧を医療情報転送部１１Ａに出力する。これにより、医療情報転送部１１Ａは、転送対象の複製を、その医療情報が管理・記憶されていないサーバーにのみ転送することが可能となる。なお、このサーバーの一覧が「第２の群」に相当する。
【００３０】
稼働状況分析部１３Ａは、医療情報転送部１１Ａから指示を受け、サーバー１Ａが稼働していない時間（以下「非稼働時間」と呼ぶ場合がある）に稼働しているサーバーの一覧を作成する。この動作について図３及び図４を参照しながら、例をあげて具体的に説明する。
【００３１】
まず、稼働状況分析部１３Ａは、稼働情報記憶部２１に記憶された稼働情報Ｄ１０を参照する。稼働状況分析部１３Ａは、稼働情報Ｄ１０を基に、サーバー１Ａの非稼働時間、即ち１８：００〜９：００を特定する。次に、稼働状況分析部１３Ａは、特定された非稼働時間と、他のサーバーの稼働時間とを比較する。稼働状況分析部１３Ａは、この比較結果を基に、その非稼働時間中に最も長く稼働しているサーバーを特定する。この場合、図３に示すように、サーバー１Ａの非稼働時間、即ち１８：００〜９：００に最も長く稼働しているサーバーは、サーバー１Ｄ及び１Ｆである。稼働状況分析部１３Ａは、サーバー１Ｄ及び１Ｆのいずれか、または双方を候補として選択する。なお、サーバー１Ｄ及び１Ｆのいずれかを候補とした場合、転送対象の複製の数を少なく抑えられるため、その複製の記憶に伴う記憶領域の圧迫を軽減することが可能となる。また、サーバー１Ｄ及び１Ｆの双方が候補として選択されることで、医療情報転送部１１Ａは双方に転送対象の複製を転送する。これにより、例えば、サーバー１Ｄ及び１Ｆのいずれかが故障等により停止していたとしても、他方のサーバーから医療情報を取得することが可能となる。この場合、複製の増加に伴い必用な記憶領域は増大するが、全てのサーバーに複製を転送する場合よりは、必要な記憶領域を少なく抑えることが可能である。また、稼働状況分析部１３Ａは、サーバー１Ｄ及び１Ｆ双方に、医療情報記憶部１０の空き容量を通知させ、空き容量の大きいサーバーを候補として選択するようにしてもよい。なお、以降では、サーバー１Ｄが候補として選択されたものとして説明する。
【００３２】
次に、稼働状況分析部１３Ａは、サーバー１Ａの非稼働時間から候補として特定されたサーバー１Ｄの稼働時間を引き、サーバー１Ａ及び１Ｄの双方が稼働していない時間を新たな非稼働時間として特定する。この非稼働時間が０ではない場合、稼働状況分析部１３Ａは、その非稼働時間中に最も長く稼働しているサーバーを更に候補として選択する。例えば、サーバー１Ａ及び１Ｄの双方が稼働していない非稼働時間は２２：００〜２４：００である。そのため、稼働状況分析部１３Ａは、サーバー１Ｂ及び１Ｅを候補として選択する。このように、稼働状況分析部１３Ａは、サーバー１Ａ及び候補として選択されたサーバーの全てが稼働していない非稼働時間が０となるか、または選択可能な候補がなくなるまで、上述した候補の選択を繰り返す。
【００３３】
稼働状況分析部１３Ａは、候補の選択が完了すると、候補として選択されたサーバーの一覧を作成し、この一覧を医療情報転送部１１Ａに出力する。なお、稼働状況分析部１３Ａは、このサーバーの一覧を予め作成し、記憶部に記憶させておいてもよい。この場合には、稼働状況分析部１３Ａは、医療情報転送部１１Ａから指示を受けて、記憶部に記憶されたサーバーの一覧を読出し、この一覧を医療情報転送部１１Ａに出力する。また、このサーバーの一覧が「第１の群」に相当する。
【００３４】
なお、医療情報記録部１４Ｂは、操作者からの指示を受けて、医療情報記録部１４Ｂに記録された複製を削除することが可能である。この場合には、医療情報記録部１４Ｂは、医療情報に含まれるキャッシュフラグｃ４０を参照し、その医療情報が他のサーバーから転送された複製か否かを判断する。複製を削除した場合に、医療情報記録部１４Ｂは、削除した複製に対応するデータ管理情報を、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０から削除する。
【００３５】
また、転送対象のデータ管理情報の作成及び登録は、転送元である医療情報転送部１１Ａが行うように動作させることも可能である。この場合、医療情報転送部１１Ａは、転送対象である医療情報を示す患者ＩＤｃ２０及び診療情報ＩＤｃ２１と、転送先であるサーバー１Ｂを示す施設ＩＤｃ１０とを基に転送対象のデータ管理情報を作成する。
【００３６】
また、医療情報転送部１１Ａは、転送対象が管理・記憶されているサーバーにも転送対象を転送するように動作させてもよい。この場合には、そのサーバーの医療情報記録部１４は、医療情報転送部１１Ａから転送された複製で、その複製に対応する医療情報記憶部１０に記憶された医療情報を上書きするように動作する。また、その医療情報記録部１４は、転送された複製で医療情報記憶部１０に記憶された医療情報を上書きせずに、その複製を破棄するように動作させてもよい。
【００３７】
次に、図８及び図９を参照しながら、医療情報の複製の転送に係る一連の動作について説明する。まず図８を参照する。図８は、医療情報の複製の転送に係るサーバー間の処理の流れを示した図である。
【００３８】
（ステップＳ１０）
医療情報転送部１１Ａは、医療情報の転送に係る指示を操作者から受ける。この指示を受けて、医療情報転送部１１Ａは、医療情報記憶部１０Ａに記憶された医療情報の中から転送対象を特定する。また、医療情報転送部１１Ａは、特定された転送対象の複製を転送する転送先サーバーを特定する。この転送対象及び転送先サーバーの特定に係る詳細な動作について、図９を参照しながら説明する。図９は、転送先となるサーバーの特定に係る処理のフローチャートである。
【００３９】
（ステップＳ１０１）
医療情報転送部１１Ａは、操作者からの転送対象の特定に係る条件を受けて、医療情報記憶部１０Ａに記憶された医療情報の中から転送対象を特定する。即ち、医療情報転送部１１Ａは、医療情報記憶部１０Ａを参照し、各医療情報を操作者から指示された条件と照合し、その医療情報を転送対象とするか否かを判定する。
【００４０】
（ステップＳ１０２）
一の医療情報が転送の対象ではない場合には（ステップＳ１０２、Ｎ）、その医療情報については以降の処理を行わず、次の医療情報の判定に遷移する。
【００４１】
（ステップＳ１０３）
一の医療方法が転送対象である場合には（ステップＳ１０２、Ｙ）、医療情報転送部１１Ａは、その転送対象を識別するための情報、即ち、患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを管理情報分析部１２Ａに出力する。管理情報分析部１２Ａは、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０を参照し、転送対象を示す情報が関連付けられていない施設ＩＤｃ１０を特定する。管理情報分析部１２Ａは、特定された施設ＩＤｃ１０に対応するサーバーを、転送対象が管理・記憶されていないサーバーとして特定する。管理情報分析部１２Ａは、特定されたサーバーの一覧を作成する。
【００４２】
また、管理情報分析部１２Ａは、管理情報記憶部２２に記憶された患者管理情報Ｄ３０を参照し、通知された患者ＩＤｃ２０に対応する各サーバーでの施設内ＩＤｃ３０を特定する。管理情報分析部１２Ａは、この特定された各サーバーでの施設内ＩＤｃ３０と、データ管理情報Ｄ２０を基に作成されたサーバーの一覧と関連付ける。管理情報分析部１２Ａは、施設内ＩＤｃ３０が対応付けられたサーバーの一覧を医療情報転送部１１Ａに出力する。
【００４３】
（ステップＳ１０４）
また、医療情報転送部１１Ａは、サーバー１Ａの非稼働時間に稼働しているサーバーの一覧の出力を稼働状況分析部１３Ａに指示する。稼働状況分析部１３Ａは、稼働情報記憶部２１に記憶された稼働情報Ｄ１０を参照する。
【００４４】
（ステップＳ１０５）
医療情報転送部１１Ａは、稼働情報Ｄ１０を基に、サーバー１Ａの非稼働時間を特定する。
【００４５】
（ステップＳ１０６）
次に、医療情報転送部１１Ａは、特定された非稼働時間が０か否かを判定する。
【００４６】
（ステップＳ１０７）
特定された非稼働時間が０ではない場合には（ステップＳ１０６、Ｙ）、稼働状況分析部１３Ａは、特定された非稼働時間と、他のサーバーの稼働時間とを比較する。稼働状況分析部１３Ａは、この比較結果を基に、その非稼働時間中に最も長く稼働しているサーバーを候補として特定する。
【００４７】
（ステップＳ１０９）
候補が特定できた場合（ステップＳ１０８、Ｙ）、稼働状況分析部１３Ａは、特定された候補を基にサーバーの一覧を作成する。既にサーバーの一覧が作成されている（即ち、他の候補が既に特定されている）場合、稼働状況分析部１３Ａは、そのサーバーの一覧に特定された候補を追加する。次に、稼働状況分析部１３Ａは、サーバー１Ａの非稼働時間から候補として特定されたサーバーの稼働時間を引き、サーバー１Ａと、サーバーの一覧に含まれるサーバーの全てが稼働していない時間を新たな非稼働時間として特定する。以降、稼働状況分析部１３Ａは、サーバー１Ａ及び候補として選択されたサーバーの全てが稼働していない非稼働時間が０となるか（ステップＳ１０６、Ｎ）、非稼働時間中に最も長く稼働しているサーバーの候補がなくなるまで（ステップＳ１０８、Ｎ）、候補の選択に係る処理を繰り返す。
【００４８】
（ステップＳ１１０）
稼働状況分析部１３Ａは、候補の選択が完了すると、候補として選択されたサーバーの一覧を医療情報転送部１１Ａに出力する。医療情報転送部１１Ａは、転送対象が管理・記憶されていないサーバーの一覧と、サーバー１Ａの非稼働時間に稼働しているサーバーの一覧との双方に含まれるサーバーを転送先サーバーとして特定する。以降では、医療情報転送部１１Ａは、転送先サーバーとしてサーバー１Ｂを特定したものとして説明する。
【００４９】
（ステップＳ２０）
ここで図８を参照する。医療情報転送部１１Ａは、転送対象の複製を作成し、この複製をサーバー１Ｂの医療情報記録部１４Ｂに転送する。
【００５０】
（ステップＳ３１）
医療情報記録部１４Ｂは、医療情報転送部１１Ａから転送対象の複製を受ける。医療情報記録部１４Ｂは、キャッシュフラグｃ４０に他のサーバーから転送された複製を示す「１」を設定したうえで、この複製を医療情報記憶部１０Ｂに記憶させる。
【００５１】
（ステップＳ３２）
また、医療情報記録部１４Ｂは、転送対象である医療情報を示す患者ＩＤｃ２０及び診療情報ＩＤｃ２１と、自己（即ち、サーバー１Ｂ）を示す施設ＩＤｃ１０とを基に転送対象のデータ管理情報の行を作成する。医療情報記録部１４Ｂは、作成されたデータ管理情報の行を、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０に追加する。
【００５２】
（医療情報の参照）
次に、医療情報を参照する場合に動作する構成について、図１０を参照しながら説明する。図１０は、医療情報の参照に着目した医療情報管理システムのブロック図である。図１０は、サーバー１Ｂに記憶された医療情報を、サーバー１Ａから参照する場合を示している。図１０において、医療情報参照部１５Ａ、管理情報分析部１２Ａ、稼働状況分析部１３Ａ、及び医療情報記憶部１０Ａは、サーバー１Ａに含まれる、医療情報参照部１５、管理情報分析部１２、稼働状況分析部１３、及び医療情報記憶部１０を示している。また、医療情報転送部１１Ｂ、及び医療情報記憶部１０Ｂは、サーバー１Ｂにおける医療情報転送部１１、及び医療情報記憶部１０を示している。
【００５３】
医療情報参照部１５Ａは、クライアント３から医療情報の出力に係る指示、即ち検索要求を受ける。なお、以降では、この出力が指示された医療情報を「検索対象」と呼ぶ場合がある。この検索要求を受けると、医療情報参照部１５Ａは、自己の医療情報記憶部１０Ａを検索し検索対象を特定する。
【００５４】
自己の医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できた場合、医療情報参照部１５Ａは、その検索対象を医療情報記憶部１０Ａから読出してクライアント３に出力する。
【００５５】
医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できなかった場合、医療情報参照部１５Ａは、管理情報分析部１２Ａに、検索対象を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを出力する。この応答として、医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧を管理情報分析部１２Ａから受ける。また、医療情報参照部１５Ａは、その時点で稼働しているサーバーの一覧を稼働状況分析部１３Ａに出力させる。なお、管理情報分析部１２Ａ及び稼働状況分析部１３Ａの動作については後述する。
【００５６】
医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧と、その時点で稼働しているサーバーの一覧との双方に含まれるサーバーを転送元サーバーとして特定する。即ち、転送元サーバーは、その時点で稼働しており、かつ、検索対象が管理・記憶されているサーバーを示している。以降では、医療情報参照部１５Ａは、転送元サーバーとしてサーバー１Ｂを特定したものとして説明する。
【００５７】
医療情報参照部１５Ａは、サーバー１Ｂの医療情報転送部１１Ｂに検索対象の転送を指示する。
【００５８】
医療情報転送部１１Ｂは、医療情報参照部１５Ａからの指示を受けて、医療情報記憶部１０Ｂを検索し、医療情報記憶部１０Ｂに記憶された医療情報の中から検索対象を読み出す。医療情報転送部１１Ｂは、読み出された検索対象を医療情報参照部１５Ａに転送する。このとき、医療情報転送部１１Ｂは、医療情報参照部１５Ａからの指示に基づき、検索対象が、そのサーバー内で作成されたものか、または他のサーバーから転送された複製かを判別してから、医療情報記憶部１０Ｂを検索するように動作させてもよい。これにより、検索範囲を事前に限定し、検索時間を短縮することが可能となる。医療情報転送部１１Ｂから転送された検索対象を受けると、医療情報参照部１５Ａは、この検索対象を、医療情報の出力の依頼元であるクライアント３に出力する。
【００５９】
次に、管理情報分析部１２Ａ及び稼働状況分析部１３Ａの詳細な動作について説明する。
【００６０】
管理情報分析部１２Ａは、医療情報参照部１５Ａから、医療情報を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを受ける。管理情報分析部１２Ａは、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０を参照し、その医療情報が管理・記憶されているサーバーを特定し、そのサーバーの一覧を作成する。
【００６１】
また、管理情報分析部１２Ａは、管理情報記憶部２２に記憶された患者管理情報Ｄ３０を参照し、通知された患者ＩＤｃ２０に対応する各サーバーでの施設内ＩＤｃ３０を特定し、作成されたサーバーの一覧と対応付ける。管理情報分析部１２Ａは、施設内ＩＤｃ３０が対応付けられたサーバーの一覧を医療情報参照部１５Ａに出力する。これにより、医療情報参照部１５Ａは、所望の医療情報が記憶されているサーバーを特定することが可能となる。なお、このサーバーの一覧が「第４の群」に相当する。
【００６２】
稼働状況分析部１３Ａは、サーバー１Ａ以外に稼働している他のサーバーの特定を医療情報参照部１５Ａから指示される。この指示を受けて、稼働状況分析部１３Ａは、稼働情報記憶部２１に記憶された稼働情報Ｄ１０と、医療情報参照部１５Ａから指示を受けた時間とを比較し、その時間に稼働しているサーバーを特定する。稼働状況分析部１３Ａは、特定されたサーバーの一覧を作成し、この一覧を医療情報転送部１１Ａに出力する。なお、このサーバーの一覧が「第３の群」に相当する。
【００６３】
次に、図１１を参照しながら、医療情報の参照に係る一連の動作について説明する。図１１は、医療情報の参照に係るサーバー間の処理の流れを示した図である。
【００６４】
（ステップＳ４１）
医療情報参照部１５Ａは、クライアント３から医療情報（即ち、検索対象）の出力を指示される。この指示を受けると、医療情報参照部１５Ａは、医療情報記憶部１０Ａを検索し検索対象を特定する。医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できた場合、医療情報参照部１５Ａは、その検索対象を医療情報記憶部１０Ａから読出してクライアント３に出力する。
【００６５】
医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できなかった場合、医療情報参照部１５Ａは、管理情報分析部１２Ａに、検索対象を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを出力する。
【００６６】
管理情報分析部１２Ａは、医療情報参照部１５Ａから、医療情報を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを受ける。管理情報分析部１２Ａは、管理情報記憶部２２に記憶されたデータ管理情報Ｄ２０を参照し、その医療情報が管理・記憶されているサーバーを特定し、そのサーバーの一覧を作成する。
【００６７】
また、管理情報分析部１２Ａは、管理情報記憶部２２に記憶された患者管理情報Ｄ３０を参照し、通知された患者ＩＤｃ２０に対応する各サーバーでの施設内ＩＤｃ３０を特定し、作成されたサーバーの一覧と対応付ける。管理情報分析部１２Ａは、施設内ＩＤｃ３０が対応付けられたサーバーの一覧を医療情報参照部１５Ａに出力する。
【００６８】
また、医療情報参照部１５Ａは、その時点で稼働しているサーバーの一覧の出力を稼働状況分析部１３Ａに指示する。この指示を受けて、稼働状況分析部１３Ａは、稼働情報記憶部２１に記憶された稼働情報Ｄ１０と、医療情報参照部１５Ａから指示を受けた時間とを比較し、その時間に稼働しているサーバーを特定する。稼働状況分析部１３Ａは、特定されたサーバーの一覧を作成し、この一覧を医療情報転送部１１Ａに出力する。
【００６９】
この応答として、医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧を管理情報分析部１２Ａから受ける。また、医療情報参照部１５Ａは、その時点で稼働しているサーバーの一覧を稼働状況分析部１３Ａに出力させる。
【００７０】
医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧と、その時点で稼働しているサーバーの一覧との双方に含まれるサーバーを転送元サーバーとして特定する。以降では、医療情報参照部１５Ａは、転送元サーバーとしてサーバー１Ｂを特定したものとして説明する。
【００７１】
（ステップＳ４２）
医療情報参照部１５Ａは、サーバー１Ｂの医療情報転送部１１Ｂに検索対象の転送を指示する。
【００７２】
（ステップＳ５１）
医療情報転送部１１Ｂは、医療情報参照部１５Ａからの指示を受けて、医療情報記憶部１０Ｂを検索し、医療情報記憶部１０Ｂに記憶された医療情報の中から検索対象を読出す。
【００７３】
（ステップＳ５２）
医療情報転送部１１Ｂは、読出された検索対象を医療情報記憶部１０Ｂから読出し医療情報参照部１５Ａに転送する。
【００７４】
（ステップＳ４３）
医療情報転送部１１Ｂから転送された検索対象を受けて、医療情報参照部１５Ａは、この検索対象を、医療情報の出力の依頼元であるクライアント３に出力する。
【００７５】
なお、管理情報分析部１２及び稼働状況分析部１３は、各情報を上述した通りに医療情報転送部１１及び医療情報参照部１５に出力可能に動作すればよく、必ずしもサーバー１Ａ〜１Ｆに含まれる構成ではなくてもよい。例えば、図１２は、管理情報分析部１２及び稼働状況分析部１３を管理サーバー２に含まれる構成とした場合の一例を示している。この場合、管理情報分析部１２及び稼働状況分析部１３は、ネットワークＮ２を介して、各情報を医療情報転送部１１及び医療情報参照部１５に出力する。もちろん、管理情報分析部１２及び稼働状況分析部１３は、独立したサーバーに含まれる構成としてもよい。この場合には、管理情報分析部１２及び稼働状況分析部１３は、稼働情報記憶部２１、管理情報記憶部２２、医療情報転送部１１、及び医療情報参照部１５のそれぞれとの各情報の送受信を、ネットワークＮ２を介して行う。また、各構成の接続関係が維持されていれば、稼働情報記憶部２１及び管理情報記憶部２２の場所は限定されず、例えば、稼働情報記憶部２１及び管理情報記憶部２２をサーバー１Ａ〜１Ｆのいずれか、一部、または全部に設けてもよい。なお、複数のサーバーに稼働情報記憶部２１及び管理情報記憶部２２を設ける場合、その複数のサーバー間で、稼働情報記憶部２１及び管理情報記憶部２２に記憶された情報の同期をとる構成を設けるとよい。
【００７６】
また、上記では、稼働時間に基づき転送先サーバーを特定していたが、稼働時間に加え、稼働期間、即ちそのサーバーが稼働を開始した日程から終了するまでの日程に基づき転送先サーバーを特定してもよい。この稼働期間は、稼働情報に含まれた開始日ｃ１３及び終了日ｃ１４に基づき特定可能である。このように稼働期間を考慮することで、例えば、図４のサーバー１Ｂは、２０２０／１２／３１に稼働が終了するが、２０２１／０１／０１以降は、サーバー１Ｅから情報を取得するといった運用が可能となる。
【００７７】
以上のように、医療情報転送部１１Ａは、サーバー１Ａの非稼働時間に稼働しているサーバーに転送対象の複製を転送して管理・記憶させる。これにより、サーバー１Ａの非稼働時間においても、サーバー１Ａに記憶された医療情報の複製を他のサーバーから取得し参照することが可能となる。また、全てのサーバーに転送対象の複製を管理・記憶させる必要が無いため、複製の記憶に伴う記憶領域の圧迫を抑えることが可能となる。
【００７８】
（第２の実施形態）
第２の実施形態に係る医療情報管理システムは、医療情報の参照時に、処理負荷の低いサーバーに検索対象である医療情報を転送させる。そのため、本実施形態に係るサーバー１Ａ〜１Ｆは、第１の実施形態に係るサーバー１Ａ〜１Ｆの構成に加え、性能情報算出部１６を備えている。以降では、本実施形態に係る医療情報管理システムの構成について、図１３を参照しながら、第１の実施形態と異なる構成に着目し説明する。図１３は、医療情報の参照に着目した本実施形態に係る医療情報管理システムのブロック図である。図１３は、サーバー１Ｂに記憶された医療情報を、サーバー１Ａから参照する場合を示している。図１３において、医療情報参照部１５Ａ、管理情報分析部１２Ａ、稼働状況分析部１３Ａ、及び医療情報記憶部１０Ａは、サーバー１Ａに含まれる、医療情報参照部１５、管理情報分析部１２、稼働状況分析部１３、及び医療情報記憶部１０を示している。また、医療情報転送部１１Ｂ、医療情報記憶部１０Ｂ、及び性能情報算出部１６Ｂは、サーバー１Ｂにおける医療情報転送部１１、医療情報記憶部１０、及び性能情報算出部１６を示している。
【００７９】
性能情報算出部１６Ｂは、医療情報参照部１５Ａからの指示を受けて、この指示を受けた時点におけるサーバー１Ｂの処理負荷を算出する。具体的な一例として、性能情報算出部１６Ｂは、サーバー１ＢのＣＰＵ使用率を基に、サーバー１ＢのＣＰＵに対する処理負荷を算出する。また、性能情報算出部１６Ｂは、サーバー１Ｂのネットワークカードの入出力データの許容量と、そのネットワークカードに入出力されるデータのサイズとから、そのネットワークカードへの入出力負荷を算出する。このように性能情報算出部１６Ｂは、医療情報記憶部１０Ｂから検索対象を読出し転送する処理に係る処理負荷を算出する。性能情報算出部１６Ｂは、算出された処理負荷を示す情報を医療情報参照部１５Ａに出力する。
【００８０】
医療情報参照部１５Ａは、クライアント３から医療情報（即ち、検索対象）の出力を指示される。この指示を受けると、医療情報参照部１５Ａは、医療情報記憶部１０Ａを検索し検索対象を特定する。医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できた場合、医療情報参照部１５Ａは、その検索対象を医療情報記憶部１０Ａから読出してクライアント３に出力する。この動作は第１の実施形態と同様である。
【００８１】
医療情報記憶部１０Ａに記憶された医療情報の中から検索対象が特定できなかった場合、医療情報参照部１５Ａは、管理情報分析部１２Ａに、検索対象を示す情報、即ち患者ＩＤｃ２０と、診療情報ＩＤｃ２１とを出力する。この応答として、医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧を管理情報分析部１２Ａから受ける。また、医療情報参照部１５Ａは、その時点で稼働しているサーバーの一覧を稼働状況分析部１３Ａに出力させる。なお、この場合の管理情報分析部１２Ａ及び稼働状況分析部１３Ａの動作は、第１の実施形態と同様である。
【００８２】
医療情報参照部１５Ａは、検索対象が管理・記憶されているサーバーの一覧と、その時点で稼働しているサーバーの一覧との双方に含まれるサーバーを転送元サーバーとして特定する。
【００８３】
特定された転送元サーバーが複数存在する場合、医療情報参照部１５Ａは、それらの転送元サーバーの性能情報算出部１６に処理負荷の通知を指示する。その応答として、医療情報参照部１５Ａは、各転送元サーバーの性能情報算出部１６から、それぞれのサーバーの処理負荷を示す情報を受ける。医療情報参照部１５Ａは、各サーバーから受けた処理負荷を比較し、最も処理負荷の低いサーバーを新たな転送元サーバーとして特定する。ここでは、医療情報参照部１５Ａは、新たな転送元サーバーとしてサーバー１Ｂを特定したものとして説明する。医療情報参照部１５Ａは、サーバー１Ｂの医療情報転送部１１Ｂに検索対象の転送を指示する。なお、これらの転送元サーバーを特定する処理は、医療情報参照部１５Ａに替えて稼働状況分析部１３Ａが実行し、医療情報参照部１５Ａは、その結果（即ち、転送元サーバー）を医療情報参照部１５Ａから受けて動作するように構成してもよい。また、医療情報の参照時に限らず、例えば、医療情報の複製を転送する際に、この処理負荷を示す情報に基づき、転送先のサーバーを特定してもよい。
【００８４】
医療情報転送部１１Ｂは、医療情報参照部１５Ａからの指示を受けて、医療情報記憶部１０Ｂを検索し、医療情報記憶部１０Ｂに記憶された医療情報の中から検索対象を読出す。医療情報転送部１１Ｂは、読出された検索対象を医療情報記憶部１０Ｂから読出し医療情報参照部１５Ａに転送する。医療情報転送部１１Ｂから転送された検索対象を受けて、医療情報参照部１５Ａは、この検索対象を、医療情報の出力の依頼元であるクライアント３に出力する。
【００８５】
以上、本実施形態に係る医療情報管理システムに依れば、医療情報の参照時に、転送元サーバーが複数存在する場合に、医療情報参照部１５Ａは、処理負荷の最も低いサーバー（換言すると、レスポンスの早いサーバー）に医療情報の転送を指示する。これにより、第１の実施形態に係る医療情報管理システムの作用効果に加え、更に、医療情報の検索に関して特定のサーバーへの処理の集中を避けることが可能となる。
【００８６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載されたその均等の範囲に含まれる。
【符号の説明】
【００８７】
１Ａ〜１Ｆ  サーバー
１０、１０Ａ、１０Ｂ  医療情報記憶部
１１、１１Ａ、１１Ｂ  医療情報転送部
１２、１２Ａ  管理情報分析部
１３、１３Ａ  稼働状況分析部
１４、１４Ｂ  医療情報記録部
１５、１５Ａ  医療情報参照部
１６、１６Ｂ  性能情報算出部
２  管理サーバー
２１  稼働情報記憶部
２２  管理情報記憶部
３  クライアント
【図１】
0005904782.tif 000002
【図２】
0005904782.tif 000003
【図３】
0005904782.tif 000004
【図４】
0005904782.tif 000005
【図５】
0005904782.tif 000006
【図６】
0005904782.tif 000007
【図７】
0005904782.tif 000008
【図８】
0005904782.tif 000009
【図９】
0005904782.tif 000010
【図１０】
0005904782.tif 000011
【図１１】
0005904782.tif 000012
【図１２】
0005904782.tif 000013
【図１３】
0005904782.tif 000014