特許第6971610号(P6971610)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックヘルスケアホールディングス株式会社の特許一覧

特許6971610サーバ、データ更新方法、及び、電子カルテシステム
<>
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000002
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000003
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000004
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000005
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000006
  • 特許6971610-サーバ、データ更新方法、及び、電子カルテシステム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6971610
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】サーバ、データ更新方法、及び、電子カルテシステム
(51)【国際特許分類】
   G06F 16/27 20190101AFI20211111BHJP
   G16H 10/60 20180101ALI20211111BHJP
   G06F 16/172 20190101ALI20211111BHJP
   G06F 16/182 20190101ALI20211111BHJP
【FI】
   G06F16/27
   G16H10/60
   G06F16/172
   G06F16/182 100
【請求項の数】4
【全頁数】13
(21)【出願番号】特願2017-76152(P2017-76152)
(22)【出願日】2017年4月6日
(65)【公開番号】特開2018-180731(P2018-180731A)
(43)【公開日】2018年11月15日
【審査請求日】2020年3月27日
(73)【特許権者】
【識別番号】314005768
【氏名又は名称】PHCホールディングス株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】特許業務法人鷲田国際特許事務所
(72)【発明者】
【氏名】葉山 幸治
(72)【発明者】
【氏名】川田 敬弘
(72)【発明者】
【氏名】大河内 惇也
【審査官】 早川 学
(56)【参考文献】
【文献】 特開2016−186681(JP,A)
【文献】 特表2016−519346(JP,A)
【文献】 特開2011−164919(JP,A)
【文献】 特開2013−196526(JP,A)
【文献】 米国特許出願公開第2014/0033019(US,A1)
【文献】 米国特許第06366947(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
G16H 10/00−10/65
(57)【特許請求の範囲】
【請求項1】
端末から受信した要求情報に適合するデータを前記端末へ送信するサーバであって、
データベースと、
前記データベースから取得された少なくとも一部のデータが格納されるキャッシュメモリ部と、
前記要求情報に適合するデータを前記キャッシュメモリ部から取得して、前記要求情報に対応する応答情報を生成する制御部と、を備え、
前記要求情報は、前記端末から送信された前回の要求情報を当該サーバが受信した時刻である第1の確認時刻を含み、
前記制御部は、前記端末から送信された要求情報に含まれる前記第1の確認時刻から所定時間を減算して減算後確認時刻を算出し、データの更新時刻が前記減算後確認時刻よりも新しいデータを前記キャッシュメモリ部から取得して、前記応答情報に含め、
前記所定時間は、前記データベースで更新されたデータが前記キャッシュメモリ部に反映されるまでの時間よりも長い時間である、
サーバ。
【請求項2】
前記制御部は、前記端末から送信された要求情報を受信した時刻を、第2の確認時刻として前記応答情報に含める、
請求項に記載のサーバ。
【請求項3】
端末及びサーバを備えるシステムにおけるデータ更新方法であって、
前記端末は、前記サーバから取得したデータと、当該データの第1の要求情報を前記サーバが受信した時刻である第1の確認時刻と、が格納される第1のキャッシュメモリ部を備え、
前記サーバは、データベースと、前記データベースから取得された少なくとも一部のデータが格納される第2のキャッシュメモリ部と、を備え、
前記端末は、前記第1の確認時刻を含む第2の要求情報を、前記サーバへ送信し、
前記サーバは、
前記端末から前記第2の要求情報を受信し、
前記第2の要求情報に含まれる前記第1の確認時刻から所定時間を減算して減算後確認時刻を算出し、
データの更新時刻が前記減算後確認時刻よりも新しいデータを、前記第2のキャッシュメモリ部から取得し、
その取得したデータと、前記第2の要求情報を受信した時刻である第2の確認時刻と、を含む応答情報を生成して前記端末へ送信し、
前記端末は、
前記応答情報を受信し、
前記応答情報に含まれるデータで、前記第1のキャッシュメモリ部におけるデータを更新し、
前記応答情報に含まれる前記第2の確認時刻で、前記第1のキャッシュメモリ部における前記第1の確認時刻を更新
前記所定時間は、前記データベースで更新されたデータが前記第2のキャッシュメモリ部に反映されるまでの時間よりも長い時間である、
データ更新方法。
【請求項4】
端末及びサーバを有する電子カルテシステムであって、
前記端末は、前記サーバから取得した電子カルテに関するマスタデータと、当該マスタデータの第1の要求情報を前記サーバが受信した時刻である第1の確認時刻と、が格納される第1のキャッシュメモリ部を備え、
前記サーバは、データベースと、前記データベースから取得された少なくとも一部のマスタデータが格納される第2のキャッシュメモリ部と、を備え、
前記端末は、前記第1の確認時刻を含む第2の要求情報を、前記サーバへ送信し、
前記サーバは、
前記端末から前記第2の要求情報を受信し、
前記第2の要求情報に含まれる前記第1の確認時刻から所定時間を減算して減算後確認時刻を算出し、
データの更新時刻が前記減算後確認時刻よりも新しいマスタデータを、前記第2のキャッシュメモリ部から取得し、
その取得したデータと、前記第2の要求情報を受信した時刻である第2の確認時刻と、を含む応答情報を生成して前記端末へ送信し、
前記端末は、
前記応答情報を受信し、
前記応答情報に含まれるマスタデータで、前記第1のキャッシュメモリ部におけるマスタデータを更新し、
前記応答情報に含まれる前記第2の確認時刻で、前記第1のキャッシュメモリ部における前記第1の確認時刻を更新
前記所定時間は、前記データベースで更新されたデータが前記第2のキャッシュメモリ部に反映されるまでの時間よりも長い時間である、
電子カルテシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ、データ更新方法、及び、電子カルテシステムに関する。
【背景技術】
【0002】
電子カルテシステムは、従来の紙のカルテを電子的なカルテに置き換えて管理するシステムである。特許文献1には、電子カルテを管理するサーバと、電子カルテに対する入力及び表示を行う端末とが、ネットワークを介して接続されている電子カルテシステムが開示されている。
【0003】
また、医師等に診療記録等を全て手入力させることは、負担が大きく、入力ミスも発生しやすい。そこで、特許文献2では、病名や医薬品等の名称をマスタデータとして予め用意しておき、医師等にマスタデータを選択させることにより、電子カルテの入力負担の軽減、及び、入力ミスの低減を実現している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013−37586号公報
【特許文献2】特開2005−316968号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
医師等は限られた時間内で診療記録を入力する必要があるため、端末における電子カルテの操作には、低レイテンシが求められる。しかし、サーバのデータベースで管理されているマスタデータを端末が都度取得する従来技術では、端末において低レイテンシを実現することが難しい。また、マスタデータは時々更新される類いのデータであり、その更新が確実に端末に伝えられる必要がある。
【0006】
本発明の目的は、サーバ側におけるデータ更新が確実に端末に伝わり、かつ、端末における低レイテンシを可能とするサーバ装置、データ更新方法、及び、電子カルテシステムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一態様に係るサーバは、端末から受信した要求情報に適合するデータを前記端末へ送信するサーバであって、データベースと、前記データベースから取得された少なくとも一部のデータが格納されるキャッシュメモリ部と、前記要求情報に適合するデータを前記キャッシュメモリ部から取得して、前記要求情報に対応する応答情報を生成する制御部と、を備え、前記要求情報は、前記端末から送信された前回の要求情報を当該サーバが受信した時刻である第1の確認時刻を含み、前記制御部は、前記端末から送信された要求情報に含まれる前記第1の確認時刻から所定時間を減算して減算後確認時刻を算出し、データの更新時刻が前記減算後確認時刻よりも新しいデータを前記キャッシュメモリ部から取得して、前記応答情報に含め、前記所定時間は、前記データベースで更新されたデータが前記キャッシュメモリ部に反映されるまでの時間よりも長い時間である
【発明の効果】
【0008】
本発明によれば、サーバ側におけるデータ更新が確実に端末に伝わり、かつ、端末における低レイテンシを可能とすることができる。
【図面の簡単な説明】
【0009】
図1】本実施の形態に係る電子カルテシステムの構成例を示すブロック図である。
図2】要求電文のデータクエリモードに「ALL」が設定された場合の処理を示すシーケンスチャートである。
図3】要求電文のデータクエリモードに「Time」が設定された場合の処理を示すシーケンスチャートである。
図4】要求電文にマスタデータのIDが設定された場合の処理を示すシーケンスチャートである。
図5】データベースのデータを変更する処理を示すシーケンスチャートである。
図6】本発明に係るコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、実施の形態を説明する。なお、以下の実施の形態において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
【0011】
図1は、電子カルテシステム1の構成例を示すブロック図である。
【0012】
電子カルテシステム1は、サーバ10と、少なくとも1つの端末20とを含む。サーバ10と端末20とは、所定の通信ネットワークで接続されており、双方向通信が可能である。
【0013】
サーバ10は、電子カルテに関する各種データを管理するための装置である。端末20は、医師、看護師、薬剤師及び事務員等の医療関係者が、電子カルテを利用するための装置である。端末20は、例えば、PC、タブレット端末、及びスマートフォン等である。
【0014】
<サーバ10の構成>
次にサーバ10の構成について説明する。サーバ10は、機能として、サーバ制御部100と、サーバ側キャッシュ部102と、DB(DataBase)制御部104と、DB106とを有する。
【0015】
DB106には、電子カルテに関するマスタ及び診療記録等が保持される。DB106は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置に構築される。
【0016】
サーバ側キャッシュ部102には、電子カルテに関する最新のマスタデータがキャッシュされる。サーバ側キャッシュ部102は、例えば、DRAM(Dynamic Random Access Memory)等の記憶装置に構築される。サーバ側キャッシュ部102が構築される記憶装置のアクセス速度は、DB106が構築される記憶装置のアクセス速度よりも高速であることが好ましい。
【0017】
電子カルテに関するマスタは、電子カルテへの入力時に選択可能な項目に関する情報を含む。電子カルテに関するマスタは、例えば、ユーザマスタ、カルテ記事雛形マスタ、オーダマスタ、病名マスタ、及び、検査依頼マスタ、検査結果マスタを含む。
【0018】
ユーザマスタは、受診者に関する情報を電子カルテに入力する際に選択可能な項目を含む。例えば、ユーザマスタは、氏名、生年月日、性別、及び血液型等の項目を含む。
【0019】
カルテ記事雛形マスタは、診療記録に関する情報を電子カルテに入力する際に選択可能な項目、例えば、バイタル情報、及びシェーマの画像等の項目を含む。
【0020】
オーダマスタは、処方に関する情報を電子カルテに入力する際に選択可能な項目、例えば、医薬品名、及び検体名等の項目を含む。
【0021】
病名マスタは、病名に関する情報を電子カルテに入力する際に選択可能な項目、例えば、病名等の項目を含む。
【0022】
検査依頼マスタは、検査依頼に関する情報を電子カルテに入力する際に選択可能な項目、例えば、検査名、及び検査対象等の項目を含む。
【0023】
検査結果マスタは、検査結果に関する情報を電子カルテに入力する際に選択可能な項目、例えば、検査名、及び検査分類等の項目を含む。
【0024】
サーバ制御部100は、DB106及びサーバ側キャッシュ部102内のデータを制御する。例えば、サーバ制御部100は、DB106内のマスタデータが更新されると、その更新されたマスタデータをサーバ側キャッシュ部102に反映する。すなわち、サーバ制御部100は、サーバ側キャッシュ部102に、最新のマスタデータが保持されているようにする。
【0025】
また、サーバ制御部100は、端末20からの要求に応じて、必要なデータを端末20に返す。例えば、サーバ制御部100は、端末20から要求電文を受信すると、その要求電文に含まれる検索クエリに適合するマスタデータを、サーバ側キャッシュ部102から取得し、応答電文として端末20へ返す。サーバ側キャッシュ部102はDB106よりも応答性能が高く、サーバ側キャッシュ部102に格納されているデータは、応答電文の形式になっている場合もある。よって、サーバ制御部100は、マスタデータをDB106から取得するよりも、短時間で応答電文を端末20に返すことができる。
【0026】
<端末20の構成>
次に端末20の構成について説明する。端末20は、機能として、モジュール部202と、アプリケーション部200と、キャッシュ制御部204と、端末側キャッシュ部206とを含む。
【0027】
モジュール部202は、端末20側における電子カルテの共通ロジックを含むプログラムモジュールである。モジュール部202は、ライブラリ又はプラグイン等とも呼ばれる。
【0028】
アプリケーション部200は、端末20側から電子カルテを利用するためのアプリケーションプログラムである。アプリケーション部200は、モジュール部202を利用して作成される。このように、電子カルテの共通ロジックをモジュール部202として分離しておくことにより、アプリケーション部200には、端末20の種別(例えばPC又はタブレット端末20等)によって異なる部分のみを実装することができる。これにより、端末20の種別に応じた最適な電子カルテのアプリケーションを、比較的容易に実装することができる。
【0029】
キャッシュ制御部204は、サーバ制御部100と連携して、端末側キャッシュ部206を制御する。例えば、キャッシュ制御部204は、サーバ制御部100から最新のマスタデータを取得して端末側キャッシュ部206に格納することにより、端末側キャッシュ部206のマスタデータを最新に保つ。キャッシュ制御部204とサーバ制御部100との間のやり取りは、サーバ10が公開するWEB APIを用いて行われてもよい。
【0030】
<要求電文及び応答電文の構成>
次に要求電文及び応答電文の構成について説明する。
【0031】
要求電文は、キャッシュ制御部204がサーバ制御部100に対してデータを要求するための電文である。要求電文は、データクエリモードと、確認時刻とを含む。応答電文は、サーバ制御部100がキャッシュ制御部204に対して、要求電文に対する応答を返すための電文である。応答電文は、サーバクエリ時刻と、データとを含む。
【0032】
データクエリモードには、次のように、どのようなデータを要求するかを示すモードを設定可能である。
・全データを要求する「ALL」。
・確認時刻以降に更新されたデータを要求する「Time」。
【0033】
サーバクエリ時刻は、サーバ制御部100がキャッシュ制御部204から要求電文を受信した時刻である。サーバクエリ時刻は、応答電文に含まれて端末20に送信され、端末側キャッシュ部206に格納される。キャッシュ制御部204は、端末側キャッシュ部206からサーバクエリ時刻を取得し、その取得したサーバクエリ時刻を、確認時刻として電文要求に設定する。
【0034】
図2は、要求電文のデータクエリモードに「ALL」が設定された場合の処理を示すシーケンスチャートである。
【0035】
キャッシュ制御部204は、端末側キャッシュ部206から、サーバクエリ時刻を取得する(ST100、ST102)。
【0036】
次に、キャッシュ制御部204は、データクエリモードに「ALL」を、確認時刻に「NULL」を設定して要求電文を生成し、サーバ制御部100へ送信する(ST104)。確認時刻に「NULL」が設定された場合は、全てのマスタデータがクエリ対象となる。
【0037】
サーバ制御部100は、ST104の要求電文を受信する。そして、サーバ制御部100は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する(ST106)。
【0038】
次に、サーバ制御部100は、データクエリモードが「ALL」であるので、サーバ側キャッシュ部102から全マスタデータを取得する(ST108、ST110)。
【0039】
次に、サーバ制御部100は、ST106で生成したサーバクエリ時刻と、ST110で取得した全マスタデータとを含む応答電文を生成し、キャッシュ制御部204に送信(返信)する(ST112)。
【0040】
キャッシュ制御部204は、ST112の応答電文を受信する。そして、キャッシュ制御部204は、この受信した応答電文に含まれるサーバクエリ時刻と全マスタデータとを、端末側キャッシュ部206に格納する(ST114、ST116)。すでに端末側キャッシュ部206にサーバクエリ時刻とマスタデータとが存在する場合、キャッシュ制御部204は、端末側キャッシュ部206のサーバクエリ時刻と全データとを更新する。
【0041】
図2の処理によれば、端末側キャッシュ部206のマスタデータが全て最新となる。この処理は、例えば、端末20の起動時又はアプリケーション部200の起動時に実行される。
【0042】
図3は、要求電文のデータクエリモードに「Time」が設定された場合の処理を示すシーケンスチャートである。
【0043】
キャッシュ制御部204は、端末側キャッシュ部206から、サーバクエリ時刻を取得する(ST150、ST152)。
【0044】
次に、キャッシュ制御部204は、データクエリモードに「Time」を、確認時刻に上記で取得したサーバクエリ時刻を設定した要求電文を生成し、サーバ制御部100へ送信する(ST154)。
【0045】
サーバ制御部100は、ST104の要求電文を受信する。そして、サーバ制御部100は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する(ST156)。
【0046】
次に、サーバ制御部100は、データクエリモードが「Time」であるので、サーバ側キャッシュ部102から、「確認時刻−α<DB更新時刻」のクエリ条件に適合するデータを検索する(ST158、ST160)。αは所定の時間である。ここで、確認時刻から所定時間αを減算しているのは、以下の理由による。
【0047】
もしαを減算しないと、ST156のサーバクエリ生成時刻が、DB106でデータが更新されてからサーバ側キャッシュ部102に格納されるまでの間の時刻であった場合、「最新更新時刻>DB更新時刻」となってしまい、キャッシュ制御部204が、更新データを取得できない事態が発生してしまう。すなわち、αを減算することにより、このような事態の発生を防止することができる。したがって、所定時間αは、DB106でマスタデータが更新されてサーバ側キャッシュ部102に格納されるまでの間の最長時間よりも長い時間となる。なお、「確認時刻−α」は、減算後確認時刻と呼ばれてもよい。
【0048】
<クエリ条件に適合するデータが存在する場合>
まず、ST158のクエリ条件「確認時刻−α<DB更新時刻」に適合するマスタデータがサーバ側キャッシュ部102に存在する場合について説明する。
【0049】
この場合、端末側キャッシュ部206のマスタデータは最新の状態ではない。したがって、サーバ制御部100は、ST156で生成したサーバクエリ時刻と、更新マスタデータが存在する旨を示すフラグ値と、ST160で取得した更新マスタデータとを含む応答電文を生成し、キャッシュ制御部204に送信(返信)する(ST162)。
【0050】
キャッシュ制御部204は、ST162の応答電文を受信する。そして、キャッシュ制御部204は、この受信した応答電文に含まれるサーバクエリ時刻と更新マスタデータとを、端末側キャッシュ部206に格納する(ST164、ST166)。すなわち、端末側キャッシュ部206のサーバクエリ時刻と、端末側キャッシュ部206に格納されているデータのうちサーバ10側で更新されたデータと、を更新する。
【0051】
<クエリ条件に適合するデータが存在しない場合>
次に、ST158のクエリ条件「確認時刻−α<DB更新時刻」に適合するマスタデータがサーバ側キャッシュ部102に存在しない場合について説明する。
【0052】
この場合、端末側キャッシュ部206のマスタデータは最新の状態である。したがって、サーバ制御部100は、ST156で生成したサーバクエリ時刻と、更新マスタデータが存在しない旨を示すフラグ値とを含む応答電文を生成し、キャッシュ制御部204に送信(返信)する(ST162)。
【0053】
キャッシュ制御部204は、ST162の応答電文を受信する。そして、キャッシュ制御部204は、この受信した応答電文に含まれるサーバクエリ時刻を、端末側キャッシュ部206に格納する(ST164、ST166)。
【0054】
図3の処理によれば、サーバ10のDB106におけるマスタデータの更新が、サーバ側キャッシュ部102に反映されるまでの間のタイムラグによって、端末側キャッシュ部206に反映されなくなるおそれを防止することができる。すなわち、サーバ10側におけるデータ更新が確実に端末20に伝わる。なお、図3の処理は、所定の周期で実行されてよい。
【0055】
また、図3の処理によれば、サーバ10は、更新されたマスタデータのみを端末20に送信する。これにより、サーバ10と端末20との間の通信量が削減され、さらに、端末20におけるマスタデータの更新量も削減されるので、電子カルテシステム1全体の動作速度が向上する。
【0056】
図4は、要求電文にマスタデータの識別子であるIDが設定された場合の処理を示すシーケンスチャートである。
【0057】
キャッシュ制御部204は、端末側キャッシュ部206から、サーバクエリ時刻を取得する(ST200、ST202)。
【0058】
次に、キャッシュ制御部204は、確認時刻に上記で取得したサーバクエリ時刻を、IDに要求対象のマスタデータのIDを設定して要求電文を生成し、サーバ制御部100へ送信する(ST204)。
【0059】
サーバ制御部100は、ST204の要求電文を受信する。そして、サーバ制御部100は、この要求電文を受信した時刻から、サーバクエリ時刻を生成する(ST206)。
【0060】
次に、サーバ制御部100は、サーバ側キャッシュ部102から、その要求電文に設定されたIDに適合し、かつ、「確認時刻−α<DB更新時刻」に適合するマスタデータを検索する(ST208)。そして、サーバ制御部100は、サーバ側キャッシュ部102から、その検索に適合するマスタデータを取得する(ST210)。ここで、複数のIDが設定されている場合、それらのIDの内の1つでも更新されているならば、サーバ制御部100は、それら全てのIDのデータを取得する。
【0061】
次に、サーバ制御部100は、クエリ条件に適合するデータが存在する場合、ST206で生成したサーバクエリ時刻と、更新データが存在する旨を示すフラグ値と、ST210で取得したマスタデータとを含む応答電文を生成し、キャッシュ制御部204に送信(返信)する(ST212)。なお、更新データが存在しない場合、サーバ制御部100は、上述同様、ST206で生成したサーバクエリ時刻と、更新データが存在しない旨を示すフラグ値とを含む応答電文を生成し、キャッシュ制御部204に送信する。
【0062】
キャッシュ制御部204は、ST212の応答電文を受信する。そして、キャッシュ制御部204は、この受信した応答電文に含まれる更新マスタデータを、端末側キャッシュ部206に格納する(ST214、ST216)。すなわち、端末側キャッシュ部206に格納されているマスタデータのうちサーバ10側で更新されたマスタデータを更新する。
【0063】
なお、ST214において、キャッシュ制御部204は、端末側キャッシュ部206のサーバクエリ時刻を更新しない。なぜなら、端末側キャッシュ部206では、IDに対応するデータのみが更新されるため、もしサーバクエリ時刻を更新してしまうと、他の更新すべきデータが更新されない状態が発生するおそれがあるからである。
【0064】
図4の処理によれば、特定のマスタデータのみを更新することができる。例えば、新たな薬が入荷された際に処方等マスタのみを更新したりすることができる。これにより、サーバ10と端末20との間の通信量が削減され、さらに、端末20におけるマスタデータの更新量も削減されるので、電子カルテシステム1全体の動作速度が向上する。
【0065】
図5は、DBのデータを変更する処理を示すシーケンスチャートである。
【0066】
キャッシュ制御部204は、端末20側の更新データを含む要求電文を生成し、サーバ制御部100へ送信する(ST300)。
【0067】
サーバ制御部100は、ST300の要求電文を受信し、更新データを抽出する。そして、サーバ制御部100は、この更新データの更新要求を、DB制御部104へ送信する(ST302)。
【0068】
DB制御部104は、ST302の更新要求を受信し、更新データを抽出する。そして、DB制御部104は、この更新データをDB106に反映(登録又は更新)する(ST304、ST306)。
【0069】
次に、DB制御部104は、更新要求に対する応答(「更新応答」という)を、サーバ制御部100へ送信(返信)する(ST308)。
【0070】
サーバ制御部100は、ST308の更新応答を受信する。そして、サーバ制御部100は、ST302の更新データをサーバ側キャッシュ部102に反映(登録又は更新)する(ST310、ST312)。これにより、DB106とサーバ側キャッシュ部102の両方に更新データが反映される。
【0071】
次に、サーバ制御部100は、ST300の要求電文に対する応答電文を、キャッシュ制御部204に送信する(ST314)。
【0072】
キャッシュ制御部204は、ST314の応答電文を受信する。そして、キャッシュ制御部204は、ST300の更新データを、端末側キャッシュ部206に反映(登録又は更新)する(ST316、ST318)。これにより、端末側キャッシュ部206にも更新データが反映される。なお、この場合、キャッシュ制御部204は、端末側キャッシュ部206のサーバクエリ時刻を更新しない。
【0073】
図5の処理によれば、端末20による更新データを、サーバ10側のDB106及びサーバ側キャッシュ部102に反映した後に、端末側キャッシュ部206に反映するため、サーバ10と端末20との間に更新データの不整合が発生することを防止することができる。
【0074】
<ハードウェアの構成>
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述したサーバ10、端末20の機能は、コンピュータプログラムにより実現され得る。
【0075】
図6は、各装置の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ1100は、キーボードやマウス、タッチパッドなどの入力装置1101、ディスプレイやスピーカーなどの出力装置1102、CPU(Central Processing Unit)1103、ROM(Read Only Memory)1104、RAM(Random Access Memory)1105、ハードディスク装置やSSD(Solid State Drive)などの記憶装置1106、DVD−ROM(Digital Versatile Disk Read Only Memory)やUSB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置1107、ネットワークを介して通信を行う送受信装置1108を備え、各部はバス1109により接続される。
【0076】
そして、読取装置1107は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置1106に記憶させる。あるいは、送受信装置1108が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置1106に記憶させる。
【0077】
そして、CPU1103が、記憶装置1106に記憶されたプログラムをRAM1105にコピーし、そのプログラムに含まれる命令をRAM1105から順次読み出して実行することにより、上記各装置の機能が実現される。
【0078】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【産業上の利用可能性】
【0079】
本発明に係るサーバ、データ更新方法、及び、電子カルテシステムは、電子カルテを取り扱うシステム又はコンピュータへの利用に好適である。
【符号の説明】
【0080】
1 電子カルテシステム
10 サーバ
20 端末
100 サーバ制御部
102 サーバ側キャッシュ部
104 DB制御部
106 DB
200 アプリケーション部
202 モジュール部
204 キャッシュ制御部
206 端末側キャッシュ部
図1
図2
図3
図4
図5
図6