(57)【特許請求の範囲】
【請求項１】
ディスプレイ画面上に表示する複数の時系列データを、ディスプレイの表示倍率によって定まる１ドットあたりの表示時間の大きさを表わす時間粒度に応じて表示するために前記時系列データの処理を行なうデータ処理プログラムであって、
前記時系列データを、時間粒度毎にまとめた独立したデータベーステーブルとして保存する処理と、
前記時系列データの所定期間内の発生間隔に基づいて、前記各時系列データの平均周期を検出する処理と、
前記検出した平均周期、並びに前記平均周期を検出した時系列データの入力が開始された時刻および最後に入力された時刻を含むデータを構造化データとして前記時間粒度毎に作成する処理と、
いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記構造化データを用いて画面にグラフを描画する処理と、の一連の処理を、コンピュータに実行させることを特徴とするデータ処理プログラム。
【請求項２】
前記各データベーステーブルの時系列データ数を検出する処理をさらに含み、
前記時系列データ数が、前記各データベーステーブル間で一定割合以上減少したときは、前記時系列データ数の多い時系列データの時間粒度以下の時間粒度に対応するデータベーステーブルのデータのまとまりを一群の時系列データとして抽出し、前記抽出した一群の時系列データを構造化データとすることを特徴とする請求項１記載のデータ処理プログラム。
【請求項３】
ディスプレイ画面上に表示する複数の時系列データを、ディスプレイの表示倍率によって定まる１ドットあたりの表示時間の大きさを表わす時間粒度に応じて表示するために前記時系列データの処理を行なうデータ処理プログラムであって、
前記時系列データを、時間粒度毎にまとめた独立したデータベーステーブルとして保存する処理と、
前記時系列データの所定期間内の発生間隔に基づいて、前記各時系列データの平均周期を検出する処理と、
前記各データベーステーブルの時系列データ数を検出する処理と、
特定の時間粒度におけるデータベーステーブルの時系列データ数が、前記特定した時間粒度よりも小さい時間粒度におけるデータベーステーブルの時系列データ数に対して一定割合以上減少した時は、前記特定の時間粒度よりも小さい時間粒度におけるデータベーステーブルの時系列データのまとまりを一群の時系列データとして抽出し、前記一群の時系列データにおける平均周期、並びに前記平均周期を検出した時系列データの入力が開始された時刻および最後に入力された時刻を含む構造化データを、前記時間粒度毎に作成する処理と、
いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記構造化データを用いて画面にグラフを描画する処理と、の一連の処理を、コンピュータに実行させることを特徴とするデータ処理プログラム。
【請求項４】
前記一群の時系列データから、データの平均周期の偏りを検出し、前記検出した平均周期の偏りが一定以上である場合に、前記構造化データを作成することを特徴とする請求項２または請求項３記載のデータ処理プログラム。
【請求項５】
ディスプレイ画面上に表示する複数の時系列データを、ディスプレイ表示倍率によって定まる１ドットあたりの表示時間の大きさを表わす時間粒度に応じて表示するために前記時系列データの処理を行なうデータ処理方法であって、
前記時系列データを、時間粒度毎にまとめた独立したデータベーステーブルとして保存するステップと、
前記時系列データの所定期間内の発生間隔に基づいて、前記各時系列データの平均周期を検出するステップと、
前記検出した平均周期、並びに前記平均周期を検出した時系列データの入力が開始された時刻および最後に入力された時刻を含むデータを構造化データとして前記時間粒度毎に作成するステップと、
いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記構造化データを用いて画面にグラフを描画するステップと、を少なくとも含むことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ画面上に表示する複数の時系列データを、ディスプレイの１ドットあたりの表示時間である時間粒度で多段階に表示するために時系列データの処理を行なう技術に関する。
【背景技術】
【０００２】
従来から、時系列データを取り扱うシステムとして、電子カルテシステムなどの医療情報システムが知られている。例えば、特許文献１には、医療行為の相互間の関係を考慮し、効率よく医療情報を入力して電子カルテを構築する電子カルテシステムが開示されている。この電子カルテシステムは、医療行為およびその関連情報を含む医療行為情報と、この医療行為情報の適用時間情報とにより電子カルテ情報を構成する。また、その電子カルテ情報の医療行為情報を時間軸上に閲覧情報として表示する。また、編集中の電子カルテ情報における医療行為情報を時間軸上に表示させる。そして、ユーザの操作を受け付けて、電子カルテにおける医療行為情報を編集する。
【０００３】
図９は、一つの例として選択した電子カルテシステムの画面表示例を示す図である。図９に示すように、この電子カルテシステムは、多段階の時間軸（例えば、年単位・月単位・日単位）を有する。また、その下に診療行為（オブジェクト）が表示される。この電子カルテシステムでは、左に並ぶ項目が医療行為（病名・投薬・診断・検査等）であって、その右側に実際の行為が、一定の時間幅をもって記録される。
【０００４】
ユーザは、上部の時間軸を選択することで、任意の尺度での情報俯瞰が可能であり、任意の時間にジャンプすることができる。また、特定の行為項目のデータの詳細な情報を閲覧しようとする場合は、複数の行為項目をドラッグ操作で囲むことで、詳細情報を表示することが可能である。
【０００５】
このように、従来の電子カルテシステムでは、上記のような多段階のタイムスケールを表示し、ユーザは、任意のタイムスケールで時系列に沿って入力されたデータを俯瞰することができる。そして、任意のタイムスケール上で各行為項目の詳細情報を表示し、閲覧することができる。
【０００６】
このような電子カルテシステムにより、例えば、患者に対する投薬や検査の実施行為に関する医療情報のグラフ化を様々な時間粒度で表示することが可能となる。時間粒度とは、ディスプレイの１ドットあたりの表示時間（msec/dot）であり、データを閲覧する際の時間幅とグラフ画像のサイズによって決定される。これは、特定サイズのディスプレイに時系列データを表示する際に、表示幅を変更することを考えたとき、プログラム上で表現できる最も小さい時間幅から、表示幅を拡大した際の倍率、拡大率と同義である。また、同時に複数の行為項目を表示することによって、様々な項目間の関係を種々の時間粒度で閲覧することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１９２００２号公報
【特許文献２】特開２００９−１３４７１３号公報
【特許文献３】特開２００９−２８２５５７号公報
【非特許文献】
【０００８】
【非特許文献１】電子情報通信学会  Ｖｏｌ１００，ｐ５０−ｐ６０
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、従来のシステムが処理すべきデータの数は極めて多い。例えば、糖尿病患者であれば、毎日投薬や検査がなされ、これらは年のスケールでは３６５のデータ数を持つ。これに加え、これら投薬や検査の種類は数百に及ぶことが多い。そのため、これらを表すデータオブジェクト数は一般的には数千から数万へと膨れ上がる。サーバ・クライアントで構成されるシステムにおいて、これらのデータを表示する際に、ユーザが操作してからグラフを描画するまでの反応速度が落ちてしまう。
【００１０】
このような場合、予めグラフを伝送する際の倍率を決めておき、その倍率においてグラフ描画に必要なデータを準備しておくことによって、高速にグラフを描画し、伝送することが可能となる。図１０は、タイムスケールと表示倍率を示す図である。図１０に示す倍率において、グラフ描画に必要なデータを予め作成することにより、最小限のデータ数でグラフを描画し、伝送を行なうことが可能となる。すなわち、図１０に示すように、伝送番号１〜２０に相当する倍率において、グラフを描画する際に必要なデータのみを１つの独立したテーブルであるデータベーステーブルとして保持することで、不必要なデータのサーチが必要なくなり、グラフ作成時間を短縮することが可能となる。
【００１１】
一般的に、ある種の時系列に従った知識を管理する場合、複数の時系列データを横断的に閲覧することが望ましい。例えば、医療情報については、投薬情報と検査情報は横断的に閲覧する必要がある。一方、これらのデータの発生間隔は様々に存在する。
【００１２】
上記のように、例えば、秒・分・時間・日・月・年・１０年といった、小さいタイムスパンから大きいタイムスパンで表示するシステムでは、このような様々なタイムスパンを持つデータをプロットして表現することができるため、時系列データの推移を俯瞰的に把握することに適している。
【００１３】
ところで、一般的に、自然界に存在するデータを時系列的にプロットする場合、その発生間隔には、データ固有の平均的な周期が存在することが多い。医療で用いられるデータを例に取ると、例えば、糖尿病慢性疾患の患者の投薬発生イベントに関するデータは、血糖改善剤等を毎食後服用し、血糖検査を毎食後行なうため、３〜４時間に１回程度の発生間隔で発生することが多く、数分単位・数年単位での発生間隔はとらないことが多い。
【００１４】
上記のようなデータを、従来技術のシステム上で時系列プロットをして表現する場合、時系列的に表示する時間スパンを変化させたとき、グラフ上の視認できるデータの数は特定の時間粒度付近（図１０では伝送番号）で大きく減少しはじめる。これは、表示するデータの性質に応じて決定される、平均周期が閲覧不能になる（１ドット以下になる）際の拡大率が存在するためである。これはデータによって大きく異なる。
【００１５】
これを直感的に理解するために、横軸にデータを表示するための時間幅、縦軸を表示可能なデータプロット数ととると、それらがシグモイド形状をとる。すなわち、視認できるデータ数が急激に低下する。このような場合、特に視認性が低下する領域で細かく倍率を設定し、視認できるデータのみを持つ複数段階のＤＢテーブルを準備することで、グラフを描画する際のデータ数を抑えることができ、レスポンススピードを向上させることが可能となる。このような手法は、上記のような平均周期を持つデータ発生間隔が正規分布のような、比較的なだらかな分布に従う場合は、極めて効率的に動作する。
【００１６】
しかしながら、データ発生間隔が、べき分布や指数分布等、分散が小さく、平均付近にデータが大きく偏ってしまう分布（分散の小さい正規分布もこれに該当する）に従う場合は、平均周期が閲覧不能になる（１ドット以下になる）際の拡大率付近におけるＤＢテーブルでは、１画面中に表示するデータの数が最も大きくなってしまい、処理負荷軽減効果が薄くなってしまうという問題があった。このような分布を持つデータの処理時間と拡大率の関係を示すグラフは、例えば、図１１に示すような形状となっている。これに対し、図１２は、データの分布が比較的分散の大きい場合のグラフである。図１１および図１２において、横軸はレベル（時間粒度・拡大率）を表しており、縦軸が処理時間を表している。濃く塗りつぶされたグラフが通常の方式であり、薄く塗りつぶされたグラフが上記の提案方式による処理時間を表す。より大きなレベルでは提案方式が有効であり、処理時間が大幅に短縮されている。しかし、レベル１５（図１０に示すテーブル参照）近辺では、あまり処理時間が変わっていない。これはデータの平均周期にあたるデータ間隔がグラフ上で視認可能になる倍率である。すなわち、このレベル以上において、画面内で徐々に視認不可能な点が増加し始める。
【００１７】
このように、データの発生周期に比較的分散が大きい正規分布を仮定した場合は、周期が比較的ばらつくため、上記のような処理時間が極端に遅くなる拡大率はあまり存在しない一方、偏りが大きく分散が小さい分布を仮定した場合は、平均周期の偏りが激しいため、上記のように平均周期がデータ上マージされる拡大率までは、処理時間が上昇してしまう。この平均周期が一定以上の間隔を持っている場合、大きな処理時間がかかってしまうという問題がある。また、このシステムで使用するデータは、患者に対する投薬や検査についての時系列プロットが多く、投薬は日々行なわれるのに対して、検査は、月単位や週単位で行なわれることが多い。そのため、投薬に関する時系列プロットの方について、データ量が大きくなりがちである。このため、投薬データのデータ量を減少させることによって、システムの速度向上を図ることが見込まれる。ここで、慢性期患者の投薬に関する情報は、医師が処方を行った段階で記録され、一定の値を一定の期間投与すると推定されて記録されたデータが多いことから、単純な繰り返しとなることが多い。
【００１８】
本発明は、このような事情に鑑みてなされたものであり、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことができるデータ処理プログラム、画像表示システムおよびデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明のデータ処理プログラムは、ディスプレイ画面上に表示する複数の時系列データを、ディスプレイの１ドットあたりの表示時間である時間粒度で多段階に表示するために前記時系列データの処理を行なうデータ処理プログラムであって、前記時系列データを視認可能に表示する時間粒度毎に、前記時系列データを１つの独立したデータベーステーブルとしてデータベースに保存する処理と、前記時系列データの所定期間内の発生間隔に基づいて、前記各時系列データに固有の平均周期を検出する処理と、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成する処理と、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００２０】
このように、各時系列データの平均周期を検出し、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成し、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するので、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことが可能となる。
【００２１】
（２）また、本発明のデータ処理プログラムは、前記時間粒度順で前記各データベーステーブルの時系列データ数を検出する処理をさらに含み、前記検出した時系列データ数が、前記各データベーステーブル間で一定割合以上減少したときは、その時間粒度以下の時間粒度に対応する各時系列データを一群の時系列データとし、前記一群の時系列データの平均周期を検出することを特徴とする。
【００２２】
このように、時間粒度順で前記各データベーステーブルの時系列データ数を検出する処理をさらに含み、前記検出した時系列データ数が、前記各データベーステーブル間で一定割合以上減少したときは、その時間粒度以下の時間粒度に対応する各時系列データを一群の時系列データとし、前記一群の時系列データの平均周期を検出するので、処理速度を向上させることが可能となる。
【００２３】
（３）また、本発明のデータ処理プログラムにおいて、前記時系列データの発生間隔の分布は、時間軸上で偏りが大きく分散が極端に小さいことを特徴とする。
【００２４】
このように、時系列データは、単純な繰り返しとなるデータとなることが多いため、平均周期を有する連続した時系列データを単一のデータとして取り扱うことによって、処理速度を向上させることが可能となる。
【００２５】
（４）また、本発明の画像表示システムは、画像を表示する画面を備え、上記（１）から（３）のいずれかに記載のデータ処理プログラムを実行する画像表示システムであって、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて前記画面にグラフを描画することを特徴とする。
【００２６】
このように、各時系列データの平均周期を検出し、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成し、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するので、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことが可能となる。
【００２７】
（５）また、本発明のデータ処理方法は、ディスプレイ画面上に表示する複数の時系列データを、ディスプレイの１ドットあたりの表示時間である時間粒度で多段階に表示するために前記時系列データの処理を行なうデータ処理方法であって、前記時系列データを視認可能に表示する時間粒度毎に、前記時系列データを１つの独立したデータベーステーブルとしてデータベースに保存するステップと、前記時系列データの所定期間内の発生間隔に基づいて、前記各時系列データに固有の平均周期を検出するステップと、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成するステップと、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するステップと、を少なくとも含むことを特徴とする。
【００２８】
このように、各時系列データの平均周期を検出し、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成し、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するので、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことが可能となる。
【発明の効果】
【００２９】
本発明によれば、各時系列データの平均周期を検出し、前記検出した平均周期、並びに前記時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを前記時間粒度毎に作成し、いずれかの前記時間粒度が指定されグラフを描画する旨の要求があったときに、前記指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するので、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態に係るデータ処理プログラムを実行する際に機能的なモジュールを示す図である。
【図２】データ処理プログラムの動作を示すフローチャートである。
【図３】構造化データのフォーマットを示す図である。
【図４】構造化データのフォーマットを示す図である。
【図５】投薬間隔とデータ数を示す図である。
【図６】タイムスケールとレベルを示す図である。
【図７】構造化データのフォーマットを示す図である。
【図８】レベルと１画面内に表現できるデータの個数を示す図である。
【図９】電子カルテシステムの画面表示例を示す図である。
【図１０】２０段階のデータベーステーブルを示す図である。
【図１１】極めて偏りが大きい分布を持つデータの処理時間と拡大率の関係を示すグラフを示す図である。
【図１２】データの分布が正規分布形状に近い場合のグラフを示す図である。
【発明を実施するための形態】
【００３１】
本実施形態では、平均周期を持つ連続した時系列データを、単一のデータとして取り扱うことによって、グラフ描画の処理速度の向上を図る。これは、偏りが大きく分散が小さい分布の方が時間的に繰り返しデータとして扱いやすいという性質によっている。つまり、時系列データから平均周期を検出し、平均周期を表す値とともに単一のデータを作成し、グラフ描画要求とともに当該データを使ってグラフの描画を行なう。ここで、平均周期は、複数種類あっても良い。
【００３２】
図１は、本実施形態に係るデータ処理プログラムを実行する際に機能的なモジュールを示す図である。データ処理スクリプト１からの情報に基づいて、グラフ作成部３は、グラフを描画する。このとき、データ検出部５を介して、データベース７から所望のデータを検出する。データベース７には、多数の時系列データが格納されている。これらの時系列データは、１つの独立したデータベーステーブル毎に格納される。データ取得部９は、データベース７から所望のデータを取得し、または逐次入力される時系列データを取得する。登録データカウント部１１は、時間粒度順で、データ取得部９が取得したデータ数をカウントする。
【００３３】
テーブル特定部１５は、しきい値保持部２５からしきい値を取得し、データベーステーブル間で、時系列データ数が一定割合以上減少するデータベーステーブルを特定する。まとまり検出部１７は、上記のように特定したデータベーステーブルを基準として、隣り合うデータベーステーブルのうち、順位が上位のデータベーステーブルのデータ間の時間の切れ目をデータの切れ目として、隣り合うテーブルのうち、順位が下位のデータベーステーブルのデータのまとまりを検出する。
【００３４】
平均周期検出部１９は、上記のように検出したデータのまとまりについて、各データの時間間隔をカウントし、最も数の多い時間間隔を平均周期とする。ここで、当該平均周期と異なる時間間隔があった場合、そのデータの間で、データのまとまりを分割する。このまとまりの中のデータの時間間隔、つまりデータの開始時間（例えば投薬や点滴などの開始時間）と次のデータの開始時間（例えば投薬や点滴などの終了時間）の間隔は、全て同じになっている。データ作成部２１は、上記平均周期に基づいて、データを構造化データとして作成し、データ登録部２３は、作成した構造化データをデータベース７に登録する。
【００３５】
図２は、以上のように構成されたデータ処理プログラムの動作を示すフローチャートである。まず、図１０に示したように、既に２０段階のデータベーステーブルが登録されている状態における動作について説明する。各々のデータベーステーブルのデータ数を検出する（ステップＳ１）。テーブル番号間で、データ数の変化が一定割合以上のデータ数の減少が見られた場合（ステップＳ４）、隣り合うテーブルの内、上位のテーブルのデータ間の時間の切れ目をデータの切れ目として（ステップＳ５）、隣り合うテーブルの内、下位のテーブルのデータのまとまりを抽出する（ステップＳ６）。以下、このデータのまとまりに対して、ロジックを適用する。
【００３６】
次に、ステップＳ６でまとめられたデータから、周期の偏りを検出し（ステップＳ７）、周期の偏りが一定以上であるかどうかを判定する（ステップＳ８）。周期の偏りが一定以上である場合は、構造化データを作成し（ステップＳ９）、データベースに登録する（ステップＳ１０）。すなわち、時間間隔を数え上げて、最も数の多い時間間隔が平均周期となる。この際に数え上げた時間間隔の数が、全体の中で一定しきい値以上の割合を占めていれば、それが平均周期である。なお、データサンプリング等を行なっても良い。もし、割合が一定に達しない場合、本実施形態では、偏りが大きく分散が小さい分布を仮定しているため、ごく近い平均周期が複数存在する場合と考えられる。この場合、これらの数の分散が大きすぎる場合は平均周期を取ることが難しいデータである。
【００３７】
なお、医師がデータを入力する際、周期の記録を行なえばより効率的である。１データを入力するたびに、前のデータとの間隔を計算し、カウントする手法である。つまり、医師のデータ入力が行なわれ、当該データの１つ前のデータとの時間差を計算し、カウントする、といったシステムである。
【００３８】
また、周期を持つ単一のデータの作成は、以下のように行なう。すなわち、上記のデータを構造化データとして保持する。図３に示すフォーマットを使うことが可能である。当該フォーマットに関して、error部分が十分小さければ極めて高速な処理が可能である。なお、図３において、“補正”の記述は、周期があると仮定したデータについて、定型的な時間間隔や値にずれがあった場合は、ここで補正する。なお、この構造化データは、複数の周期に関するものであっても良い。
【００３９】
以上のような構造化データが作成されると、グラフ描画要求に応じて、グラフの描画を行なう。例えば、図４に示すようなデータであって、要求されたグラフの描画領域が2005/1/1〜2006/1/1であるときは、この間を１日単位で繰り返すようなグラフ描画をすれば良い。最後にerrorタグに相当する箇所を修正すれば、完了である。
【００４０】
このように処理することによって、当該区間に大量のデータがあった場合であっても、データクエリ１回での処理が可能である。
【００４１】
次に、データベースが登録されていない場合について説明する。図２において、すべてのデータを取得し（ステップＳ２）、最も下位のデータベーステーブルから、データを登録する（ステップＳ３）。ステップＳ４以降は上記と同様である。
【００４２】
なお、上記の処理方法ではなく、下記の手法を用いても良い。
（１）全データからデータをサンプリングする。
（２）サンプリングしたデータについて、データ間隔の度数を計測する。
（３）最も度数の高い（あるいは一定以上の割合の）時間間隔について、マージされるテーブル番号を特定する。
【００４３】
また、患者病名を予め取得し、慢性期患者のみを対象にするようにしても良い。
【実施例１】
【００４４】
ここでは、例えば、ネフローゼ症候群患者に投与された「＊＊＊＊錠」の投薬記録を元に例示する。本データの値は全て１(個)であり、図５に示すような投薬間隔とデータ数を持っている。個数数え上げによれば、投薬間隔86400000のデータ間隔数が極めて大きく、全体の99%以上の個数を占めている。そこで、本投薬間隔を平均周期とする。この検出には、数が大きすぎる場合はランダムサンプリングでも良い。
【００４５】
続いて、時間ギャップの探索を行なう。データの先頭から投薬間隔を計算し、平均周期と異なる場合にチェックをつける。この場合、604800000のデータ間隔が最初にヒットする。ここまで数え上げたデータ数は104であり、十分個数データが存在していると考えられるため、先頭から104までのデータをまとめて1つのデータとする。また、604800000は、平均周期に比べて極めて大きいため、時間ギャップとみなすことができる。一定値以下に収まる場合は、平均周期からたまたまずれた値とみなす。
【００４６】
この“大きい”の判断基準としては、同一レベルでのマージが発生しないことを条件にすれば良い。図６に示すレベルに従えば、本平均周期はレベル16でマージされる一方で604800000はレベル19でマージされるため、十分大きな時間ギャップであるといえる。続いて、データの作成を行なう。これは、先頭のデータの開始時刻と、最も後ろのデータの終了時刻をbegin time及びend timeに入れて、図７に示すような構造化データを作れば良い。本データは、１画面あたりのデータ数が一定数以上になるレベルのみ用いれば良い。例えば１画面が６００ドットであるとすると、上記の平均周期を持つデータは、図８に示す表の個数分だけ１画面内に表現できる。ここで、しきい値を１００と設定すると、レベル１４以上で使用する。データがマージされるのがレベル１６であるため、実質的には１４と１５でこのデータを使用すれば良い。
【００４７】
以上説明したように、本実施形態によれば、各時系列データの平均周期を検出し、検出した平均周期、並びに時系列データの入力が開始された時刻および最後に入力された時刻を含む単一データを時間粒度毎に作成し、いずれかの時間粒度が指定されグラフを描画する旨の要求があったときに、指定された時間粒度に対応する前記単一データを用いて画面にグラフを描画するので、平均周期が偏りがちな時系列データのグラフ描画を、高速に行なうことが可能となる。
【符号の説明】
【００４８】
１  データ処理スクリプト
３  グラフ作成部
５  データ検出部
７  データベース
９  データ取得部
１１  登録データカウント部
１５  テーブル特定部
１７  まとまり検出部
１９  平均周期検出部
２１  データ作成部
２３  データ登録部
２５  しきい値保持部
【図１】
0005969266.tif 000002
【図２】
0005969266.tif 000003
【図３】
0005969266.tif 000004
【図４】
0005969266.tif 000005
【図５】
0005969266.tif 000006
【図６】
0005969266.tif 000007
【図７】
0005969266.tif 000008
【図８】
0005969266.tif 000009
【図９】
0005969266.tif 000010
【図１０】
0005969266.tif 000011
【図１１】
0005969266.tif 000012
【図１２】
0005969266.tif 000013