以下、図面を参照して開示の技術に係る実施形態の一例を詳細に説明する。本実施形態では、医療機関における各種実績データに関するグラフを表示するグラフ表示制御システムに開示の技術を適用した例について説明する。
本実施形態に係るグラフ表示制御システム10は、図1に示すように、複数のグラフ表示装置20及びグラフ生成装置30を含んでいる。グラフ表示装置20は、Webシステムのクライアント端末として機能するWebブラウザが搭載された装置である。グラフ表示装置20は、液晶ディスプレイ等の表示部、及びキーボード、マウス、タッチパネル等の入力部を備えた装置である。グラフ表示装置20としては、例えばパーソナルコンピュータ、タブレット、スマートフォン等を用いることができる。グラフ生成装置30は、WebシステムのWebサーバ及びアプリケーションサーバとして機能する情報処理装置である。各グラフ表示装置20とグラフ生成装置30とは、ネットワークを介して接続されている。
また、グラフ生成装置30は、Webシステムのデータベースサーバとして機能する電子カルテデータベース(DB)装置80とネットワークを介して接続されている。また、グラフ生成装置30は、医事インターフェース(I/F)装置89を介して、医事会計装置90と接続されている。医事会計装置90は、通常のWebシステムとは異なる形式で動作する装置である。そのため、医事I/F装置89が、WebシステムのWebサーバ及びアプリケーションサーバとして機能するグラフ生成装置30と医事会計装置90との間でデータをやり取りするためのインターフェースとして機能する。これにより、Webシステムとは異なる形式で動作する医事会計装置90が、Webシステムのデータベースサーバと同様に機能する。
ここで、図2及び図3に、グラフ表示装置20が備える表示部に表示される表示画面100の一例について説明する。なお、図2は通常モードの表示画面100の一例であり、図3は、拡大モードの表示画面100の一例である。通常モードは、グラフを表示すると共に、グラフの表示設定の選択が可能なボタンが表示されるモードである。拡大モードは、グラフを表示画面100全体に表示するモードである。
図2に示すように、通常モードの表示画面100は、印刷ボタン101、拡大ボタン102、登録済み表示設定選択ボタン103、グラフ表示領域104、前の週ボタン105、本日ボタン106、今週ボタン107、及び次の週ボタン108を備える。前の週ボタン105、本日ボタン106、今週ボタン107、及び次の週ボタン108をまとめて、期間指定ボタンと呼ぶ。また、表示画面100は、クリアボタン109、適用ボタン110、及び複数の表示設定ボタン111を備える。また、図3に示すように、拡大モードの表示画面100には、印刷ボタン101、縮小ボタン112、前の週ボタン105、本日ボタン106、今週ボタン107、及び次の週ボタン108を備える。なお、図2及び図3において、ボタンは角丸四角形で表している。
印刷ボタン101は、グラフ表示領域104に表示されたグラフを印刷する際に選択されるボタンである。通常モードで印刷ボタン101が選択されると、拡大モードに遷移すると共に、印刷ダイアログが表示画面100に重畳して表示される。拡大モードで印刷ボタン101が選択されると、印刷ダイアログが表示画面100に重畳して表示される。
拡大ボタン102は、拡大モードに遷移する際に選択されるボタンである。拡大ボタン102が選択されると、表示画面100が、図2の状態から図3の状態へ遷移する。
登録済み表示設定選択ボタン103は、予め登録しておいた表示設定を呼び出すためのボタンである。表示設定については後述する。図2の例では、1〜3の登録済み表示設定選択ボタン103がある。いずれかの番号の登録済み表示設定選択ボタン103が選択されると、選択された番号に対応して登録された表示設定に応じて、期間指定ボタン及び表示設定ボタン111のうちの所定のボタンが選択された状態に変更される。
期間指定ボタンは、時間の経過に伴う値の変化を示すグラフを表示する際に、グラフを表示する期間を指定する際に選択されるボタンである。本実施形態では、1週間分のグラフを表示する。前の週ボタン105は、現在指定されている期間の1週間前の期間を指定する際に選択されるボタンである。本日ボタン106は、期間の終端を本日とする1週間の期間を指定する際に選択されるボタンである。今週ボタン107は、本日を中心に前後3日の1週間の期間を指定する際に選択されるボタンである。次の週ボタン108は、現在指定されている期間の1週間後の期間を指定する際に選択されるボタンである。
なお、期間指定ボタンにおいて指定される期間の長さ及び期間を変更する単位は上記の例に限定されない。例えば、1か月分のグラフを表示する設定とし、現在指定されている期間の1ヶ月前の期間を指定する際に選択される先月ボタンや、1ヶ月後の期間を指定する際に選択される来月ボタン等を設けてもよい。また、期間を直接入力、またはカレンダーから選択入力するような形式としてもよい。
クリアボタン109は、現在選択されている期間及び表示設定を解除し、初期状態に戻す際に選択されるボタンである。初期状態は、例えば本日ボタン106が選択され、かついずれの表示設定ボタン111も選択されていない状態とすることができる。
適用ボタン110は、現在選択されている期間及び表示設定に応じたグラフを、グラフ表示領域104に表示する際に選択されるボタンである。
表示設定ボタン111は、表示設定を指定する際に選択されるボタンである。表示設定は、データ群を異なる複数の観点で集計するための複数の表示条件、及びグラフに表示する表示項目を含む。
より具体的には、表示条件は、データが有する複数の属性のいずれの属性に関するグラフを表示するかの条件である。ここでの「属性」とは、データをグループ分けしたときにどのグループに属するかを示すものであり、図2の例では、「診療科」及び「病棟」という2つの属性が表示条件として設定されている。表示条件「診療科」には、各診療科に対応した表示設定ボタン111が含まれ、表示条件「病棟」には、各病棟に対応した表示設定ボタン111が含まれる。また、各表示条件には、その表示条件が示す属性のデータを合計して、1つのデータとしたグラフを表示するための表示設定ボタン111(サマリボタン)が含まれる。さらに、各表示条件には、その表示条件に含まれる全ての表示設定ボタン111を選択するための表示設定ボタン111(“全て”ボタン)が含まれる。
表示条件「診療科」に含まれる表示設定ボタン111が選択された場合には、選択された診療科のデータに関するグラフが表示される。表示条件「病棟」に含まれる表示設定ボタン111が選択された場合には、選択された病棟のデータに関するグラフが表示される。表示条件が異なる場合には、データをグループ分けする観点が異なるため、異なる表示条件に含まれる表示設定ボタン111を同時に選択することはできない。例えば、表示条件「診療科」に含まれる「内科」と、表示条件「病棟」に含まれる「2階東」とを同時に選択することはできない。
表示項目は、カテゴリ毎にグループ分けされており、カテゴリ毎に、そのカテゴリに該当する表示項目に対応する表示設定ボタン111が含まれる。また、全てのカテゴリに共通する表示項目は、「共通」というカテゴリにグループ分けされる。図2の例では、カテゴリとして「外来」及び「入院」が設定されている。カテゴリは、複数の表示項目に関するグラフを同時に表示可能か否かの観点で任意に設定することができる。従って、異なるカテゴリに含まれる表示設定ボタン111を同時に選択することはできないように設定することができる。例えば、カテゴリ「外来」に含まれる「外来患者数」と、カテゴリ「入院」に含まれる「入院患者数」とを同時に選択することはできない。
縮小ボタン112は、通常モードに遷移する際に選択されるボタンである。縮小ボタン112が選択されると、表示画面100が、図3の状態から図2の状態へ遷移する。
次に、グラフ表示装置20の機能的構成について説明する。図4に示すように、グラフ表示装置20は、検出部21、ボタン状態制御部22、要求部23、及び表示制御部24を含む。
検出部21は、ユーザにより入力部を介して選択されたボタンを検出する。後述するように、各ボタンは、選択可能な場合には活性表示、選択不可の場合には非活性表示となる。従って、検出部21は、活性表示のボタンの選択のみを検出する。ユーザが入力部を介して非活性表示のボタンをクリックまたはタッチ等しても、検出部21は、そのボタンに対する選択は検出しない。
ボタン状態制御部22は、選択されたボタンの選択状態を更新する。選択されたボタンが表示設定ボタン111の場合には、ボタン状態制御部22は、選択された表示設定ボタン111が示す項目と、他の表示設定ボタン111が示す項目とが、同時にグラフ表示可能か否かを判定する。例えば、上述のように、異なる表示条件に含まれる表示設定ボタン111は同時に選択することはできないため、ボタン状態制御部22は、選択された表示設定ボタン111とは異なる表示条件に含まれる表示設定ボタン111は、同時に表示不可能と判定する。さらに、ボタン状態制御部22は、選択された表示設定ボタン111がサマリボタンまたは“全て”ボタンの場合、選択された表示設定ボタン111の表示条件に含まれる他の表示設定ボタン111は同時に表示不可能と判定する。
また、上述のように、異なるカテゴリに含まれる表示設定ボタン111を同時に選択することはできないため、ボタン状態制御部22は、選択された表示設定ボタン111とは異なるカテゴリに含まれる表示設定ボタン111は、同時に表示不可能と判定する。
ボタン状態制御部22は、同時に表示可能か否かの判定結果に基づいて、選択された表示設定ボタン111以外の表示設定ボタン111の選択状態も更新する。具体的には、ボタン状態制御部22は、選択されている表示設定ボタン111が示す表示条件または表示項目と同時にグラフに表示不可能な表示条件または表示項目を示す表示設定ボタン111を、選択不可能な状態に更新する。同時にグラフに表示不可能と判定するための排他条件は、表示設定ボタン111が選択された際に呼び出される関数として定義しておくことができる。また、排他条件を定めたテーブルを所定の記憶領域に記憶しておき、表示設定ボタン111が選択される都度、このテーブルを参照して、他の表示設定ボタン111の選択状態を更新してもよい。
選択されたボタンが期間指定ボタンの場合には、ボタン状態制御部22は、選択された期間指定ボタンのみが選択されている状態になるよう、他の期間指定ボタンの選択状態も含め、各期間指定ボタンの選択状態を更新する。
選択されたボタンが登録済み表示設定選択ボタン103の場合には、ボタン状態制御部22は、選択された登録済みの表示設定となるように、各ボタンの選択状態を更新する。
選択されたボタンがクリアボタン109の場合には、ボタン状態制御部22は、初期状態となるように、各ボタンの選択状態を更新する。
また、ボタン状態制御部22は、適用ボタン110が選択された場合、及びグラフの表示をグラフ生成装置30にリクエストした場合またはグラフを表示した場合には、適用ボタン110の選択状態を更新する。
選択されたボタンが印刷ボタン101、拡大ボタン102、または縮小ボタン112の場合には、ボタンの選択状態を更新する必要はないため、処理を表示制御部24へ渡す。
ボタン状態制御部22は、各ボタンの選択状態を、例えば図5に示すようなボタン状態情報DB28に記憶する。ボタンの選択状態を示す状態情報は、例えば、「選択可」、「選択中」、「追加選択可」、及び「選択不可」とすることができる。「選択可」は、同じグループで現在選択されているボタンの選択が解除されることを条件に、選択可能な状態であることを示す。ここでの同じグループとは、期間指定ボタン群、同じ表示条件、または同じカテゴリをいう。「選択中」は、ボタンが現在選択された状態であることを示す。「追加選択可」は、同じグループの他のボタンの選択状態に追加して選択可能な状態であることを示す。「選択不可」は、ボタンを選択できない状態であることを示す。
また、ボタン状態制御部22は、ボタン状態情報DB28に記憶された各ボタンの状態情報を表すように、各ボタンの表示を制御する。例えば、「選択可」のボタンは活性表示、「選択中」の期間指定ボタン及び適用ボタン110は非活性表示とすることができる。また、「選択中」の表示設定ボタン111には選択中を示すマークを付与し、「追加選択可」の表示設定ボタン111には追加選択可を示すマークを付与し、「選択不可」のボタンは非活性表示とすることができる。図2の例では、活性表示のボタンは白色、非活性表示のボタンは網掛け、選択中を示すマークはチェックマーク、追加選択可を示すマークはプラスマークで表している。
要求部23は、グラフ表示制御システム10における処理開始時に、表示画面100に初期画面を表示するための初期画面リクエストを、グラフ生成装置30に送信する。また、要求部23は、検出部21により、適用ボタン110の選択が検出された場合には、ボタン状態情報DB28から、現在選択されている期間指定ボタン及び表示設定ボタン111を取得する。そして、要求部23は、取得した期間指定ボタンが示す期間、及び表示設定ボタン111が示す表示設定の情報を含むグラフ表示リクエストを生成し、グラフ生成装置30に送信する。
表示制御部24は、グラフ生成装置30から送信されたHTMLファイルを受信し、HTMLファイルに基づく画像を表示するよう表示部を制御する。
次に、グラフ生成装置30の機能的構成について説明する。図6に示すように、グラフ生成装置30は、受付部31、取得部32、及び生成部33を含む。
受付部31は、グラフ表示装置20から送信された初期画面リクエストまたはグラフ表示リクエストを受け付ける。
取得部32は、受付部31が初期画面リクエストを受け付けた場合に、表示条件DB37から、表示条件名一覧を取得する。表示条件名一覧とは、表示画面100に表示する表示条件に含まれる表示設定ボタン111の名称である。ここでは、診療科名及び病棟名の一覧を取得する。
また、取得部32は、受付部31がグラフ表示リクエストを受け付けた場合に、グラフ表示リクエストに含まれる期間及び表示設定の情報を抽出する。取得部32は、抽出した表示設定に基づいて、電子カルテDB装置80及び医事会計装置90のいずれからデータを取得するかを判定する。
電子カルテDB装置80の記憶領域には、図7に示すように各種データベースが記憶されている。図7の例では、患者の氏名等の基本情報を記録した患者DB81、外来患者や救急患者の受付内容等を記録した受付DB82、入退院の移動情報を記録した移動情報DB83、及び入院中の患者の情報を記録した病棟患者情報DB84が記憶されている。また、手術に関する情報を記録した手術DB85、病室の空など管理情報を記録した病室管理情報DB86、各診療科の名称の一覧が記録された診療科名称マスタDB87、及び各病棟の名称の一覧が記録された病棟名称マスタDB88が記憶されている。
患者DB81、受付DB82、移動情報DB83、病棟患者情報DB84、手術DB85、及び病室管理情報DB86の各々に記録されるデータは、日々の診療行為等に応じた実績データである。診療科名称マスタDB87、及び病棟名称マスタDB88に記録されるデータは、診療科及び病棟の追加、削除、変更等があったタイミングで更新されるデータである。診療科名称マスタDB87及び病棟名称マスタDB88と、表示条件DB37とには、同一のデータが記憶される。例えば1日1回等の所定期間毎に、取得部32が電子カルテDB装置80から診療科名称マスタDB87及び病棟名称マスタDB88を取得し、表示条件DB37を更新することができる。
電子カルテDB装置80からデータを取得する場合には、取得部32は、グラフ表示リクエストから抽出した期間及び表示設定に基づく検索SQLを作成して、電子カルテDB装置80からデータを取得する。例えば、表示項目毎に図8に示すようなXMLファイルのSQL定義36を用意し、所定の記憶領域に記憶しておく。取得部32は、グラフ表示リクエストから抽出した表示設定に含まれる表示項目に対応したSQL定義36を取得する。そして、取得部32は、グラフ表示リクエストから抽出した期間及び表示設定に含まれる表示条件を、取得したSQL定義36に代入して、検索SQLを作成する。
図8の例では、「DATE_FROM」及び「DATE_TO」に期間が代入され、「BRNCHS」に診療科コード、「WARDS」に病棟コードが代入される。なお、診療科コード及び病棟コードは、診療科及び病棟の各々を識別するためのものである。選択されたボタンに対応する診療科コードまたは病棟コードを、グラフ表示リクエストに含めるようにしておくとよい。
医事会計装置90からデータを取得する場合には、取得部32は、グラフ表示リクエストから抽出した期間及び表示設定をパラメータとし、医事I/F装置89を介して、医事会計装置90へデータを要求する。医事会計装置90では、パラメータに応じたデータセットを、医事I/F装置89を介して取得部32に返す。なお、医事会計装置90からデータを取得する場合とは、保険点数等、医事会計に関する表示項目が選択されている場合である。
取得部32は、取得したデータを、グラフに表示する表示項目に応じて集計する。例えば、表示項目として「手術件数」が選択されている場合には、取得部32は、手術DB85から取得したデータを、指定期間における日毎にカウントする。また、取得部32は、複数のデータベースから取得したデータを集計してもよい。例えば、表示項目として「死亡患者数」が選択されている場合には、取得部32は、移動情報DB85から退院した患者のデータを取得し、患者DB81から死亡フラグ及び死亡年月日が設定されているデータを取得する。そして、取得部32は、退院した患者であって、死亡フラグが設定されている患者の件数を、指定期間における日毎にカウントする。なお、取得部32で集計済みのデータを取得している場合には、取得部32による集計は不要である。
生成部33は、初期画面を生成する場合には、画面フォームに、取得部32が取得した表示条件名一覧を埋め込む。画面フォームは、各ボタンやグラフ表示領域104の配置が定められ仮想画面である。そして、生成部33は、表示条件名一覧が埋め込まれた画面フォームをHTMLファイルに変換する。
生成部33は、グラフを生成する場合には、取得部32で集計されたデータ、及びグラフ定義DB38に定義されたグラフ定義に基づいて、グラフ画像を生成する。グラフ画像は、例えば図3に示すように、縦軸113と横軸114で規定される領域にグラフ線115を配置し、さらに、グラフタイトル116、及び凡例117を配置したものとすることができる。縦軸113及び横軸114の目盛、グラフ線115、グラフタイトル116、及び凡例117の書式等は、グラフ定義DB38に定義されており、任意に設定可能である。なお、図3は、グラフ表示装置20に拡大モードで表示された表示画面100の一例であり、ここで生成するグラフ画像は、図3のボタン等を除いたグラフ部分のみの仮想画面である。
また、図3のグラフ部分に示すグラフ画像は、表示条件が1つ(ここでは、外科)、及び表示項目が1つ(ここでは、外来患者数)の場合の一例を示している。生成部33は、表示条件が複数、または表示項目が複数の場合のグラフ画像を生成することもできる。図9に、表示条件が4つ(ここでは、内科、神経内科、消化器科、及び外科)、及び表示項目が1つ(ここでは、外来患者数)の場合のグラフ画像の一例を示す。また、図10に、表示条件が1つ(ここでは、外科)、及び表示項目が3つ(ここでは、外来患者数、外来1日平均点数、及び救急患者数)の場合のグラフ画像の一例を示す。さらに、表示条件が複数、かつ表示項目が複数の場合のグラフ画像を生成することもできる。
表示項目が複数の場合には、図10に示すように、表示項目数が多くなるほど、横軸を短くする。すなわち、グラフ線115を表示する領域を狭くする。例えば、グラフ全体の横幅の最大値をA、縦軸1本分の横幅をB、及び表示する表示項目数をnとすると、横軸の長さCは、C=A−n×Bで求めることができる。また、表示項目毎の縦軸をグラフの左右に分配配置する。グラフの左また右に複数の縦軸をまとめて配置した場合には、外側に配置された縦軸ほど、グラフ線115との距離が離れてしまい、グラフの内容を把握し難くなってしまう。そこで、複数の縦軸をグラフの左右に分配配置する場合には、左右均等に配置することが好ましい。これにより、一番外側の縦軸とグラフとの距離を最小に抑えることができる。また、複数の縦軸を配置する場合、表示項目毎の縦軸の配置順と同じ順序で、表示項目名をグラフタイトル116として表示する。これにより、表示項目が複数の場合でも、グラフの内容を把握し易くなる。
また、生成部33により生成されるグラフ画像は、図3、図9、または図10に示すような折れ線グラフに限定されず、図11に示すような棒グラフや、図12に示すような帯グラフを生成してもよい。
生成部33は、生成したグラフ画像を所定の記憶領域に記憶する。そして、生成部33は、画面フォームに、生成したグラフ画像のファイルパス(記憶場所)を埋め込み、ファイルパスが埋め込まれた画面フォームをHTMLファイルに変換する。生成部33は、生成したHTMLファイルをグラフ表示装置20に送信する。
グラフ表示装置20は、例えば図13に示すコンピュータ40で実現することができる。コンピュータ40はCPU41、メモリ42、不揮発性の記憶部43、入出力インターフェース(I/F)44、及びネットワークI/F45を備えている。CPU41、メモリ42、記憶部43、入出力I/F44、及びネットワークI/F45は、バス46を介して互いに接続されている。コンピュータ40は、入出力I/F44を介して、入力部47及び表示部48と接続されている。
記憶部43はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部43には、コンピュータ40をグラフ表示装置20として機能させるためのグラフ表示プログラム50が記憶されている。CPU41は、グラフ表示プログラム50を記憶部43から読み出してメモリ42に展開し、グラフ表示プログラム50が有するプロセスを順次実行する。グラフ表示プログラム50は、検出プロセス51、ボタン状態制御プロセス52、要求プロセス53、及び表示制御プロセス54を有する。また、記憶部43は、ボタン状態情報記憶領域58を備える。
CPU41は、検出プロセス51を実行することで、図4に示す検出部21として動作する。また、CPU41は、ボタン状態制御プロセス52を実行することで、図4に示すボタン状態制御部22として動作する。また、CPU41は、要求プロセス53を実行することで、図4に示す要求部23として動作する。また、CPU41は、表示制御プロセス54を実行することで、図4に示す表示制御部24として動作する。また、ボタン状態情報記憶領域58は、図4に示すボタン状態情報DB28が記憶される記憶領域として機能する。これにより、グラフ表示プログラム50を実行したコンピュータ40が、グラフ表示装置20として機能することになる。
また、グラフ生成装置30は、例えば図14に示すコンピュータ60で実現することができる。コンピュータ60はCPU61、メモリ62、不揮発性の記憶部63、入出力I/F64、及びネットワークI/F65を備えている。CPU61、メモリ62、記憶部63、入出力I/F64、及びネットワークI/F65は、バス66を介して互いに接続されている。
記憶部63はHDDやフラッシュメモリ等によって実現できる。記録媒体としての記憶部63には、コンピュータ60をグラフ生成装置30として機能させるためのグラフ生成プログラム70が記憶されている。CPU61は、グラフ生成プログラム70を記憶部63から読み出してメモリ62に展開し、グラフ生成プログラム70が有するプロセスを順次実行する。グラフ生成プログラム70は、受付プロセス71、取得プロセス72、及び生成プロセス73を有する。また、記憶部は、SQL定義記憶領域76、表示条件記憶領域77、及びグラフ定義記憶領域78を備える。
CPU61は、受付プロセス71を実行することで、図6に示す受付部31として動作する。また、CPU61は、取得プロセス72を実行することで、図6に示す取得部32として動作する。また、CPU61は、生成プロセス73を実行することで、図6に示す生成部33として動作する。また、SQL定義記憶領域76は、図6に示すSQL定義36が記憶される記憶領域として機能する。また、表示条件記憶領域77は、図6に示す表示条件DB37が記憶される記憶領域として機能する。また、グラフ定義記憶領域78は、図6に示すグラフ定義DB38が記憶される記憶領域として機能する。これにより、グラフ生成プログラム70を実行したコンピュータ60が、グラフ生成装置30として機能することになる。
また、グラフ表示装置20及びグラフ生成装置30の各々は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、本実施形態に係るグラフ表示制御システム10の作用として、図15を参照して、コンピュータ40のCPU41によってグラフ表示プログラム50が実行されることで実現されるグラフ表示処理について説明する。また、図18を参照して、コンピュータ60のCPU61によってグラフ生成プログラム70が実行されることで実現されるグラフ生成処理について説明する。
グラフ表示装置20において、Webブラウザ上で、ユーザにより入力部47を介してグラフ表示制御システム10の処理開始が指示されると、図15に示すグラフ表示処理が開始する。
ステップS11で、要求部23は、表示画面100に初期画面を表示するための初期画面リクエストを、グラフ生成装置30に送信する。次に、ステップS12で、表示制御部24が、グラフ生成装置30から送信された初期画面を示すHTMLファイルを受信し、HTMLファイルに基づく画像を表示するよう表示部48を制御する。
次に、ステップS13で、検出部21が、ユーザにより入力部47を介して選択されたボタンを検出する。次に、ステップS14で、ボタン状態制御部22が、選択されたボタンが表示設定ボタン111か否かを判定する。表示設定ボタン111の場合には、処理はステップS15へ移行し、図16に示すボタン排他制御処理が実行される。
図16に示すボタン排他制御処理のステップS151で、ボタン状態制御部22は、選択された表示設定ボタン111の選択状態を更新する。具体的には、ボタン状態制御部22は、ボタン状態情報DB28において、選択された表示設定ボタン111の状態情報が「選択可」または「追加選択可」であった場合には「選択中」に更新する。「選択中」であった場合には「選択可」に更新する。
次に、ステップS152で、ボタン状態制御部22が、選択された表示設定ボタン111と同一グループに含まれる他の表示設定ボタン111の選択状態を、排他条件に従って更新する。ここでの同一グループとは、図17に示すように、表示条件または表示項目のカテゴリが同一の表示設定ボタン111群である。図17において、太枠で囲った表示設定ボタン111群が1つのグループである。
排他条件に従って、例えば、表示条件が同一のグループでは、サマリボタンまたは“全て”ボタンが選択された場合には、そのグループの他のボタンは「選択可」に更新する。また、表示項目名が選択された場合には、サマリボタンまたは“全て”ボタンを「選択可」、既に「選択中」以外の他の表示条件名を「追加選択可」に更新する。また、カテゴリが同一のグループでは、既に「選択中」以外の他の表示項目名を「追加選択可」に更新する。
次に、ステップS153で、ボタン状態制御部22が、選択された表示設定ボタン111とは異なるグループに含まれる表示設定ボタン111の選択状態を、排他条件に従って更新する。例えば、選択された表示設定ボタン111が表示条件に含まれる表示設定ボタン111の場合、他の表示条件に含まれる表示設定ボタン111を「選択不可」に更新する。また、他のグループにおいて、「選択不可」とした表示条件にのみ関連する表示設定を示す表示設定ボタンも「選択不可」とする。
また、選択された表示設定ボタン111がいずれかの表示項目に対応した表示設定ボタン111の場合、選択された表示項目とは異なる他のカテゴリに含まれる表示設定ボタン111を「選択可」に更新する。
次に、ステップS154で、ボタン状態制御部22が、適用ボタン110の状態情報を「選択」に更新して、グラフ表示処理へリターンする。このように、1つの表示設定ボタン111が選択される都度、選択された表示設定ボタン111→同一グループの他の表示設定ボタン111→他のグループの表示設定ボタン111の順に更新を行う。そのため、常に表示設定ボタン111全体の状態の最適化を保つことができる。
次に、上記ステップS14で否定判定されてステップS16へ移行した場合には、ボタン状態制御部22が、選択されたボタンが期間指定ボタンか否かを判定する。期間指定ボタンの場合には、ステップS17へ移行し、期間指定ボタンではない場合には、ステップS18へ移行する。
ステップS17では、ボタン状態制御部22が、ボタン状態情報DB28において、選択された期間指定ボタンの状態情報を「選択中」に、他の期間指定ボタンの状態情報を「選択可」に更新する。
ステップS18では、選択されたボタンが登録済み表示設定選択ボタン103の場合には、ボタン状態制御部22が、選択された登録済みの表示設定となるように、ボタン状態情報DB28における各ボタンの状態情報を更新する。また、選択されたボタンがクリアボタン109の場合には、ボタン状態制御部22が、初期状態となるように、ボタン状態情報DB28における各ボタンの状態情報を更新する。また、選択されたボタンが印刷ボタン101、拡大ボタン102、または縮小ボタン112の場合には、処理を表示制御部24へ渡す。なお、本ステップの段階では、適用ボタン110は、後述するステップS23の処理で「選択不可」となっているため、選択されることはない。
次に、ステップS19で、ボタン状態制御部22が、ボタン状態情報DB28に記憶された各ボタンの状態情報を表すように、各ボタンの表示を制御する。
次に、ステップS20で、検出部21が、適用ボタン110が選択されたか否かを判定する。適用ボタン110が選択された場合には、ボタン状態制御部22が、ボタン状態情報DB28における、適用ボタン110の状態情報を「選択中」に更新し、処理はステップS21へ移行し、選択されていない場合には、処理はステップS24へ移行する。
ステップS21では、要求部23が、ボタン状態情報DB28から、現在選択されている期間指定ボタン及び表示設定ボタン111を取得する。そして、要求部23は、取得した期間指定ボタンが示す期間、及び表示設定ボタン111が示す表示設定の情報を含むグラフ表示リクエストを生成し、グラフ生成装置30に送信する。
次に、ステップS22で、表示制御部24が、グラフ生成装置30から送信されたグラフ画像のファイルパスが埋め込まれたHTMLファイルを受信する。表示制御部24は、HTMLファイルに基づく画像を表示するよう表示部48を制御する。また、表示制御部24は、HTMLファイルに埋め込まれたファイルパスが示すグラフ生成装置30の記憶領域に記憶されたグラフ画像を読み込み、表示画面100のグラフ表示領域104に読み込んだグラフ画像を表示するよう表示部48を制御する。
次に、ステップS23で、ボタン状態制御部22が、ボタン状態情報DB28における、適用ボタン110の状態情報を「選択不可」に更新する。
次に、ステップS24で、Webブラウザ上で、ユーザにより入力部47を介してグラフ表示制御システム10の処理終了が指示されたか否かを判定する。処理終了が指示されていない場合には、ステップS13へ戻り、処理終了が指示された場合には、グラフ表示処理を終了する。
ステップS13へ戻った場合には、新たに選択されたボタン、及び選択状態が「選択中」のままのボタンに対応する期間及び表示設定により、グラフの再表示を行う。本実施形態では、各ボタンの選択状態をボタン状態情報DB28に記憶しているため、いったん選択されたボタンの状態は、選択が解除されるまで保持される。従って、グラフの再表示を行う場合に、変更の必要がない期間または表示設定については、改めて選択する必要がない。例えば、今週ボタン107を選択した状態で、表示条件「診療科」の「外科」、及び表示項目の「外来患者数」を選択した場合には、図3に示すようなグラフが表示される。このグラフが表示された状態で、表示条件「診療科」の「内科」、「神経内科」、及び「消化器科」を追加選択し、期間指定ボタンについては何の選択も行わないまま適用ボタン110を選択する。その場合、期間の指定は引き継がれたまま、図9に示すようなグラフが表示される。
グラフ生成装置30において、受付部31がグラフ表示装置20からの初期画面リクエストを受け付けると、図18に示すグラフ表示処理が開始する。
ステップS31で、図19に示す初期画面生成処理が実行される。
図19に示す初期画面生成処理のステップS311で、取得部32が、表示条件DB37から、表示条件名一覧として、診療科名一覧及び病棟名一覧を取得する。次に、ステップS312で、生成部33が、所定領域に記憶した画面フォームに、取得した表示条件名一覧を埋め込む。次に、ステップS313で、生成部33が、表示条件名一覧が埋め込まれた画面フォームをHTMLファイルに変換する。次に、ステップS314で、生成部33が、生成した初期画面のHTMLファイルをグラフ表示装置20に送信して、グラフ生成処理へリターンする。
次に、ステップS32で、受付部31が、グラフ表示装置20からグラフ表示リクエストを受け付けたか否かを判定する。グラフ表示リクエストを受け付けた場合には、処理は、ステップS33へ移行し、受け付けていた印場合には、処理はステップS43へ移行する。
ステップS33では、取得部32が、受付部31が受け付けたグラフ表示リクエストに含まれる期間及び表示設定の情報を抽出する。取得部32は、抽出した表示設定に基づいて、電子カルテDB装置80及び医事会計装置90のいずれからデータを取得するかを判定する。電子カルテDB装置80の場合には、処理はステップS34へ移行し、医事会計装置90の場合には、処理はステップS41へ移行する。
ステップS34では、取得部32が、グラフ表示リクエストから抽出した表示設定に含まれる表示項目に対応したSQL定義36を、所定の記憶領域から取得する。次に、ステップS35で、取得部32が、グラフ表示リクエストから抽出した期間及び表示設定に含まれる表示条件を、取得したSQL定義36に代入して、検索SQLを作成する。次に、ステップS36で、取得部32が、作詞した検索SQLにより、電子カルテDB装置80からデータを取得する。
次に、ステップS37で、取得部32が、取得したデータを、グラフに表示する表示項目に応じて集計する。そして、生成部33が、取得部32により集計されたデータ、及びグラフ定義DB38に定義されたグラフ定義に基づいて、グラフ画像を生成する。
次に、ステップS38で、生成部33が、生成したグラフ画像を所定の記憶領域に記憶する。次に、ステップS39で、生成部33が、画面フォームに、生成したグラフ画像のファイルパス(記憶場所)を埋め込む。次に、ステップS40で、生成部33が、ファイルパスが埋め込まれた画面フォームをHTMLファイルに変換する。次に、ステップS40で、生成部33が、生成したHTMLファイルをグラフ表示装置20に送信する。
上記ステップS33で否定判定されて、ステップS41へ移行すると、取得部32が、グラフ表示リクエストから抽出した期間及び表示設定をパラメータとし、医事I/F装置89を介して、医事会計装置90へデータを要求する。次に、ステップS42で、取得部32が、医事I/F装置89を介して医事会計装置90から返されたパラメータに応じたデータセットを取得する。そして、処理は、ステップS37へ移行する。
次に、ステップS43で、グラフ表示装置20から、処理終了の通知を受信したか否かを判定する。受信していない場合には、処理はステップS32へ移行し、受信した場合には、グラフ生成処理を終了する。
以上説明したように、本実施形態に係るグラフ表示制御システムによれば、グラフ表示装置において、表示項目の時間に応じた値の変化を含むグラフを表示する際に、表示画面で時間軸に含める時間範囲(期間)を指定し、指定された時間範囲の情報を記憶しておく。そして、現在表示されているグラフから表示項目を変更したグラフの表示を指示する際に、記憶されている現在の時間範囲の指定を変更する必要がなければ、改めて時間範囲を指定しない。すなわち、現在の時間範囲の指定を引き継ぐことができるため、ユーザに与える煩わしさを軽減することができる。
また、本実施形態に係るグラフ表示制御システムによれば、グラフ表示装置において、同時に表示可能な表示設定ボタンは選択可能に表示し、同時に表示不可能な表示設定ボタンは選択不可能に表示する。これにより、ユーザが選択不可能な表示条件や表示項目の組み合わせを意識することなく、ユーザ所望のグラフを容易に表示することができる。特に、データ群を属性毎にグループ分けする表示条件や、表示項目のカテゴリを設け、排他関係にある表示条件または表示項目を示すボタンを、グループ単位でまとめて配置することで、表示設定を容易に行うことができる。
また、本実施形態に係るグラフ表示制御システムによれば、グラフ生成装置において、選択された表示項目が複数ある場合には、表示項目数が多くなるほど、横軸を短くし、表示項目毎の縦軸をグラフの左右に分配配置する。これにより、表示項目が複数ある場合でも、グラフの内容を把握し易くできる。
また、上記では、グラフ表示プログラム50が記憶部43に、グラフ生成プログラム70が記憶部63に予め記憶(インストール)されている態様を説明したが、CD−ROMやDVD−ROM等の記録媒体に記録された形態で提供することも可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1の要素及び第2の要素の少なくとも一方を含むグラフを表示するグラフ表示プログラムであって、
前記第1の要素がグラフの表示対象として選択されたことを検出すると、前記第1の要素と前記第2の要素とが同時に表示可能か否かを示す情報を記憶する記憶部を参照して、前記第2の要素が同時に表示可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示し、前記第2の要素が同時に表示不可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示しない
ことを含む処理をコンピュータに実行させるためのグラフ表示プログラム。
(付記2)
データ群を第1の属性で分類した表示条件から前記第1の要素が選択されている場合、前記データ群を第2の属性で分類した表示条件から選択される前記第2の要素は、同時に表示不可能であると判定する付記1記載のグラフ表示プログラム。
(付記3)
前記第1の要素が選択されているカテゴリと異なるカテゴリから選択される前記第2の要素は、同時に表示不可能であると判定する付記1または付記2記載のグラフ表示プログラム。
(付記4)
第1の要素及び第2の要素の少なくとも一方を含むグラフを表示するグラフ表示装置であって、
前記第1の要素がグラフの表示対象として選択されたことを検出する検出部と、
前記第1の要素と前記第2の要素とが同時に表示可能か否かを示す情報を記憶する記憶部を参照して、前記第2の要素が同時に表示可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示し、前記第2の要素が同時に表示不可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示しないように制御する制御部と、
を含むグラフ表示装置。
(付記5)
前記制御部は、データ群を第1の属性で分類した表示条件から前記第1の要素が選択されている場合、前記データ群を第2の属性で分類した表示条件から選択される前記第2の要素は、同時に表示不可能であると判定する付記4記載のグラフ表示装置。
(付記6)
前記制御部は、前記第1の要素が選択されているカテゴリと異なるカテゴリから選択される前記第2の要素は、同時に表示不可能であると判定する付記4または付記5記載のグラフ表示装置。
(付記7)
第1の要素及び第2の要素の少なくとも一方を含むグラフを表示するグラフ表示方法であって、
前記第1の要素がグラフの表示対象として選択されたことを検出すると、前記第1の要素と前記第2の要素とが同時に表示可能か否かを示す情報を記憶する記憶部を参照して、前記第2の要素が同時に表示可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示し、前記第2の要素が同時に表示不可能である場合には、前記第2の要素をグラフの表示対象として選択可能に表示しない
ことを含む処理をコンピュータに実行させるグラフ表示方法。
(付記8)
データ群を第1の属性で分類した表示条件から前記第1の要素が選択されている場合、前記データ群を第2の属性で分類した表示条件から選択される前記第2の要素は、同時に表示不可能であると判定する付記7記載のグラフ表示方法。
(付記9)
前記第1の要素が選択されているカテゴリと異なるカテゴリから選択される前記第2の要素は、同時に表示不可能であると判定する付記7及び付記8記載のグラフ表示方法。