(57)【要約】【課題】データ量の多いファイルであっても、ファイル閲覧時のガイドとなる可動部を迅速に表示し、ファイルの内容を閲覧可能にすることを課題とする。【解決手段】電子ファイルに含まれる改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長及び前記電子ファイルが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子ファイルを、前記表示領域の表示幅で自動改行した場合の前記電子ファイルの表示行数を算出する表示行数算出ステップと、前記表示行数算出ステップで算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子ファイルが前記表示領域に表示される場合の可動部の長さ及び表示位置を算出する可動部算出ステップと、算出された前記可動部の長さ及び表示位置に従って、前記表示装置に該可動部及び前記電子ファイルを出力する出力ステップと、を実行する。【選択図】図４
2008040665.tif 000002
【特許請求の範囲】
【請求項１】
電子ファイルと、表示位置を操作可能な可動部であって、前記電子ファイルのうち、表示装置上の表示領域に表示される部分の前記電子ファイル全体に対する割合、及び前記表示される部分の前記電子ファイル全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段を有するコンピュータシステムが、
前記電子ファイルに含まれる改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子ファイルが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子ファイルを前記表示領域の表示幅で自動改行した場合の前記電子ファイルの表示行数を算出する表示行数算出ステップと、
前記表示行数算出ステップで算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子ファイルが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出ステップと、
算出された前記可動部の長さ及び表示位置に従って、前記表示装置に該可動部及び前記電子ファイルを出力する出力ステップと、
を実行することを特徴とする、表示待ち時間短縮方法。
【請求項２】
前記出力ステップは、前記電子ファイルのうち、前記可動部算出ステップで算出された前記可動部の表示位置に対応する部分のみを、前記表示装置へ出力される情報が保存される出力バッファに読み込むことを特徴とする、請求項１に記載の表示待ち時間短縮方法。
【請求項３】
前記電子ファイルは、単位情報の集合であり、
前記表示関連情報は、前記電子ファイルに含まれる単位情報ごとの識別情報を含む表示関連情報であり、
前記コンピュータシステムは、
前記出力ステップで出力された可動部の表示位置に対応する単位情報に係る前記識別情報に基づいて、前記電子ファイルのうち、該識別情報と所定の関係を持つ識別情報に係る単位情報を、前記表示装置への出力待ち情報が保存される先読みバッファに読み込む先読みステップを、
更に実行することを特徴とする請求項１又は請求項２に記載の表示待ち時間短縮方法。
【請求項４】
診療録の集合である電子カルテと、表示位置を操作可能な可動部であって、前記電子カルテのうち、表示装置上の表示領域に表示される部分の前記電子カルテ全体に対する割合、及び前記表示される部分の前記電子カルテ全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段を有するコンピュータシステムが、
前記電子カルテに含まれる診療録ごとの、病名識別情報、改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子カルテが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子カルテを、前記表示領域の表示幅で自動改行した場合の前記電子カルテの表示行数を算出する表示行数算出ステップと、
前記表示行数算出ステップで算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子カルテが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出ステップと、
算出された前記可動部の長さ及び表示位置に従って、前記表示装置に、該可動部、及び前記電子カルテのうち前記可動部の表示位置に対応する診療録を出力する出力ステップと、
前記出力ステップで出力された診療録に係る前記病名識別情報に基づいて、前記電子カルテのうち、該病名識別情報と所定の関係を持つ病名識別情報に係る診療録を、前記表示装置への出力待ち情報が保存される先読みバッファに読み込む先読みステップと、
を実行することを特徴とする、表示待ち時間短縮方法。
【請求項５】
電子ファイルと、表示位置を操作可能な可動部であって、前記電子ファイルのうち、表示装置上の表示領域に表示される部分の前記電子ファイル全体に対する割合、及び前記表示される部分の前記電子ファイル全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段と、
前記電子ファイルに含まれる改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子ファイルが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子ファイルを前記表示領域の表示幅で自動改行した場合の前記電子ファイルの表示行数を算出する表示行数算出手段と、
前記表示行数算出手段によって算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子ファイルが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出手段と、
算出された前記可動部の長さ及び表示位置に従って、前記表示装置に該可動部及び前記電子ファイルを出力する出力手段と、
を備えること特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示待ち時間短縮方法に関する。
【背景技術】
【０００２】
診療録情報を表示する技術として、入力された表示位置変更指示に基づいて、表示に必要な診療録情報を必要な時点で取得することで、診療録の閲覧をスムーズにする診療録装置がある。
【特許文献１】特開２００３-１０８６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来より、データ量が多く、表示装置上の表示領域に全体を表示することが出来ないファイルを表示する際に、いわゆるスクロールバーを表示することで、限られた表示領域からファイル全体の閲覧を可能とする技術が一般に用いられている（図２を参照）。しかし、スクロールバーの位置及びサイズを決定するには、ファイル全体を読み込み、内部で描画処理を行った後に、描画された表示内容のサイズと表示領域のサイズとの比較を行う必要がある。このため、データ量の多いファイルでは、ファイルの内容が表示されるまでに時間が掛かり、目的の箇所に素早くアクセスすることは困難である。
【０００４】
特に、患者の診療情報である診療録の集合である電子カルテでは、過去診療情報を常に参照できる状態を保持することが必要であるため、慢性疾患患者や長期入院患者の場合、電子カルテのデータ量が多くなり、表示にかかる時間が長くなる。
【０００５】
本発明は、上記した問題に鑑み、データ量の多いファイルであっても、ファイル閲覧時のガイドとなる可動部を迅速に表示し、ファイルの内容を閲覧可能にすることを課題とする。
【課題を解決するための手段】
【０００６】
本発明は、上記した課題を解決するために、電子ファイルの表示行数、及び表示領域の縦高に基づいて、前記電子ファイルが前記表示領域に表示される場合の可動部の長さを算出することで、データ量の多いファイルであっても、ファイル閲覧時のガイドとなる可動部を迅速に表示し、ファイルの内容を閲覧可能にすることを可能にした。
【０００７】
詳細には、本発明は、電子ファイルと、表示位置を操作可能な可動部であって、前記電子ファイルのうち、表示装置上の表示領域に表示される部分の前記電子ファイル全体に対する割合、及び前記表示される部分の前記電子ファイル全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段を有するコンピュータシステムが、前記電子ファイルに含まれる改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子ファイルが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子ファイルを前記表示領域の表示幅で自動改行した場合の前記電子ファイルの表示行数を算出する表示行数算出ステップと、前記表示行数算出ステップで算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子ファイルが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出ステップと、算出された前記可動部の長さ及び表示位置に従って、前記表示装置に該可動部及び前記電子ファイルを出力する出力ステップと、を実行することを特徴とする、表示待ち時間短縮方法である。
【０００８】
論理行とは、改行コードで区切られた行の単位である。従来より、改行コードがない箇所であっても、表示領域の端で自動的に改行して表示することで閲覧性を高め、さらに、表示行数が表示領域からはみ出すときに可動部を表示することで、限られた表示領域から電子ファイル全体を閲覧し、且つ可動部の長さ及び表示位置を、電子ファイル全体に対する表示量の割合及び電子ファイル全体における表示位置の目安とする技術がある。
【０００９】
本発明に拠れば、表示行数算出ステップで、自動改行が行われた場合の電子ファイルの表示行数を算出し、可動部算出ステップで、この表示行数が表示領域からはみ出すときに表示される可動部の長さ及び表示位置を算出することで、ファイル閲覧時のガイドとなる可動部を迅速に出力することが可能となる。
【００１０】
また、本発明において、前記出力ステップは、前記電子ファイルのうち、前記可動部算出ステップで算出された前記可動部の表示位置に対応する部分のみを、前記表示装置へ出力される情報が保存される出力バッファに読み込むこととしてもよい。
【００１１】
本発明に拠れば、可動部の表示位置に対応する部分のみを出力バッファに読み込むことで、電子ファイルの全体を読み込む必要がなく、電子ファイルの内容の表示が迅速となる。
【００１２】
また、本発明において、前記電子ファイルは、単位情報の集合であり、前記表示関連情報は、前記電子ファイルに含まれる単位情報ごとの識別情報を含む表示関連情報であり、前記コンピュータシステムは、前記出力ステップで出力された可動部の表示位置に対応する単位情報に係る前記識別情報に基づいて、前記電子ファイルのうち、該識別情報と所定の関係を持つ識別情報に係る単位情報を、前記表示装置への出力待ち情報が保存される先読みバッファに読み込む先読みステップを、更に実行することを特徴としてもよい。
【００１３】
ここで、先読みバッファとは、電子ファイルが記録されている記憶装置よりもアクセス速度の速い主記憶装置等に確保された記憶領域である。本発明に拠れば、先読みステップが、可動部の表示位置に対応する単位情報に係る識別情報と所定の関係を持つ識別情報に係る単位情報を先読みすることで、スクロール時の表示待ち時間が減少する。
【００１４】
また、本発明は、診療録の集合である電子カルテと、表示位置を操作可能な可動部であって、前記電子カルテのうち、表示装置上の表示領域に表示される部分の前記電子カルテ全体に対する割合、及び前記表示される部分の前記電子カルテ全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段を有するコンピュータシステムが、前記電子カルテに含まれる診療録ごとの、病名識別情報、改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子カルテが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子カルテを、前記表示領域の表示幅で自動改行した場合の前記電子カルテの表示行数を算出する表示行数算出ステップと、前記表示行数算出ステップで算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子カルテが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出ステップと、算出された前記可動部の長さ及び表示位置に従って、前記表示装置に、該可動部、及び前記電子カルテのうち前記可動部の表示位置に対応する診療録を出力する出力ステップと、前記出力ステップで出力された診療録に係る前記病名識別情報に基づいて、前記電子カルテのうち、該病名識別情報と所定の関係を持つ病名識別情報に係る診療録を、前記表示装置への出力待ち情報が保存される先読みバッファに読み込む先読みステップと、を実行することを特徴とする、表示待ち時間短縮方法であってもよい。
【００１５】
本発明に拠れば、電子カルテシステムにおいて、可動部及び電子カルテの内容を迅速に表示し、さらに、スクロール時の表示待ち時間を減少させることが可能となる。
【００１６】
また、本発明は、上述の構成を手段として備えたコンピュータシステムとして捉えることも出来る。例えば、本発明は、電子ファイルと、表示位置を操作可能な可動部であって、前記電子ファイルのうち、表示装置上の表示領域に表示される部分の前記電子ファイル全体に対する割合、及び前記表示される部分の前記電子ファイル全体における位置を、該可動部の長さ及び表示位置で示す可動部と、を表示装置に出力する手段と、前記電子ファイルに含まれる改行コードで区切られた論理行の数を示す論理行数、及び前記論理行毎の行の長さを示す論理行長をデータとして含む表示関連情報及び前記電子ファイルが表示される表示装置上の表示領域の横幅を示す表示幅に基づいて、前記電子ファイルを前記表示領域の表示幅で自動改行した場合の前記電子ファイルの表示行数を算出する表示行数算出手段と、前記表示行数算出手段によって算出された表示行数、及び前記表示領域の縦高を示す表示高に基づいて、前記電子ファイルが前記表示領域に表示される場合の前記可動部の長さ及び表示位置を算出する可動部算出手段と、算出された前記可動部の長さ及び表示位置に従って、前記表示装置に該可動部及び前記電子ファイルを出力する出力手段と、を備えること特徴とするコンピュータシステムであってもよい。
【００１７】
本発明は、コンピュータその他の装置、機械等に、上記いずれかの処理を実行させるコンピュータ実行可能なプログラムであってもよい。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００１８】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ＤＡＴ、８ｍｍテープ、メモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００１９】
本発明によって、データ量の多いファイルであっても、ファイル閲覧時のガイドとなる可動部を迅速に表示し、ファイルの内容を閲覧可能にすることが可能となる。
【発明を実施するための最良の形態】
【００２０】
本発明に係る表示待ち時間短縮方法を、電子カルテシステムとして実施した場合の実施の形態について、図面に基づいて説明する。
【００２１】
図１は、本実施形態に係る電子カルテシステムの構成の概略を示した図である。電子カルテシステムは、サーバ１０と、ネットワーク３０と、電子カルテ端末４０と、を備える。サーバ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ
Ｄｒｉｖｅ）１３、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１４等を有し、これらはバス１６を介して接続されている。
【００２２】
ＣＰＵ１１は、中央処理装置であり、ＲＡＭ１２等に展開された命令及びデータを処理
することで、バス１６に接続されたＲＡＭ１２、ＨＤＤ１３、ＮＩＣ１４等を制御する。ＲＡＭ１２は、主記憶装置であり、ＣＰＵ１１によって制御され、各種命令やデータが書き込まれ、読み出される。ＨＤＤ１３は、補助記憶装置であり、主にサーバ１０の電源を落としても保持したい情報が書き込まれ、読み出される。ＮＩＣ１４は、ネットワークインターフェースであり、ネットワーク３０より信号を受信し、ネットワーク３０へ信号を送信する。
【００２３】
電子カルテ端末４０は、入力装置としてキーボード、マウス等、出力装置としてディスプレイ、プリンタ等を備える（図示は省略する）。
【００２４】
図２は、本実施形態に係る電子カルテの表示イメージを示した図である。表示領域５０はスクロールバー５１、ボタン５２、診療録表示部５３を有する。
【００２５】
次に、図３から図５を用いて、本実施形態のデータ構造の概略を説明する。以下に説明するデータは、ＨＤＤ１３又はＲＡＭ１２上に保存され、ＣＰＵ１１によって適宜読み出され、処理される。
【００２６】
図３は、本実施形態における電子カルテファイルのデータ構造の概略を説明した図である。電子カルテファイルは、一回の診療を記録した診療録の集合であり、診療録は、電子カルテファイルの先頭から、古いものから新しいものへと順に並んでいる。即ち、新しく追加される診療録は、電子カルテファイルの最後尾に追加される。各診療録は、受診日、受診時間及び詳細情報を含む。電子カルテファイルは、原則として患者１人につき１ファイルでＨＤＤ１３に保存される。
【００２７】
図４は、本実施形態における診療録ヘッダー情報のデータ構造の概略およびデータ格納方法を説明した図である。診療録ヘッダー情報は、患者番号、病名コード、受診日、受診時間、論理行あたりのバイト数その他の情報を含む。診療録ヘッダー情報は、ＨＤＤ１３上のデータベースに、診療録ヘッダーファイルとして蓄積されており、適宜ＲＡＭ１２上に読み出されて処理される。
【００２８】
患者番号は、患者ごとに一意に割り当てられた識別番号であり、病名コードは、病名ごとに一意に割り当てられた識別コードである。また、受診日及び受診時間は、診療録に係る診療が行われた日時を示す情報である。
【００２９】
論理行あたりのバイト数は、診療録の詳細情報内における論理行毎のバイト数を示す情報である。診療録の詳細情報には、作成時において、視認性の向上等を目的として、改行コードが挿入される場合がある。この改行コードで区切られた行あたりのバイト数を、論理行ごとにカウントし、論理行あたりのバイト数として診療録ヘッダー情報に記録する。また、診療録ヘッダー内の論理行あたりのバイト数の情報数を見ることで、該当する診療録の詳細情報内での論理行数を得ることが出来る。
【００３０】
図５は、本実施形態における画面定義ファイルのデータ構造の概略及びサンプルデータを説明した図である。画面定義ファイルは、画面の縦サイズ、横サイズ、表示可能行数、表示可能バイト数その他の情報を含む。画面定義ファイルは、ＨＤＤ１３上に記録されており、適宜ＲＡＭ１２上に読み出されて処理される。画面の縦サイズ及び横サイズは、表示装置に出力される際の画素数で示される。
【００３１】
次に、図６から図１０を用いて、本実施形態における処理の流れを説明する。図６から図９に示された処理は、電子カルテシステムにおいて、ＲＡＭ１２等に展開されたプログラムをＣＰＵ１１が解釈及び実行することで行われる。ＣＰＵ１１は、所定のタイミング
、又は電子カルテ端末より入力された指示に基づいて図６から図９に示された処理を実行する。また、以下の各処理の処理単位及び処理順序は、本実施形態に示されている処理単位、処理順序に限定されるものではなく、適宜変更してもよい。
【００３２】
図６は、本実施形態における表示領域サイズ算出処理の流れを示したフローチャートである。本フローチャートに示された処理は、画面定義ファイルに定義された画面のサイズと、表示装置上の表示領域５０の画面のサイズとを比較することで、表示領域５０に表示可能な情報量を算出する処理である。本フローチャートに示された処理は、ユーザによる電子カルテ表示の指示等が電子カルテ端末を介して入力され、この入力がＣＰＵ１１によって受け付けられたことを契機として実行される。
【００３３】
Ｓ１０１では、画面定義ファイルが取得される。ＣＰＵ１１は、ＨＤＤ１３に記録されている画面定義ファイルをＲＡＭ１２にロードする（図５を参照）。その後、処理はＳ１０２へ進む。
【００３４】
Ｓ１０２では、表示領域５０の縦サイズが、画面定義ファイルの縦サイズと等しいか否かが判定される。ＣＰＵ１１は、電子カルテファイルの内容が表示されようとしている表示領域５０の縦サイズと、Ｓ１０１でＲＡＭ１２にロードされた画面定義ファイルに含まれる縦サイズとを比較する。表示領域５０の縦サイズと、画面定義ファイルの縦サイズが等しい場合、処理はＳ１０３へ進む。表示領域５０の縦サイズと、画面定義ファイルの縦サイズが異なる場合、処理はＳ１０４へ進む。
【００３５】
Ｓ１０３では、表示領域５０の表示行数が算出される。ＣＰＵ１１は、画面定義ファイルの表示可能行数を、表示領域５０の表示行数としてＲＡＭ１２に記録する。その後、処理はＳ１０５へ進む。
【００３６】
Ｓ１０４では、表示領域５０の表示行数が算出される。ＣＰＵ１１は、以下の式を用いて、表示領域５０の表示行数を算出し、ＲＡＭ１２に記録する。なお、小数点以下は切り捨て、表示領域５０の表示行数は整数となる。
表示領域の表示行数  ＝  画面定義ファイルの表示可能行数×（表示領域の縦サイズ／画面定義ファイルの縦サイズ）
その後、処理はＳ１０５へ進む。
【００３７】
Ｓ１０５では、表示領域５０の横サイズが、画面定義ファイルの横サイズと等しいか否かが判定される。ＣＰＵ１１は、電子カルテファイルの内容が表示されようとしている表示領域５０の横サイズと、Ｓ１０１でＲＡＭ１２にロードされた画面定義ファイルに含まれる横サイズとを比較する。表示領域５０の横サイズと、画面定義ファイルの横サイズが等しい場合、処理はＳ１０６へ進む。表示領域５０の横サイズと、画面定義ファイルの横サイズが異なる場合、処理はＳ１０７へ進む。
【００３８】
Ｓ１０６では、表示領域５０の表示バイト数が算出される。ＣＰＵ１１は、画面定義ファイルの表示可能バイト数を、表示領域５０の表示バイト数としてＲＡＭ１２に記録する。その後、本フローチャートに示された処理は終了し、続いて画面表示処理が実行される。
【００３９】
Ｓ１０７では、表示領域５０の表示バイト数が算出される。ＣＰＵ１１は、以下の式を用いて、表示領域５０の表示バイト数を算出し、ＲＡＭ１２に記録する。なお、小数点以下は切り捨て、表示領域５０の表示バイト数は整数となる。
表示領域の表示バイト数  ＝  表示可能バイト数×（表示領域の横サイズ／画面定義ファイルの横サイズ）
その後、本フローチャートに示された処理は終了し、続いて画面表示処理が実行される。
【００４０】
図７及び図８は、本実施形態における画面表示処理の流れを示したフローチャートである。本フローチャートに示された処理は、表示領域サイズ算出処理の終了後に実行される。また、本フローチャートに示されたＳ２０２からＳ２１１の処理を実行するＣＰＵ１１が、本発明の表示行数算出手段に相当し、Ｓ２１２の処理を実行するＣＰＵ１１が、本発明の可動部算出手段に相当する。
【００４１】
Ｓ２０１では、診療録ヘッダー情報が取得される。ＣＰＵ１１は、ＨＤＤ１３に記録されている診療録ヘッダーファイルのうち、処理に係る電子カルテファイルに対応する診療録ヘッダーファイルをＲＡＭ１２にロードする（図４を参照）。その後、処理はＳ２０２へ進む。
【００４２】
Ｓ２０２では、診療録行数及び全診療録行数の初期設定が行われる。全診療録行数には、呼び出された電子カルテファイルに含まれる全ての診療録の行数の合計が格納される。診療録行数には、全診療録行数を算出する途中の、各診療録の行数が一時的に記録される。ＣＰＵ１１は、ＲＡＭ１２に診療録行数及び全診療録行数を記録する領域を確保し、両領域をを０で初期化する。その後、処理はＳ２０３へ進む。
【００４３】
Ｓ２０３では、論理行あたりのバイト数が、表示領域５０の表示バイト数より大きいか否かが判定される。ＣＰＵ１１は、診療録ヘッダー情報に含まれる論理行あたりのバイト数と、Ｓ１０６又はＳ１０７で算出された表示バイト数を比較する。論理行あたりのバイト数の方が大きいと判定された場合、処理はＳ２０５へ進む。論理行あたりのバイト数のほうが小さいと判定された場合、処理はＳ２０４へ進む。
【００４４】
Ｓ２０４では、診療録行数が１行加算される。論理行あたりのバイト数が表示バイト数より小さい場合、１行で改行されるため、ＣＰＵ１１は、ＲＡＭ１２上の診療録行数に１加算する。その後、処理はＳ２０８へ進む。
【００４５】
Ｓ２０５では、表示領域５０の表示バイト数で論理行あたりのバイト数が除した場合に、余り行が発生するか否かが判定される。ＣＰＵ１１は、論理行あたりのバイト数を表示領域５０の表示バイト数で除し、整数の解、及び余りを算出し、余りが発生するか否かを判定する。余りが発生した場合、処理はＳ２０６へ進む。余りが発生しない場合、処理はＳ２０７へ進む。
【００４６】
Ｓ２０６では、診療録行数が加算される。論理行あたりのバイト数を表示領域５０の表示バイト数で除し、余りが発生した場合、Ｓ２０５での除算の解の行数に加え、余りバイトを表示するための１行が必要であるため、ＣＰＵ１１は、診療録行数に、除算の解＋１を加算する。その後、処理はＳ２０８へ進む。
【００４７】
Ｓ２０７では、診療録行数が加算される。論理行あたりのバイト数を表示領域５０の表示バイト数で除し、余りが発生しない場合、該当論理行の表示にはＳ２０５での除算の解の行数が必要となるため、ＣＰＵ１１は、診療録行数に、除算の解を加算する。その後、処理はＳ２０８へ進む。
【００４８】
Ｓ２０８では、該当する診療録における論理行数分、診療録行数の加算が終了したか否かが判定される。ＣＰＵ１１は、診療録ヘッダー情報の論理行あたりのバイト数が定義された数、即ち該当する診療録の全ての論理行について診療録行数の加算が終了したか否かを判定する。該当する診療録における論理行数分の加算が終了していないと判定された場
合、処理はＳ２０３へ進み、診療録における全ての論理行について診療録行数の加算が終了するまでＳ２０３からＳ２０８の処理を繰り返す。該当する診療録における論理行数分の加算が終了したと判定された場合、処理はＳ２０９へ進む。
【００４９】
Ｓ２０９では、診療録の表示行数が保存される。ＣＰＵ１１は、Ｓ２０８までの処理で算出された診療録行数を、該当する診療録の表示行数としてＲＡＭ１２の別領域に保存する。また、一時領域としての診療録行数は、０行で初期化される。その後、処理はＳ２１０へ進む。
【００５０】
Ｓ２１０では、該当する電子カルテファイルにおける全ての診療録について表示行数の算出が終了したか否かが判定される。ＣＰＵ１１は、診療録ヘッダーファイル内の診療録ヘッダー情報の数、即ち該当する電子カルテファイルの全ての診療録について表示行数の算出が終了したか否かを判定する。該当する電子カルテファイルの全ての診療録について表示行数の算出が終了していないと判定された場合、処理はＳ２０３へ進み、電子カルテファイルにおける全ての診療録について表示行数の算出が終了するまでＳ２０３からＳ２１０の処理を繰り返す。該当する電子カルテファイルの全ての診療録について表示行数の算出が終了したと判定された場合、処理はＳ２１１へ進む。
【００５１】
Ｓ２１１では、全診療録行数が算出される。ＣＰＵ１１は、Ｓ２０９でＲＡＭ１２の別領域に保存された診療録の表示行数を全て加算し、全診療録行数としてＲＡＭ１２に保存する。その後、処理はＳ２１２へ進む。
【００５２】
Ｓ２１２では、スクロールバー５１の表示位置及びサイズが算出される。ＣＰＵ１１は、Ｓ２１１で算出した全診療録行数と、Ｓ１０３又はＳ１０４で算出された表示領域５０の表示行数に基づいて、スクロールバー５１の表示位置及びサイズを算出する。より具体的には、以下の式を用いてスクロールバー５１のサイズを算出する。
スクロールバーのサイズ  ＝  表示領域の縦サイズ×（表示領域の表示行数／全診療録行数）
本実施形態では、スクロールバー５１の初期表示位置は、最も下となる。これは、電子カルテファイル内において、最新の診療録はファイルの最後に記録されているためである。但し、これは本実施形態における一例であり、実施の形態によって、スクロールバー５１の表示位置は最適な場所が算出されることが好ましい。例えば、最新の情報がファイルの先頭にあるような種類のファイルを表示する場合、スクロールバー５１は最も上に表示されることが好ましい。その後、処理はＳ２１３へ進む。
【００５３】
Ｓ２１３では、診療録が取得される。ＣＰＵ１１は、Ｓ２１２で算出されたスクロールバー５１の表示位置及びサイズから、表示領域５０に表示される電子カルテファイル内の診療録を特定し、表示に係る診療録のみをＲＡＭ１２にロードする。この際、診療録を読み込むための領域である出力バッファがＲＡＭ１２に確保されるが、この領域は、予め全ての診療録（電子カルテファイル全体）を読み込めるだけの領域を確保した上で、読み込んだ診療録のみを該当する位置に読み込むこととしてもよいし、読み込む診療録分だけの領域を確保し、その後診療録の読み込みが発生するたびに新たな領域を確保することとしてもよい。その後、処理はＳ２１４へ進む。
【００５４】
Ｓ２１４では、画面が表示される。ＣＰＵ１１は、Ｓ２１２で算出されたスクロールバー５１の表示位置及びサイズと、Ｓ２１３で取得された診療録とに基づいて、表示領域５０に診療録及びスクロールバー５１を表示する。その後、本フローチャートに示された処理は終了し、続いてバックグラウンド処理が実行される。
【００５５】
図９は、本実施形態におけるバックグラウンド処理の流れを示したフローチャートであ
る。本フローチャートに示された処理は、画面表示処理によって表示が行われた後、バックグラウンドで実行される。
【００５６】
Ｓ３０１では、病名コードが取得される。ＣＰＵ１１は、現在表示されている診療録よりも古い診療録の病名コードを、診療録ヘッダー情報より取得する。このとき、病名コードは、現在表示されている診療録の一つ上から、新しいものから古いものへ順に取得される（図１０を参照）。その後、処理はＳ３０２へ進む。
【００５７】
Ｓ３０２では、現在表示されている診療録の病名コードと、古い診療録の病名コードが同一か否かが判定される。ＣＰＵ１１は、現在表示されている診療録の病名コードと、Ｓ３０１で取得された病名コードとを比較する。現在表示されている診療録の病名コードと、Ｓ３０１で取得された病名コードとが同一である場合、処理はＳ３０３へ進む。これらが同一でない場合、処理はＳ３０５へ進む。
【００５８】
Ｓ３０３では、先読み対象の設定が行われる。ＣＰＵ１１は、Ｓ３０２で現在表示されている病名コードと同一であると判定された診療録を、先読み対象に設定する。その後、処理はＳ３０４へ進む。
【００５９】
Ｓ３０４では、全診療録について病名コードの比較が終了したか否かが判定される。ＣＰＵ１１は、該当する診療録ヘッダーファイルについて、全ての診療録についての病名コードと現在表示されている診療録の病名コードとの比較が終了したか否かを判定する。比較が終了していないと判定された場合、処理はＳ３０１へ進み、全診療録について病名コードの比較が終了するか、Ｓ３０２で病名コードが同一でないと判定されるまでＳ３０１からＳ３０４の処理を繰り返す。比較が終了したと判定された場合、処理はＳ３０５へ進む。
【００６０】
Ｓ３０５では、先読み対象の診療録が読み込まれる。ＣＰＵ１１は、Ｓ３０３で先読み対象に設定された診療録を、ＲＡＭ１２上の先読みバッファに読み込む（図１０を参照）。先読みバッファとは、電子カルテファイルが蓄積されているＨＤＤ１３よりもアクセス速度の速いＲＡＭ１２等に確保された記憶領域である。表示装置に表示されていないが、スクロールによって表示される可能性が高い診療録を予め先読みバッファに読み込んでおくことで、スクロール時の表示待ち時間を短縮することが可能となる。病名コードが一致する診療録が先読みされ、これらは電子カルテ内で連続しているため、特にボタン５２を使用したスクロールにおいて大きな効果が得られる。また、データ量の多い電子カルテファイルの全体をＲＡＭ１２に読み込まないことで、リソースの使用量を抑制することが可能となる。ここで、先読み対象に設定された診療録がない場合、診療録は読み込まれない。その後、本フローチャートに示された処理は終了する。
【００６１】
なお、ＣＰＵ１１は、画面表示処理が行われた後、ユーザ又は外部のモジュールからの画面サイズの変更指示及びスクロールの指示を待ち受ける。変更の指示が受け付けられた場合、再度表示領域サイズ算出処理、画面表示処理、バックグラウンド処理が行われる。スクロールの指示が受け付けられた場合、スクロール先のスクロールバー５１の表示位置及びサイズに基づいて、再度Ｓ２１３からＳ２１４の処理及びバックグラウンド処理が行われる。変更又はスクロールの指示がないまま、画面を閉じる指示が受け付けられた場合、ＣＰＵ１１は、表示されている画面を閉じ、ここまでの処理で確保されていたＲＡＭ１２上のメモリを開放する。
【００６２】
本実施形態に拠れば、電子カルテシステムのレスポンスが大きく向上する。即ち、スクロールバー５１を迅速に表示することが可能となり、且つ、スクロールバー５１の長さ及び表示位置が正確であることから、電子カルテの全体量に対する表示情報の量及び全体に
おける位置を正確に把握することが可能となる。
【図面の簡単な説明】
【００６３】
【図１】実施形態に係る電子カルテシステムの構成の概略を示した図である。
【図２】実施形態に係る電子カルテの表示イメージを示した図である。
【図３】実施形態における電子カルテファイルのデータ構造の概略を説明した図である。
【図４】実施形態における診療録ヘッダー情報のデータ構造の概略およびデータ格納方法を説明した図である。
【図５】実施形態における画面定義ファイルのデータ構造の概略及びサンプルデータを説明した図である。
【図６】実施形態における表示領域サイズ算出処理の流れを示したフローチャートである。
【図７】実施形態における画面表示処理の流れを示したフローチャートである。
【図８】実施形態における画面表示処理の流れを示したフローチャートである。
【図９】実施形態におけるバックグラウンド処理の流れを示したフローチャートである。
【図１０】実施形態に係るバックグラウンド処理の処理イメージを示した図である。
【符号の説明】
【００６４】
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＨＤＤ
１４  ＮＩＣ
１６  バス
３０  ネットワーク
４０  電子カルテ端末
５０  表示領域
５１  スクロールバー
５２  ボタン
５３  診療録表示部
【図１】
2008040665.tif 000003
【図２】
2008040665.tif 000004
【図３】
2008040665.tif 000005
【図４】
2008040665.tif 000006
【図５】
2008040665.tif 000007
【図６】
2008040665.tif 000008
【図７】
2008040665.tif 000009
【図８】
2008040665.tif 000010
【図９】
2008040665.tif 000011
【図１０】
2008040665.tif 000012