(57)【要約】【課題】サーバ側におけるデータ更新が確実に端末に伝わり、かつ、端末における低レイテンシを可能とすること。【解決手段】端末から受信した要求情報に適合するデータを前記端末へ送信するサーバが、データベースと、データベースから取得された少なくとも一部のデータが格納されるキャッシュメモリ部と、要求情報に適合するデータをキャッシュメモリ部から取得して要求情報に対応する応答情報を生成する制御部とを備え、要求情報には端末から送信された前回の要求情報を当該サーバが受信した時刻である第１の確認時刻が含まれており、制御部は、端末から送信された要求情報に含まれる第１の確認時刻から所定時間を減算して減算後確認時刻を算出し、データの更新時刻が減算後確認時刻よりも新しいデータをキャッシュメモリ部から取得して応答情報に含める。【選択図】図１
2018180731.tif 000002
【特許請求の範囲】
【請求項１】
端末から受信した要求情報に適合するデータを前記端末へ送信するサーバであって、
データベースと、
前記データベースから取得された少なくとも一部のデータが格納されるキャッシュメモリ部と、
前記要求情報に適合するデータを前記キャッシュメモリ部から取得して、前記要求情報に対応する応答情報を生成する制御部と、を備え、
前記要求情報は、前記端末から送信された前回の要求情報を当該サーバが受信した時刻である第１の確認時刻を含み、
前記制御部は、前記端末から送信された要求情報に含まれる前記第１の確認時刻から所定時間を減算して減算後確認時刻を算出し、データの更新時刻が前記減算後確認時刻よりも新しいデータを前記キャッシュメモリ部から取得して、前記応答情報に含める、
サーバ。
【請求項２】
前記所定時間は、前記データベースで更新されたデータが前記キャッシュメモリ部に反映されるまでの時間よりも長い時間である、
請求項１に記載のサーバ。
【請求項３】
前記制御部は、前記端末から送信された要求情報を受信した時刻を、第２の確認時刻として前記応答情報に含める、
請求項１又は２に記載のサーバ。
【請求項４】
端末及びサーバを備えるシステムにおけるデータ更新方法であって、
前記端末は、前記サーバから取得したデータと、当該データの第１の要求情報を前記サーバが受信した時刻である第１の確認時刻と、が格納される第１のキャッシュメモリ部を備え、
前記サーバは、データベースと、前記データベースから取得された少なくとも一部のデータが格納される第２のキャッシュメモリ部と、を備え、
前記端末は、前記第１の確認時刻を含む第２の要求情報を、前記サーバへ送信し、
前記サーバは、
前記端末から前記第２の要求情報を受信し、
前記第２の要求情報に含まれる前記第１の確認時刻から所定時間を減算して減算後確認時刻を算出し、
データの更新時刻が前記減算後確認時刻よりも新しいデータを、前記第２のキャッシュメモリ部から取得し、
その取得したデータと、前記第２の要求情報を受信した時刻である第２の確認時刻と、を含む応答情報を生成して前記端末へ送信し、
前記端末は、
前記応答情報を受信し、
前記応答情報に含まれるデータで、前記第１のキャッシュメモリ部におけるデータを更新し、
前記応答情報に含まれる前記第２の確認時刻で、前記第１のキャッシュメモリ部における前記第１の確認時刻を更新する、
データ更新方法。
【請求項５】
端末及びサーバを有する電子カルテシステムであって、
前記端末は、前記サーバから取得した電子カルテに関するマスタデータと、当該マスタデータの第１の要求情報を前記サーバが受信した時刻である第１の確認時刻と、が格納される第１のキャッシュメモリ部を備え、
前記サーバは、データベースと、前記データベースから取得された少なくとも一部のマスタデータが格納される第２のキャッシュメモリ部と、を備え、
前記端末は、前記第１の確認時刻を含む第２の要求情報を、前記サーバへ送信し、
前記サーバは、
前記端末から前記第２の要求情報を受信し、
前記第２の要求情報に含まれる前記第１の確認時刻から所定時間を減算して減算後確認時刻を算出し、
データの更新時刻が前記減算後確認時刻よりも新しいマスタデータを、前記第２のキャッシュメモリ部から取得し、
その取得したデータと、前記第２の要求情報を受信した時刻である第２の確認時刻と、を含む応答情報を生成して前記端末へ送信し、
前記端末は、
前記応答情報を受信し、
前記応答情報に含まれるマスタデータで、前記第１のキャッシュメモリ部におけるマスタデータを更新し、
前記応答情報に含まれる前記第２の確認時刻で、前記第１のキャッシュメモリ部における前記第１の確認時刻を更新する、
電子カルテシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、データ更新方法、及び、電子カルテシステムに関する。
【背景技術】
【０００２】
電子カルテシステムは、従来の紙のカルテを電子的なカルテに置き換えて管理するシステムである。特許文献１には、電子カルテを管理するサーバと、電子カルテに対する入力及び表示を行う端末とが、ネットワークを介して接続されている電子カルテシステムが開示されている。
【０００３】
また、医師等に診療記録等を全て手入力させることは、負担が大きく、入力ミスも発生しやすい。そこで、特許文献２では、病名や医薬品等の名称をマスタデータとして予め用意しておき、医師等にマスタデータを選択させることにより、電子カルテの入力負担の軽減、及び、入力ミスの低減を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３７５８６号公報
【特許文献２】特開２００５−３１６９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
医師等は限られた時間内で診療記録を入力する必要があるため、端末における電子カルテの操作には、低レイテンシが求められる。しかし、サーバのデータベースで管理されているマスタデータを端末が都度取得する従来技術では、端末において低レイテンシを実現することが難しい。また、マスタデータは時々更新される類いのデータであり、その更新が確実に端末に伝えられる必要がある。
【０００６】
本発明の目的は、サーバ側におけるデータ更新が確実に端末に伝わり、かつ、端末における低レイテンシを可能とするサーバ装置、データ更新方法、及び、電子カルテシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るサーバは、端末から受信した要求情報に適合するデータを前記端末へ送信するサーバであって、データベースと、前記データベースから取得された少なくとも一部のデータが格納されるキャッシュメモリ部と、前記要求情報に適合するデータを前記キャッシュメモリ部から取得して、前記要求情報に対応する応答情報を生成する制御部と、を備え、前記要求情報は、前記端末から送信された前回の要求情報を当該サーバが受信した時刻である第１の確認時刻を含み、前記制御部は、前記端末から送信された要求情報に含まれる前記第１の確認時刻から所定時間を減算して減算後確認時刻を算出し、データの更新時刻が前記減算後確認時刻よりも新しいデータを前記キャッシュメモリ部から取得して、前記応答情報に含める。
【発明の効果】
【０００８】
本発明によれば、サーバ側におけるデータ更新が確実に端末に伝わり、かつ、端末における低レイテンシを可能とすることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る電子カルテシステムの構成例を示すブロック図である。
【図２】要求電文のデータクエリモードに「ＡＬＬ」が設定された場合の処理を示すシーケンスチャートである。
【図３】要求電文のデータクエリモードに「Ｔｉｍｅ」が設定された場合の処理を示すシーケンスチャートである。
【図４】要求電文にマスタデータのＩＤが設定された場合の処理を示すシーケンスチャートである。
【図５】データベースのデータを変更する処理を示すシーケンスチャートである。
【図６】本発明に係るコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、実施の形態を説明する。なお、以下の実施の形態において、その構成要素（要素ステップなどを含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
【００１１】
図１は、電子カルテシステム１の構成例を示すブロック図である。
【００１２】
電子カルテシステム１は、サーバ１０と、少なくとも１つの端末２０とを含む。サーバ１０と端末２０とは、所定の通信ネットワークで接続されており、双方向通信が可能である。
【００１３】
サーバ１０は、電子カルテに関する各種データを管理するための装置である。端末２０は、医師、看護師、薬剤師及び事務員等の医療関係者が、電子カルテを利用するための装置である。端末２０は、例えば、ＰＣ、タブレット端末、及びスマートフォン等である。
【００１４】
＜サーバ１０の構成＞
次にサーバ１０の構成について説明する。サーバ１０は、機能として、サーバ制御部１００と、サーバ側キャッシュ部１０２と、ＤＢ（DataBase）制御部１０４と、ＤＢ１０６とを有する。
【００１５】
ＤＢ１０６には、電子カルテに関するマスタ及び診療記録等が保持される。ＤＢ１０６は、例えば、ＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）等の記憶装置に構築される。
【００１６】
サーバ側キャッシュ部１０２には、電子カルテに関する最新のマスタデータがキャッシュされる。サーバ側キャッシュ部１０２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）等の記憶装置に構築される。サーバ側キャッシュ部１０２が構築される記憶装置のアクセス速度は、ＤＢ１０６が構築される記憶装置のアクセス速度よりも高速であることが好ましい。
【００１７】
電子カルテに関するマスタは、電子カルテへの入力時に選択可能な項目に関する情報を含む。電子カルテに関するマスタは、例えば、ユーザマスタ、カルテ記事雛形マスタ、オーダマスタ、病名マスタ、及び、検査依頼マスタ、検査結果マスタを含む。
【００１８】
ユーザマスタは、受診者に関する情報を電子カルテに入力する際に選択可能な項目を含む。例えば、ユーザマスタは、氏名、生年月日、性別、及び血液型等の項目を含む。
【００１９】
カルテ記事雛形マスタは、診療記録に関する情報を電子カルテに入力する際に選択可能な項目、例えば、バイタル情報、及びシェーマの画像等の項目を含む。
【００２０】
オーダマスタは、処方に関する情報を電子カルテに入力する際に選択可能な項目、例えば、医薬品名、及び検体名等の項目を含む。
【００２１】
病名マスタは、病名に関する情報を電子カルテに入力する際に選択可能な項目、例えば、病名等の項目を含む。
【００２２】
検査依頼マスタは、検査依頼に関する情報を電子カルテに入力する際に選択可能な項目、例えば、検査名、及び検査対象等の項目を含む。
【００２３】
検査結果マスタは、検査結果に関する情報を電子カルテに入力する際に選択可能な項目、例えば、検査名、及び検査分類等の項目を含む。
【００２４】
サーバ制御部１００は、ＤＢ１０６及びサーバ側キャッシュ部１０２内のデータを制御する。例えば、サーバ制御部１００は、ＤＢ１０６内のマスタデータが更新されると、その更新されたマスタデータをサーバ側キャッシュ部１０２に反映する。すなわち、サーバ制御部１００は、サーバ側キャッシュ部１０２に、最新のマスタデータが保持されているようにする。
【００２５】
また、サーバ制御部１００は、端末２０からの要求に応じて、必要なデータを端末２０に返す。例えば、サーバ制御部１００は、端末２０から要求電文を受信すると、その要求電文に含まれる検索クエリに適合するマスタデータを、サーバ側キャッシュ部１０２から取得し、応答電文として端末２０へ返す。サーバ側キャッシュ部１０２はＤＢ１０６よりも応答性能が高く、サーバ側キャッシュ部１０２に格納されているデータは、応答電文の形式になっている場合もある。よって、サーバ制御部１００は、マスタデータをＤＢ１０６から取得するよりも、短時間で応答電文を端末２０に返すことができる。
【００２６】
＜端末２０の構成＞
次に端末２０の構成について説明する。端末２０は、機能として、モジュール部２０２と、アプリケーション部２００と、キャッシュ制御部２０４と、端末側キャッシュ部２０６とを含む。
【００２７】
モジュール部２０２は、端末２０側における電子カルテの共通ロジックを含むプログラムモジュールである。モジュール部２０２は、ライブラリ又はプラグイン等とも呼ばれる。
【００２８】
アプリケーション部２００は、端末２０側から電子カルテを利用するためのアプリケーションプログラムである。アプリケーション部２００は、モジュール部２０２を利用して作成される。このように、電子カルテの共通ロジックをモジュール部２０２として分離しておくことにより、アプリケーション部２００には、端末２０の種別（例えばＰＣ又はタブレット端末２０等）によって異なる部分のみを実装することができる。これにより、端末２０の種別に応じた最適な電子カルテのアプリケーションを、比較的容易に実装することができる。
【００２９】
キャッシュ制御部２０４は、サーバ制御部１００と連携して、端末側キャッシュ部２０６を制御する。例えば、キャッシュ制御部２０４は、サーバ制御部１００から最新のマスタデータを取得して端末側キャッシュ部２０６に格納することにより、端末側キャッシュ部２０６のマスタデータを最新に保つ。キャッシュ制御部２０４とサーバ制御部１００との間のやり取りは、サーバ１０が公開するＷＥＢ  ＡＰＩを用いて行われてもよい。
【００３０】
＜要求電文及び応答電文の構成＞
次に要求電文及び応答電文の構成について説明する。
【００３１】
要求電文は、キャッシュ制御部２０４がサーバ制御部１００に対してデータを要求するための電文である。要求電文は、データクエリモードと、確認時刻とを含む。応答電文は、サーバ制御部１００がキャッシュ制御部２０４に対して、要求電文に対する応答を返すための電文である。応答電文は、サーバクエリ時刻と、データとを含む。
【００３２】
データクエリモードには、次のように、どのようなデータを要求するかを示すモードを設定可能である。
・全データを要求する「ＡＬＬ」。
・確認時刻以降に更新されたデータを要求する「Ｔｉｍｅ」。
【００３３】
サーバクエリ時刻は、サーバ制御部１００がキャッシュ制御部２０４から要求電文を受信した時刻である。サーバクエリ時刻は、応答電文に含まれて端末２０に送信され、端末側キャッシュ部２０６に格納される。キャッシュ制御部２０４は、端末側キャッシュ部２０６からサーバクエリ時刻を取得し、その取得したサーバクエリ時刻を、確認時刻として電文要求に設定する。
【００３４】
図２は、要求電文のデータクエリモードに「ＡＬＬ」が設定された場合の処理を示すシーケンスチャートである。
【００３５】
キャッシュ制御部２０４は、端末側キャッシュ部２０６から、サーバクエリ時刻を取得する（ＳＴ１００、ＳＴ１０２）。
【００３６】
次に、キャッシュ制御部２０４は、データクエリモードに「ＡＬＬ」を、確認時刻に「ＮＵＬＬ」を設定して要求電文を生成し、サーバ制御部１００へ送信する（ＳＴ１０４）。確認時刻に「ＮＵＬＬ」が設定された場合は、全てのマスタデータがクエリ対象となる。
【００３７】
サーバ制御部１００は、ＳＴ１０４の要求電文を受信する。そして、サーバ制御部１００は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する（ＳＴ１０６）。
【００３８】
次に、サーバ制御部１００は、データクエリモードが「ＡＬＬ」であるので、サーバ側キャッシュ部１０２から全マスタデータを取得する（ＳＴ１０８、ＳＴ１１０）。
【００３９】
次に、サーバ制御部１００は、ＳＴ１０６で生成したサーバクエリ時刻と、ＳＴ１１０で取得した全マスタデータとを含む応答電文を生成し、キャッシュ制御部２０４に送信（返信）する（ＳＴ１１２）。
【００４０】
キャッシュ制御部２０４は、ＳＴ１１２の応答電文を受信する。そして、キャッシュ制御部２０４は、この受信した応答電文に含まれるサーバクエリ時刻と全マスタデータとを、端末側キャッシュ部２０６に格納する（ＳＴ１１４、ＳＴ１１６）。すでに端末側キャッシュ部２０６にサーバクエリ時刻とマスタデータとが存在する場合、キャッシュ制御部２０４は、端末側キャッシュ部２０６のサーバクエリ時刻と全データとを更新する。
【００４１】
図２の処理によれば、端末側キャッシュ部２０６のマスタデータが全て最新となる。この処理は、例えば、端末２０の起動時又はアプリケーション部２００の起動時に実行される。
【００４２】
図３は、要求電文のデータクエリモードに「Ｔｉｍｅ」が設定された場合の処理を示すシーケンスチャートである。
【００４３】
キャッシュ制御部２０４は、端末側キャッシュ部２０６から、サーバクエリ時刻を取得する（ＳＴ１５０、ＳＴ１５２）。
【００４４】
次に、キャッシュ制御部２０４は、データクエリモードに「Ｔｉｍｅ」を、確認時刻に上記で取得したサーバクエリ時刻を設定した要求電文を生成し、サーバ制御部１００へ送信する（ＳＴ１５４）。
【００４５】
サーバ制御部１００は、ＳＴ１０４の要求電文を受信する。そして、サーバ制御部１００は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する（ＳＴ１５６）。
【００４６】
次に、サーバ制御部１００は、データクエリモードが「Ｔｉｍｅ」であるので、サーバ側キャッシュ部１０２から、「確認時刻−α＜ＤＢ更新時刻」のクエリ条件に適合するデータを検索する（ＳＴ１５８、ＳＴ１６０）。αは所定の時間である。ここで、確認時刻から所定時間αを減算しているのは、以下の理由による。
【００４７】
もしαを減算しないと、ＳＴ１５６のサーバクエリ生成時刻が、ＤＢ１０６でデータが更新されてからサーバ側キャッシュ部１０２に格納されるまでの間の時刻であった場合、「最新更新時刻＞ＤＢ更新時刻」となってしまい、キャッシュ制御部２０４が、更新データを取得できない事態が発生してしまう。すなわち、αを減算することにより、このような事態の発生を防止することができる。したがって、所定時間αは、ＤＢ１０６でマスタデータが更新されてサーバ側キャッシュ部１０２に格納されるまでの間の最長時間よりも長い時間となる。なお、「確認時刻−α」は、減算後確認時刻と呼ばれてもよい。
【００４８】
＜クエリ条件に適合するデータが存在する場合＞
まず、ＳＴ１５８のクエリ条件「確認時刻−α＜ＤＢ更新時刻」に適合するマスタデータがサーバ側キャッシュ部１０２に存在する場合について説明する。
【００４９】
この場合、端末側キャッシュ部２０６のマスタデータは最新の状態ではない。したがって、サーバ制御部１００は、ＳＴ１５６で生成したサーバクエリ時刻と、更新マスタデータが存在する旨を示すフラグ値と、ＳＴ１６０で取得した更新マスタデータとを含む応答電文を生成し、キャッシュ制御部２０４に送信（返信）する（ＳＴ１６２）。
【００５０】
キャッシュ制御部２０４は、ＳＴ１６２の応答電文を受信する。そして、キャッシュ制御部２０４は、この受信した応答電文に含まれるサーバクエリ時刻と更新マスタデータとを、端末側キャッシュ部２０６に格納する（ＳＴ１６４、ＳＴ１６６）。すなわち、端末側キャッシュ部２０６のサーバクエリ時刻と、端末側キャッシュ部２０６に格納されているデータのうちサーバ１０側で更新されたデータと、を更新する。
【００５１】
＜クエリ条件に適合するデータが存在しない場合＞
次に、ＳＴ１５８のクエリ条件「確認時刻−α＜ＤＢ更新時刻」に適合するマスタデータがサーバ側キャッシュ部１０２に存在しない場合について説明する。
【００５２】
この場合、端末側キャッシュ部２０６のマスタデータは最新の状態である。したがって、サーバ制御部１００は、ＳＴ１５６で生成したサーバクエリ時刻と、更新マスタデータが存在しない旨を示すフラグ値とを含む応答電文を生成し、キャッシュ制御部２０４に送信（返信）する（ＳＴ１６２）。
【００５３】
キャッシュ制御部２０４は、ＳＴ１６２の応答電文を受信する。そして、キャッシュ制御部２０４は、この受信した応答電文に含まれるサーバクエリ時刻を、端末側キャッシュ部２０６に格納する（ＳＴ１６４、ＳＴ１６６）。
【００５４】
図３の処理によれば、サーバ１０のＤＢ１０６におけるマスタデータの更新が、サーバ側キャッシュ部１０２に反映されるまでの間のタイムラグによって、端末側キャッシュ部２０６に反映されなくなるおそれを防止することができる。すなわち、サーバ１０側におけるデータ更新が確実に端末２０に伝わる。なお、図３の処理は、所定の周期で実行されてよい。
【００５５】
また、図３の処理によれば、サーバ１０は、更新されたマスタデータのみを端末２０に送信する。これにより、サーバ１０と端末２０との間の通信量が削減され、さらに、端末２０におけるマスタデータの更新量も削減されるので、電子カルテシステム１全体の動作速度が向上する。
【００５６】
図４は、要求電文にマスタデータの識別子であるＩＤが設定された場合の処理を示すシーケンスチャートである。
【００５７】
キャッシュ制御部２０４は、端末側キャッシュ部２０６から、サーバクエリ時刻を取得する（ＳＴ２００、ＳＴ２０２）。
【００５８】
次に、キャッシュ制御部２０４は、確認時刻に上記で取得したサーバクエリ時刻を、ＩＤに要求対象のマスタデータのＩＤを設定して要求電文を生成し、サーバ制御部１００へ送信する（ＳＴ２０４）。
【００５９】
サーバ制御部１００は、ＳＴ２０４の要求電文を受信する。そして、サーバ制御部１００は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する（ＳＴ２０６）。
【００６０】
次に、サーバ制御部１００は、サーバ側キャッシュ部１０２から、その要求電文に設定されたＩＤに適合し、かつ、「確認時刻−α＜ＤＢ更新時刻」に適合するマスタデータを検索する（ＳＴ２０８）。そして、サーバ制御部１００は、サーバ側キャッシュ部１０２から、その検索に適合するマスタデータを取得する（ＳＴ２１０）。ここで、複数のＩＤが設定されている場合、それらのＩＤの内の１つでも更新されているならば、サーバ制御部１００は、それら全てのＩＤのデータを取得する。
【００６１】
次に、サーバ制御部１００は、クエリ条件に適合するデータが存在する場合、ＳＴ２０６で生成したサーバクエリ時刻と、更新データが存在する旨を示すフラグ値と、ＳＴ２１０で取得したマスタデータとを含む応答電文を生成し、キャッシュ制御部２０４に送信（返信）する（ＳＴ２１２）。なお、更新データが存在しない場合、サーバ制御部１００は、上述同様、ＳＴ２０６で生成したサーバクエリ時刻と、更新データが存在しない旨を示すフラグ値とを含む応答電文を生成し、キャッシュ制御部２０４に送信する。
【００６２】
キャッシュ制御部２０４は、ＳＴ２１２の応答電文を受信する。そして、キャッシュ制御部２０４は、この受信した応答電文に含まれる更新マスタデータを、端末側キャッシュ部２０６に格納する（ＳＴ２１４、ＳＴ２１６）。すなわち、端末側キャッシュ部２０６に格納されているマスタデータのうちサーバ１０側で更新されたマスタデータを更新する。
【００６３】
なお、ＳＴ２１４において、キャッシュ制御部２０４は、端末側キャッシュ部２０６のサーバクエリ時刻を更新しない。なぜなら、端末側キャッシュ部２０６では、ＩＤに対応するデータのみが更新されるため、もしサーバクエリ時刻を更新してしまうと、他の更新すべきデータが更新されない状態が発生するおそれがあるからである。
【００６４】
図４の処理によれば、特定のマスタデータのみを更新することができる。例えば、新たな薬が入荷された際に処方等マスタのみを更新したりすることができる。これにより、サーバ１０と端末２０との間の通信量が削減され、さらに、端末２０におけるマスタデータの更新量も削減されるので、電子カルテシステム１全体の動作速度が向上する。
【００６５】
図５は、ＤＢのデータを変更する処理を示すシーケンスチャートである。
【００６６】
キャッシュ制御部２０４は、端末２０側の更新データを含む要求電文を生成し、サーバ制御部１００へ送信する（ＳＴ３００）。
【００６７】
サーバ制御部１００は、ＳＴ３００の要求電文を受信し、更新データを抽出する。そして、サーバ制御部１００は、この更新データの更新要求を、ＤＢ制御部１０４へ送信する（ＳＴ３０２）。
【００６８】
ＤＢ制御部１０４は、ＳＴ３０２の更新要求を受信し、更新データを抽出する。そして、ＤＢ制御部１０４は、この更新データをＤＢ１０６に反映（登録又は更新）する（ＳＴ３０４、ＳＴ３０６）。
【００６９】
次に、ＤＢ制御部１０４は、更新要求に対する応答（「更新応答」という）を、サーバ制御部１００へ送信（返信）する（ＳＴ３０８）。
【００７０】
サーバ制御部１００は、ＳＴ３０８の更新応答を受信する。そして、サーバ制御部１００は、ＳＴ３０２の更新データをサーバ側キャッシュ部１０２に反映（登録又は更新）する（ＳＴ３１０、ＳＴ３１２）。これにより、ＤＢ１０６とサーバ側キャッシュ部１０２の両方に更新データが反映される。
【００７１】
次に、サーバ制御部１００は、ＳＴ３００の要求電文に対する応答電文を、キャッシュ制御部２０４に送信する（ＳＴ３１４）。
【００７２】
キャッシュ制御部２０４は、ＳＴ３１４の応答電文を受信する。そして、キャッシュ制御部２０４は、ＳＴ３００の更新データを、端末側キャッシュ部２０６に反映（登録又は更新）する（ＳＴ３１６、ＳＴ３１８）。これにより、端末側キャッシュ部２０６にも更新データが反映される。なお、この場合、キャッシュ制御部２０４は、端末側キャッシュ部２０６のサーバクエリ時刻を更新しない。
【００７３】
図５の処理によれば、端末２０による更新データを、サーバ１０側のＤＢ１０６及びサーバ側キャッシュ部１０２に反映した後に、端末側キャッシュ部２０６に反映するため、サーバ１０と端末２０との間に更新データの不整合が発生することを防止することができる。
【００７４】
＜ハードウェアの構成＞
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述したサーバ１０、端末２０の機能は、コンピュータプログラムにより実現され得る。
【００７５】
図６は、各装置の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ１１００は、キーボードやマウス、タッチパッドなどの入力装置１１０１、ディスプレイやスピーカーなどの出力装置１１０２、ＣＰＵ（Central Processing Unit）１１０３、ＲＯＭ（Read Only Memory）１１０４、ＲＡＭ（Random Access Memory）１１０５、ハードディスク装置やＳＳＤ（Solid State Drive）などの記憶装置１１０６、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）やＵＳＢ（Universal Serial Bus）メモリなどの記録媒体から情報を読み取る読取装置１１０７、ネットワークを介して通信を行う送受信装置１１０８を備え、各部はバス１１０９により接続される。
【００７６】
そして、読取装置１１０７は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置１１０６に記憶させる。あるいは、送受信装置１１０８が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置１１０６に記憶させる。
【００７７】
そして、ＣＰＵ１１０３が、記憶装置１１０６に記憶されたプログラムをＲＡＭ１１０５にコピーし、そのプログラムに含まれる命令をＲＡＭ１１０５から順次読み出して実行することにより、上記各装置の機能が実現される。
【００７８】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【産業上の利用可能性】
【００７９】
本発明に係るサーバ、データ更新方法、及び、電子カルテシステムは、電子カルテを取り扱うシステム又はコンピュータへの利用に好適である。
【符号の説明】
【００８０】
１  電子カルテシステム
１０  サーバ
２０  端末
１００  サーバ制御部
１０２  サーバ側キャッシュ部
１０４  ＤＢ制御部
１０６  ＤＢ
２００  アプリケーション部
２０２  モジュール部
２０４  キャッシュ制御部
２０６  端末側キャッシュ部
【図１】
2018180731.tif 000003
【図２】
2018180731.tif 000004
【図３】
2018180731.tif 000005
【図４】
2018180731.tif 000006
【図５】
2018180731.tif 000007
【図６】
2018180731.tif 000008