(57)【特許請求の範囲】
【請求項１】
次元と事象が多対多の関係にある時系列データを多次元分析するための多次元データ分析方法であって、
前記事象の開始時間と終了時間との情報を持つ区間を表す区間テーブルＩ、及び多次元データの次元が有する階層構造を表す階層テーブルＴとに分離してデータベースに保持する保持ステップと、
区間をあらわすテーブルを返す演算である区間選択演算ｇを用いて、前記区間テーブルＩよりユーザの要求する性質ｃを有する区間I'を選択する区間選択演算ステップと、
前記区間選択演算ステップにおいて選択された区間I'において、前記区間I'と所定の結合の条件とを結合する演算である結合選択演算βを用いて、区間の集合を前記結合選択演算βと結合する結合選択演算ステップと、
前記結合選択演算ステップにおける結果を用いて、データテーブルからｎ次元の多次元キューブを生成する演算である集計演算αを用いて多次元キューブを生成する集計演算ステップとを含む
ことを特徴とする多次元データ分析方法。
【請求項２】
前記集計演算ステップにおける前記集計演算αは、テーブルＡ(v1,v2,…,vn,id)に対して、α(A)=v1;v2,…,vnXv1;v2;…;vn;count(distinct id)を返す演算と定義される
ことを特徴とする請求項１記載の多次元データ分析方法。
【請求項３】
前記結合選択演算ステップにおける前記結合選択演算βは、β(｛I'1,…,I'n｝,O,W)=πo(σp(I'1×…×I'n))と定義され、各テーブルI'i は区間I'(id; start; end; value; interval＿id) とされ、前記Ｗは結合の条件式の集合であり、（I'i×…×I'j）は、前記Ｗの条件式及びI'i.id = I'j.id に従って結合され、前記Ｏは出力されるカラムの集合である
ことを特徴とする請求項１記載の多次元データ分析方法。
【請求項４】
前記区間選択演算ステップにおける前記区間選択演算ｇは、分析の意図に応じて定義されるユーザ定義関数であり、前記区間テーブルＩよりユーザの要求する性質ｃを有する区間I'を表すテーブル(id; start; end; value; interval＿id)を返す演算と定義される
ことを特徴とする請求項１記載の多次元データ分析方法。
【請求項５】
前記多次元データ分析方法は、さらに、
ユーザからの入力指示を受け付ける入力ステップと、
前記集計演算ステップにより生成された前記多次元キューブ、及び前記入力ステップにおけるユーザ操作時に使用されるユーザインターフェースを画面に表示する表示ステップとを含み、
前記表示ステップにおいて表示されるユーザインターフェースは、長方形オブジェクトの左辺、右辺を区間の開始、終了時間とし、異なる長方形オブジェクトの２区間を線で結ぶことにより区間に時間的な前後関係を指定すると共に、前記長方形オブジェクトと集計の演算用長方形オブジェクトとに線を結ぶことで、集計演算の入力とされる
ことを特徴とする請求項１から４のいずれか１項に記載の多次元データ分析方法。
【請求項６】
前記表示ステップにおいて表示されるユーザインターフェースでは、前記長方形オブジェクトが区間を示し、前記長方形オブジェクト間の線が前記結合の条件式の集合Ｗを示し、前記演算用長方形オブジェクトへの線が前記Ｏを示し、集計問い合わせクエリが生成される
ことを特徴とする請求項５記載の多次元データ分析方法。
【請求項７】
次元と事象が多対多の関係にある時系列データを多次元分析するための多次元データ分析装置であって、
前記事象の開始時間と終了時間との情報を持つ区間を表す区間テーブルＩ、及び多次元データの次元が有する階層構造を表す階層テーブルＴとに分離して保持するデータベースと、
区間をあらわすテーブルを返す演算である区間選択演算ｇを用いて、前記区間テーブルＩよりユーザの要求する性質ｃを有する区間I'を選択する区間選択演算手段と、
前記区間選択演算手段において選択された区間I'において、前記区間I'と所定の結合の条件とを結合する演算である結合選択演算βを用いて、区間の集合を前記結合選択演算βと結合する結合選択演算手段と、
前記結合選択演算手段における結果を用いて、データテーブルからｎ次元の多次元キューブを生成する演算である集計演算αを用いて多次元キューブを生成する集計演算手段とを備える
ことを特徴とする多次元データ分析装置。
【請求項８】
前記多次元データ分析装置は、さらに、
ユーザからの入力指示を受け付ける入力手段と、
前記集計演算手段において生成された前記多次元キューブ、及び前記入力ステップにおけるユーザ操作時に使用されるユーザインターフェースを画面に表示する表示手段とを備え、
前記表示手段において表示されるユーザインターフェースは、長方形オブジェクトの左辺、右辺を区間の開始、終了時間とし、異なる長方形オブジェクトの２区間を線で結ぶことにより区間に時間的な前後関係を指定すると共に、前記長方形オブジェクトと集計の演算用長方形オブジェクトとに線を結ぶことで、集計演算の入力とされる
ことを特徴とする請求項７記載の多次元データ分析装置。
【請求項９】
次元と事象が多対多の関係にある時系列データを多次元分析するための多次元データ分析装置に用いられるプログラムであって、
前記事象の開始時間と終了時間との情報を持つ区間を表す区間テーブルＩ、及び多次元データの次元が有する階層構造を表す階層テーブルＴとに分離してデータベースに保持する保持ステップと、
区間をあらわすテーブルを返す演算である区間選択演算ｇを用いて、前記区間テーブルＩよりユーザの要求する性質ｃを有する区間I'を選択する区間選択演算ステップと、
前記区間選択演算ステップにおいて選択された区間I'において、前記区間I'と所定の結合の条件とを結合する演算である結合選択演算βを用いて、区間の集合を前記結合選択演算βと結合する結合選択演算ステップと、
前記結合選択演算ステップにおける結果を用いて、データテーブルからｎ次元の多次元キューブを生成する演算である集計演算αを用いて多次元キューブを生成する集計演算ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、次元と事象が多対多の関係にある時系列データを多次元分析するための多次元データ分析方法、多次元データ分析装置、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、計算機環境やそれを取り巻くネットワーク技術の著しい向上とデータベースを代表とするミドルウェア等の基盤技術の発展によって、膨大な量の情報を蓄積・管理する技術が整備されてきている。それに加えて、厚生労働省によって「医療・健康・介護・福祉分野の情報化グランドデザイン」（非特許文献１５参照）が策定され、徐々に電子カルテシステムが導入されてきたことによって、診療・管理データを蓄積するシステムの普及が進み、診療業務の効率化が図られてきている。
【０００３】
一方、日々蓄積される膨大な情報を活用し、知的生産性を高める情報マネジメント技術や新たな知識発見を可能にする解析技術に対する期待は高まりつつある。医療を取り巻く最近の情勢として、国民医療費の増加や少子・高齢化による健康保険制度の財政の逼迫とｅ−ｊａｐａｎ構想に代表される公的サービスのＩＴ化によって、情報システムを利用した病院経営の変革が求められている（非特許文献９参照）。
【０００４】
現在、医療分野の情報化グランドデザインに沿って徐々にではあるが医療情報システムの導入が進み、診療業務・病院運営管理業務の効率化の兆しが見られ、診療の透明性を高めたことによって患者に安心感を与えることに成功している。
【０００５】
しかしながら、せっかく蓄積された膨大な量の医療情報を経営の効率化や根拠に基づいた医療（ＥＢＭ）の確立に活用する技術には改善の余地が残されている。
【０００６】
というのも、医療情報データは患者の診療や検査データ、投薬、手術など時系列データからなり、またそれぞれの項目が非常に複雑な階層構造を有し、マスターデータとして管理されている。各患者はそれぞれ異なる診療科の異なる診療、手術、投薬、検査を複数回受けている。これらのデータの分析は、診療プロセスのより詳細な解析やクリティカルパス（クリニカルパス）の評価等に貢献できるが（非特許文献９参照）、複雑で大規模なデータベース全体から問題発見のため、可能な仮説空間を全探索するようなデータマイニングの技術で分析を行うことは容易ではない。したがって、ユーザが興味のある項目を対話的に、あるいは試行錯誤しながら絞り込む分析を行うことが計算機の処理能力の点からも現実的である。
【０００７】
また、対話的に分析を行うことは複雑な構造を有するデータからの問題発見プロセスとしても有効である。データベースの分野では時系列データを対話的に分析する技術として、多次元データベースがある（非特許文献１，２，４，６，１１参照）。
【０００８】
この多次元データベースは計数と次元値を持った事象の集合としてデータを扱う。例えば小売データでは、各購入履歴がファクトであり、量や価格が計数であり、商品種別や購入時間、購入場所等が次元値である。膨大な量の元データに対して検索・抽出・加工し、多次元データベースに格納し、結果を出力する処理をオンライン分析処理（ＯＬＡＰ：OnLine Analytical Processing）という。多次元データベースの次元は階層構造を持ち、処理要求に応じたデータの粒度でデータを選択・集計することが可能である。
【０００９】
そして、例えば、従来の多次元ＤＢでの分析での典型例として購買履歴の例がある。各店舗では、どの商品が、いつ、どこで、いくら売れたかをデータベースに蓄積し、図１５に示すような３次元のデータベースで売り上げ合計などを集計する。
【００１０】
図１５は、多次元キューブ１５００の例であり、図１５の例の購買位置の軸（次元）は、市レベルでの集計であるが、次元には階層があり、県レベル、地域（関東、関西など）レベルなど、ユーザの分析意図に応じた極度で対話的に分析することができる。
【非特許文献１】S. Agarwal, R. Agrawal, P. Deshpande, A. Gupta, J. F. Naughton, R. Ramakrishnan, and S.Sarawagi. On the Computation of Multidimensional Aggregates. Proc. of International Conference on Very Large Data Bases, pp. 506-521, 1996.
【非特許文献２】P. Baumann, A. Dehmel, P. Furtado, R. Ritsch, and N. Widmann. Spatio-Temporal Retrieval with RasDaMan. Proc. of International Conference on Very Large Data Bases, pp. 746-749, 1999.
【非特許文献３】P. F. Dietz. Maintaining order in a linked list. Proc. of Annual ACM Symposium on Theory of Computing, pp. 122-127, 1982.
【非特許文献４】S. Goil and A. N. Choudhary. High Performance Multi-dimensional Analysis of Large Datasets. Proc. of International Workshop on Data Warehousing and OLAP, pp. 34-39, 1998.
【非特許文献５】H. Gupta, V. Harinarayan, A. Rajaraman, and J. D. Ullman. Index Selection for OLAP. Proc. of International Conference on Data Engineering, pp. 208-219, 1997.
【非特許文献６】M. Gyssens and L. Lakshmanan. A Foundation for Multi-dimensional Databases. Proc. Of International Conference on Very Large Data Bases, pp. 106-115, 1997.
【非特許文献７】A. Inokuchi, K. Takeda, N. Inaoka, and F. Wakao. MedTAKMI-CDI: Interactive knowledge discovery for clinical decision intelligence. IBM Systems Journal, Volume 46, Number 1, pp. 115-134, 2007.
【非特許文献８】A. Inokuchi and K.Takeda. A Method for Online Analytical Processing of Text Data. Proceedings of ACM Conference on Information and Knowledge Management, (CIKM 2007), 2007. (to appear)
【非特許文献９】紀ノ定保臣，梅本敬夫，猪口明博，武田浩一，稲岡則子． マイニング技術を活用した診療プロセス分析への挑戦． 医療情報学, 第26巻，第3号，pp. 191-199，2006．
【非特許文献１０】T. Pedersen and C. Jensen. Multidimensional Data Modeling for Complex Data. Proceedings of the 15th International Conference on DataEngineering, pp. 336-345, 1999.
【非特許文献１１】T. B. Pedersen and C. S. Jensen. Multidimensional Database Technology. IEEE Computer, Vol. 34, No. 12: pp. 40-46, 2001.
【非特許文献１２】若尾文彦，石川ベンジャミン光一，稲岡則子，猪口明博，鈴木進．がん診療プロセス解析システムの検討．第25回医療情報学連合大会，2-F-6-6，2005．
【非特許文献１３】L. Wang, A. Zhang, and M. Ramanathan. BioStar Models of Clinical and Genomic Data for Biomedical Data Warehouse Design. International Journal of Bioinformatics Research and Applications, Vol. 1, No. 1, pp. 63-80, 2005.
【非特許文献１４】五十嵐健夫，芦原貴司，永田啓，高田雅弘，中沢一雄．最新ペンコンピューティング技術に基づく電子カルテインターフェース. 医療情報学，第20巻, 第2号, pp. 482-483, 2000.
【非特許文献１５】厚生労働省．医療・健康・介護・福祉分野の情報化グランドデザイン. http://www.mhlw.go.jp/houdou/2007/03/h0327-3.html.
【非特許文献１６】西堀眞弘，椎名晋一． 医療情報システムのユーザーインターフェース. 医療情報学, 第10巻, 第1号, pp. 3-14, 1990.
【非特許文献１７】山野辺裕二，相澤志優，本多正幸. 電子カルテシステムGUIの問題点. IT ヘルスケア，Vol. 2, No. 1, pp. 28-31, 2007. 8
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、前記のような既存多次元ＤＢで例えば電子カルテ内の医療データを分析する場合、医療情報データの特性として、従来の多次元データベースで用いられているスキーマによってデータを格納することが困難である点や分析の際にデータの時間的順序を考慮しなければならない点などがあり、これまで多く研究されてきた購入履歴等のデータよりも複雑なデータのモデル化および解析のための新たな手法が必要であるという課題がある。
【００１２】
すなわち、医療情報データに対する従来のＯＬＡＰの課題として、医療情報データに対して従来のＯＬＡＰを用いて解析を行う場合、以下の４つの問題に直面する。
【００１３】
１つ目に、スタースキーマによる多次元データベースでは、ファクトと次元が１対ｎの関係であるのに対して、診療履歴は必ずしも１対ｎでなく、ｎ対ｍの関係のものが多い。具体的には、小売データの分析ではファクトである１つの購買履歴に対して商品種別や購入時間、購入場所等の各次元値が１つだけ関連付けされている。これに対して、診療履歴において一患者の履歴をファクトとし、診療や手術、投薬、検査データを次元値とした場合、１ファクトに対して次元値が複数存在し、次元となりうる項目に複数のファクトが対応することになり、従来のスタースキーマでは対応できない。一方、一入院をファクト、“主” 病名、“主要な” 手術などを次元として扱えばスタースキーマにデータを格納できるが、外来と入院をまたがった分析、複数入院にまたがった分析を困難にする。
【００１４】
２つ目に、医療情報データでは事象の時間的順序が重要な意味を持ち、事象の前後関係を意識した分析の問い合わせをしなければならない。具体的には、喉頭がんが発症している患者に対して、外科手術を行う前に化学療法や放射線治療で腫瘍を小さくする場合と外科手術を行った後にがんの再発予防のために化学療法や放射線治療をした場合とでは異なる診療プロセスとして捉えることが要求される。
【００１５】
３つ目に、これまで記述してきた課題を考慮すると複雑な条件を組み合わせた問い合わせであるため、対話的に分析を行うための効率的な処理が必要である。ただし、次元となりうる項目の種類が多い診療データに対して、事前集計を必要とするＭＯＬＡＰのような形態は困難である。
【００１６】
４つ目に、このような複雑な処理を実行するにはＳＱＬ等の問い合わせ言語を用いて複雑なクエリを与えなければならない。ＳＱＬに不慣れな医療従事者をユーザと想定した場合、対話的に分析を行うためには、直感的に操作可能なユーザインターフェースを装備していなければならない。
【００１７】
このように、個々の購買は別々のレコードとして使われるが、電子カルテの各検査履歴、手術歴、入退院歴、病歴などは、同一の患者であれば一連のデータであるので、データの特性が異なり、充分な分析ができないという問題がある。購買履歴であれば、１つの購買レコードに対して、次元別である購買位置、購買時間、商品種が１つずつ関連付けられているが、医療データでは患者に対して、各項目に対して複数の検査履歴、手術歴、入退院歴、病歴は複数個関連付けられている。主病名、主要な手術、検査の有無などの主要な１つのデータを関連付けて商用システムで分析した実施例もあるが、充分な分析は不可能である。
【００１８】
また、後述するPedersenの手法では、診療プロセスの順番を考慮した分析が困難であり、Biostar（非特許文献７参照）と呼ばれる手法では、データの格納法が中心の提案で、ユーザが分析したい結果を得るための手順（演算）はユーザにゆだねられている。またさらに、MedTAKMI-CDI（非特許文献１３参照）の手法では、イベント中心にデータを保持しているが、効率面で悪い。また、個々の機能が別々に実装されており拡張性・柔軟性がないという問題がある。
【００１９】
本発明は、以上の課題に鑑みてなされたものであり、従来のＯＬＡＰでは柔軟な分析が容易ではない医療情報データ等に対して、データを事象の開始時間と終了時間の情報を持つ区間データとして取り扱うことで、時間的順序の扱いを容易にするデータモデルとテーブルスキーマを有する多次元データ分析方法を提供する。
【００２０】
また、ユーザの様々な問い合わせを統一的に扱うことができる多次元データ分析方法を提供する。
【００２１】
またさらに、ユーザの分析意図を直感的に表現して、分析を容易に実行することができるユーザインターフェースを有する多次元データ分析方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
以上の課題を解決するために、本発明に係る多次元データ分析方法は、次元と事象が多対多の関係にある時系列データを多次元分析するための多次元データ分析方法であって、前記事象の開始時間と終了時間との情報を持つ区間を表す区間テーブルＩ、及び多次元データの次元が有する階層構造を表す階層テーブルＴとに分離してデータベースに保持する保持ステップと、区間をあらわすテーブルを返す演算である区間選択演算ｇを用いて、前記区間テーブルＩよりユーザの要求する性質ｃを有する区間I'を選択する区間選択演算ステップと、前記区間選択演算ステップにおいて選択された区間I'において、前記区間I'と所定の結合の条件とを結合する演算である結合選択演算βを用いて、区間の集合を前記結合選択演算βと結合する結合選択演算ステップと、前記結合選択演算ステップにおける結果を用いて、データテーブルからｎ次元の多次元キューブを生成する演算である集計演算αを用いて多次元キューブを生成する集計演算ステップとを含むことを特徴とする。
【００２３】
この構成により、前記区間テーブルＩを用いてデータを事象の開始時間と終了時間の情報を持つ区間データとして取り扱うことで、時間的順序の扱いを容易にするデータモデルとテーブルスキーマを有し、前記区間選択演算ｇ、前記結合選択演算β、前記集計演算αを用いることによりユーザの様々な問い合わせを統一的に扱うことができる多次元データ分析方法することができる。
【００２４】
また、本発明に係る多次元データ分析方法は、さらに、ユーザからの入力指示を受け付ける入力ステップと、前記集計演算ステップにより生成された前記多次元キューブ、及び前記入力ステップにおけるユーザ操作時に使用されるユーザインターフェースを画面に表示する表示ステップとを含み、前記表示ステップにおいて表示されるユーザインターフェースは、長方形オブジェクトの左辺、右辺を区間の開始、終了時間とし、異なる長方形オブジェクトの２区間を線で結ぶことにより区間に時間的な前後関係を指定すると共に、前記長方形オブジェクトと集計の演算用長方形オブジェクトとに線を結ぶことで、集計演算の入力とされることを特徴とする。
【００２５】
この構成により、入力ステップにおいてユーザが前記ユーザインターフェースを用いて対話的に分析するので、操作演算子やプログラミングに不慣れな医療従事者等のユーザでも操作でき、ユーザの分析意図を直感的に表現して、分析を容易に実行することができる多次元データ分析方法とすることができる。
【００２６】
尚、前記目的を達成するために、本発明は、多次元データ分析方法の特徴的なステップを手段とする多次元データ分析装置として実現したり、コンピュータに各ステップを実行させるためのプログラムとして実現することもできる。そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を通じて配信することができるのは言うまでもない。
【発明の効果】
【００２７】
本発明に係る多次元データ分析方法では、データを事象の開始時間と終了時間の情報を持つ区間データとして取り扱うことで、時間的順序の扱いを容易にするデータモデルとテーブルスキーマを実現できる。また、ユーザの様々な問い合わせを統一的に扱うことでできるデータ操作演算を提供できる。またさらに、ユーザの分析意図を直感的に表現でき、分析を容易に実行することを可能にするユーザインターフェースをも提供できる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明に係る多次元データ分析方法の実施の形態を図面を参照しながら説明する。
【００２９】
（実施の形態）
図１は、本発明に係る多次元データ分析装置のデータ分析の説明図である。
【００３０】
本発明の多次元データ分析方法においては、例えば電子カルテ等の医療データを、事象の開始時間と終了時間との情報を持つ区間を表すテーブルであるテーブルＩと多次元データの次元が有する階層構造を表す階層テーブルＴとに分離してデータベースに格納している。ここで、Ｉは例えば患者の入退院期間、病気の期間、手術時間帯などを保持し、Ｔは例えば術式の階層、病気の階層（ＩＣＤ）などを保持している。そして、後述する各演算の区間選択演算ｇ、結合選択演算β及び集計演算αによりユーザの要求する検索結果を多次元キューブとして表示できる。
【００３１】
また、後述の図１１から図１３に示すように、ユーザは区間を表示する長方形オブジェクトで所望の検索条件でデータ検索できる。本発明のユーザインターフェースでは、長方形オブジェクトの左辺、右辺を区間の開始、終了時間とし、２区間を線で結ぶことにより区間に時間的な前後関係を指定する。また集計の演算用長方形オブジェクトに線を結ぶことで、集計演算の入力とできる。
【００３２】
図２は、本発明の多次元データ分析装置の機能ブロックの一例を示す図である。
【００３３】
多次元データ分析装置２００は、電子カルテの情報を用いて分離された区間テーブルＩ及び階層テーブルＴが保持されるデータベース２０１と、集計演算部２０２ａ、結合選択演算部２０２ｂ、及び区間選択演算部２０２ｃを含む演算部２０２と、演算部２０２の演算結果である多次元キューブや入力部２０４を介して操作されるユーザインターフェースを表示する表示部２０３と、操作入力部であるキーボード等の入力部２０４とを備える。
【００３４】
図３は、本発明の多次元データ分析装置の演算部の動作手順を示すフローチャートである。
【００３５】
最初に、区間選択演算部２０２ｃは、区間選択演算ｇにより、Ｉよりユーザの要求する性質ｃを有する区間I'=g(I,T,c)を選択する（Ｓ３０１）。続いて、結合選択演算部２０２ｂは、結合選択演算βにより、区間の集合をβ(｛I'1,…,I'n｝,O,W)=πo(σp(I'1×…×I'n))と結合する（Ｓ３０２）。ここで、ＷとＯは選択条件と出力のカラムである。最後に、集計演算部２０２ａは集計演算αにより多次元キューブを生成し（Ｓ３０３）、表示部２０３に表示する。
【００３６】
以下、本発明の多次元データ分析方法の詳細について説明する。
【００３７】
最初に、本発明で提案する手法を文献（非特許文献８及び１０参照）に従い定義すると、分析の対象データＤをD=｛(fi,｛pi1; pi2,…,pim｝)｝(i=1;2,…,n)と定義する。
【００３８】
ここで、｛fi｜i= 1; 2,…ｎ｝は患者ＩＤの集合であり、pijは区間情報であるとする。また、(fi;｛pi1;pi2,…,pim｝)は各患者fiが区間に関する情報pijの集合をもつことを意味する。
【００３９】
区間をpij=(ts,te,｛c:v｝)と定義する。ここで、ts、及びteは区間の開始時刻、及び終了時刻とする。特に、ts= teであるとき、区間pijをイベントと呼ぶ。vは区間を説明する値であり、cは値vの属するカテゴリとする。またcは階層を持つデータのある節点である。
【００４０】
具体的には、｛pij｝が入退院に関する区間(期間)であれば、c:vは、入院中病名、主治医などからなる。病名のカテゴリは図４に示されるような階層構造をもつ国際疾病分類（ICD：International Classification of Diseases）４００を用いる。また入院期間中の病名は１つとは限らないので、同一cであるが異なるvをもつc:vが存在する可能性もある。またpijが手術であれば、c:vは術式、手術部位、執刀医などであり、執刀医のカテゴリは所属する診療科などで階層化されている。また従来のＯＬＡＰシステムであれば、cとvを区別することなく用いるが、本発明ではcを検体検査における白血球数の検査項目、vをその検査値と扱うので、区別して扱う。またcはカテゴリ階層の最下位の節点である必要はなく、内部節点でもよいものとする。
【００４１】
階層の集合D=｛Tk｝が与えられたとき、スキーマはS=(F;D)と定義される。ここで、Fはファクトタイプ、Tkは階層タイプTk=(Cl;＜＿Tk)である。タイプTkの階層インスタンスTkは、Tk=(Ck;＜＿Tk) である。ここで、Ckはカテゴリcjの集合、＜＿TkはCk間の半順序関係を示している。
【００４２】
本発明で用いる階層は従来のＯＬＡＰのシステムの多くが採用するバランス木である必要はなく、有向非循環グラフ(DAG：Directed Acyclic Graph)を想定している（非特許文献８参照）。各カテゴリc∈Cは定義域dom(c)を持ち、前述のようにdom(c)の各要素は、｛c:v｝と表される。
【００４３】
集計演算の計算速度をあげるために、階層を以下のように索引付けする。人工のルートノードcrootを考え、Cのうち上位の概念を持たないcjの親節点とする。crootからはじめて、各節点に前順、後順、深さを割り当てながら深さ優先に探索していく。ただし、内部節点ではバックトラックせずに、葉節点でのみバックトラックする。入力であるカテゴリcとデータのカテゴリが子孫関係にあるかを判定するために、以下の条件で容易に判定することが可能である。もし節点Aが節点Bの祖先であるなら、以下の数（１）が成り立つ（非特許文献３参照）。
【００４４】
【数１】
0005252388.tif 000002
【００４５】
階層関係と区間情報をストアするために、テーブルCATEGORY TとINTERVAL Iを以下のように定義する。
【００４６】
0005252388.tif 000003
【００４７】
Tの各レコードは階層の各節点に相当し、CATENAME、PATH、PREORDER1、PREORDER2、PARENTは、それぞれ節点のカテゴリ名、ルート節点からのパス、前順、後順と深さの和、親節点の前順である。
【００４８】
Iの各レコードは、(ts;te;｛c:v｝) を|｛c:v｝|個に分割した情報に相当し、ID，START，END，PREORDER，VALUE，INTERVALIDは、それぞれ患者ID、区間の開始時間、区間の終了時間、カテゴリcの前順、dom(c)内の値v、区間の識別子である。区間識別子INTERVALIDを用いる理由は、(ts;te;｛c:v｝) を|｛c:v｝|個に分割したためである。
【００４９】
以上の２つのテーブルを用いて、集計演算を以下のように定義する。以下の定義において、Tcは入力カテゴリに対して、テーブルTの１タプルを返すＳＱＬ文である“σｐ(Ｔ) FETCH FIRST 1 ROWS ONLY”を意味する。
【００５０】
（１）集計演算α：テーブルA(v1,v2,vn,id) に対して、α(A)=v1;v2,…,vnXv1;v2;…;vn;count(distinct id)を返す集計演算をα(A)と定義する。演算αはテーブルAから、n次元の多次元キューブを生成する関数であると理解できる。
【００５１】
（２）結合演算β：結合演算βをβ(｛I'1,I'2 ;…; I'n｝;O;W)=πO(I'1×I'2×…×I'n )と定義する。ここで、各テーブルI'i は区間I'(id;start;end;value;interval＿id)とする。またWは結合の条件式の集合であり、I'i×…×I'jは、Wの条件式、及びI'i.id=I'j.id に従って結合される。Oは出力されるカラムの集合であるとする。
【００５２】
（３）区間選択演算ｇ：区間選択演算ｇ(T;I;c)を区間を表すテーブルI'(id;start;end;value;interval＿id)を返す演算と定義する。関数gは分析の意図に応じて定義されるユーザ定義関数（非特許文献８参照）５００であり、例えば図５に示される。g(1)は指定したカテゴリcとその子孫カテゴリに属するvを有する区間を選択する演算である。g(2)は指定したカテゴリcに属するvを有する区間を選択する演算である。
【００５３】
g(3)はg(1)と同様の区間を選択する演算であるが、vをテーブルTのCATEGORYNAMEに置き換えて区間を選択する演算である。g(4)もまたg(1)と同様の区間を選択する演算であるが、指定されたカテゴリcの子カテゴリのCATEGORYNAMEに置き換えて区間を選択する演算である。g(5)はg(1)と同様の区間を選択する演算であるが、vを区間の開始時間に置き換えて区間を選択する演算である。
【００５４】
上記で定義した演算によってどのような集計が可能かを具体例を用いて示す。
【００５５】
（１）クエリ例１を数（２）を用いて表す。
【００５６】
【数２】
0005252388.tif 000004
【００５７】
c1とc2をそれぞれ、手術と入退院のカテゴリとし、数（３）とすると、
【００５８】
【数３】
0005252388.tif 000005
【００５９】
上記のクエリは、入院期間中に手術を施した患者数を術式ごとに集計した結果を返す。出力のイメージは図６のとおりである。この図６は、クエリ例１の出力イメージ６００を示す参考図である。
【００６０】
（２）クエリ例２を数（４）を用いて表す。
【００６１】
【数４】
0005252388.tif 000006
【００６２】
c1，c2，c3 をそれぞれ、手術、入退院、放射線検査(X線，CT，MRI のカテゴリとし、数（５）とすると、
【００６３】
【数５】
0005252388.tif 000007
【００６４】
上記のクエリは、入院期間中に放射線検査、手術を“順に” 実施した患者について、手術の診療科、及び手術日毎に患者数を集計した結果を返す。出力のイメージ７００は図７のとおりである。手術に関するデータはテーブルIでは術式で保持されていて、術式の上位の階層として術式に適した診療科があるものとする。図７は術式毎の集計から診療科毎の集計にロールアップしたことに相当する。
【００６５】
（３）クエリ例３を数（６）を用いて表す。
【００６６】
【数６】
0005252388.tif 000008
【００６７】
c1，c2，c4 をそれぞれ、手術、入退院、性別のカテゴリとし、数（７）とすると、
【００６８】
【数７】
0005252388.tif 000009
【００６９】
上記のクエリは、入院が２００７年である患者について、入院日から手術日までの経過日数を性別毎、診療科毎に手術件数を集計した結果を返す。出力のイメージ８００は図８のとおりである。
【００７０】
図８に示す、縦線は入院日を示し、横軸は入院日を基準とした左から右へ流れる時間であり、縦軸は各診療科において横軸で示される時間に手術を受けた男性患者（実線）および女性患者（点線）の人数である。条件式であるyear(I'2.start)=2007は、入院日が２００７年である入退院期間に限定する操作であり、従来のＯＬＡＰのスライスに相当する操作である。また前述の２つのクエリが患者数を集計していたのに対し、クエリ例３は手術件数を集計しており、本発明のテーブルスキーマでは計数の属性を別に扱わない。
【００７１】
（４）クエリ例４を数（８）を用いて表す。
【００７２】
【数８】
0005252388.tif 000010
【００７３】
c3を放射線検査のカテゴリとし、数（９）とすると、
【００７４】
【数９】
0005252388.tif 000011
【００７５】
上記のクエリは、入院期間中に放射線検査を３回以上受けた患者で、その種類の順番を種類毎に集計したクエリである。出力のイメージ図９００は図９に示す。
【００７６】
図９が示すように、生成されるキューブの各次元は同じ放射線検査の種類となっている。スタースキーマによって実装される従来のＯＬＡＰがテーブルを定義する際にキューブの各次元が定義されるのに対し、本発明に係る手法はクエリが生成される際に、キューブの次元が定義される。図９は、クエリ例４の出力イメージ９００を示す参考図である。
【００７７】
（５）クエリ例５を数（１０）を用いて表す。
【００７８】
【数１０】
0005252388.tif 000012
【００７９】
c5を白血球数のカテゴリとし、O5=｛I'1.value;.id｝，g(7)を白血球数を離散化する関数とすると、上記のクエリは、図１０のような結果を返すクエリとなる。なお、図１０はクエリ例５の出力イメージ１０００を示す参考図である。
【００８０】
次に、本発明に係る多次元データ分析装置において用いるユーザインターフェースの説明を行う。
【００８１】
電子カルテの情報が関係データベースに蓄積されている環境で、ＳＱＬを用いたことがある人であれば、上述したようなテーブルを用いなくても、業務システム（あるいは、そのレプリカ）に直接問い合わせれば所望の分析結果を得ることができる。
【００８２】
しかしながら、本発明を利用するユーザはＳＱＬを用いたことのない医療従事者を対象としている。例としてＧ大学病院に導入されている電子カルテシステムは、１００を超えるマスタ情報と数十の実施テーブルからなるため、ＳＱＬに不慣れなユーザが所望な分析結果を得るための問い合わせを表現することは容易ではない。
【００８３】
また上記で示したような関数α、β、ｇの組み合わせを表現することも困難である。そこで本発明では、ユーザの分析意図であるクエリを容易に表現できるユーザインターフェースを提案する。
【００８４】
図１１（ａ）は、ＧＵＩ上で区間を表すオブジェクトである。長方形の左辺は区間の開始時刻を、右辺は区間の終了時刻に対応するものとする。図１１（ｂ）は２区間の関係を表しており、入退院区間の開始以降に手術区間の開始があり、手術区間の終了以降に入退院区間の終了点があるので、手術が入院期間中に行われたことを表している。
【００８５】
このようなユーザインターフェースを用いることで、上述したクエリ例１，２は図１２（ａ）、及び図１２（ｂ）によって表される。図１２に示されるように、網がけの長方形が演算g、及びその入力を表している。網がけの長方形間の辺によって区間の間の関係Wが指定される。演算を記された長方形に繋がる辺がOであり、演算βの出力、演算αの入力となる。
【００８６】
以上で述べた本発明をJava（登録商標）で実装し、JDBC(Java Database Connectivity) 経由で関係データベースにあるデータを集計するシステムHealthCubeを実装した。
【００８７】
またＧ大学病院のマスタ情報を用いて、擬似的に患者の診療履歴情報１３００を作成した。擬似データを用いて本発明手法に適用した例を図１３に示す。左フレームがカテゴリの階層である。右上のフレームが問い合わせクエリを作成するインターフェースであり、右下のフレームに集計結果を表示する。図１３では入院後に検体検査を行った後に呼吸器外科の手術を受けた患者の人数を表している。
【００８８】
具体的には、表中の数字は縦軸の検査を受けた後に横軸の手術を受けた人数である。擬似データの患者数は50,400人、総区間数は4,187,845であり、クエリに含まれる条件となる区間数や集計結果の次元数にもよるが、ほとんどのクエリを数秒で返すことができる。
【００８９】
次に、考察および関連研究を述べる。
【００９０】
１９９５年に厚生省の電子カルテ開発プロジェクトが開始される以前から継続して医療情報システムについて議論されてきているが、今もなおその操作性やインターフェースに関する議論は絶えない（非特許文献１４，１６，及び１７参照）。
【００９１】
問題点としては利用環境の把握が不十分な点やユーザのシステムの利用に割くことのできる時間が少ない点、操作手順が複雑な点、柔軟な思考を反映できない点など多く挙げられる。医療情報分析ツールに関しても同様の声が聞かれる。ＯＬＡＰのような対話的な分析手法において、利便性と効率を高めるにはツールの操作性はもちろんのこと、ユーザが分析したい事柄を直感的に表現でき、これを出力結果に反映させることが重要である。以上のことを加味して本発明と関連する研究について考察する。
【００９２】
上述したように、本発明は演算機能α，β，ｇとテーブルT,Iを組み合わせることで様々な種類の問い合わせ文を同じ形式で作成することが可能である。スペースの都合上、上述した例は比較的単純な例であるが、より複雑な問い合わせを生成することが可能である。問い合わせで生成する区間やイベントの順序関係は全順序である必要はなく、半順序でよい。例えば、区間AとBはC以降であるが、AとBの区間の順序を指定しない問い合わせを生成することが可能である。
【００９３】
本発明に関連する研究として、非特許文献１０がある。非特許文献１０は、医療データをＯＬＡＰで分析する上で、必要とされる９つ課題を挙げ、それを解決するデータモデルとそれに対する演算を提案している。しかし、多次元キューブを生成する定義されている演算では、同じ次元を選択することはできず、図９のような結果を得ることはできない。
【００９４】
図１４はBioStar（非特許文献１３）のテーブルスキーマを表している参考図である。患者と投薬、患者と手術間のn対mの関係を表すためにファクト表と次元表の間にM-テーブルを配置し、n対mの関係を保持することを可能にしている。ただし、手術の場合、執刀医が複数人いる可能性があり、かつその人数が患者によって異なる場合の情報を保持するには適切とはいえない。また、本実施の形態で示したように、診療履歴の分析の場合、区間やイベントの時間的前後関係を考慮した分析が重要であるが、非特許文献１３で述べられているのは、データの格納方法が中心であり、それに対する処理についてはあまり述べられていない。
【００９５】
上述したように、入退院期間中に施された術式を得る演算は、数（１１）で表される。
【００９６】
【数１１】
0005252388.tif 000013
【００９７】
ここで、c1とc2は手術と入退院のカテゴリであり、数（１２）である。
【００９８】
【数１２】
0005252388.tif 000014
【００９９】
また、便宜上一部のTとIを省略している。一方、MedTAKMI-CDI（非特許文献７参照）もまた、上記で挙げた問題の一部を解決するために提案された手法である。MedTAKMI-CDIは、区間単位ではなくイベント単位でデータを保持する。従って、入退院区間はイベント時間を持った入院イベントと退院イベントでデータを保持する。MedTAKMI-CDIで、入退院期間中に施された術式を得る演算を行うと数（１３）となる。
【０１００】
【数１３】
0005252388.tif 000015
【０１０１】
ここで、c1，c2，c3は手術イベント、入院イベント、退院イベントのカテゴリであり、下記の数(１４)である。
【０１０２】
【数１４】
0005252388.tif 000016
【０１０３】
i.start はg(1)(ci)から返されるカラム名とする。クエリ(2)と(3)を比較すると、クエリ(2)が結合が１回であるのに対し、クエリ(3)は結合が２回、集計が１回必要となる。g(ci)×…×p g(cj)は、スタースキーマのファクト表が保持するタプル数と同じくらいのタプル数をもつテーブルの結合であるので、後者の方が計算時間を要するのは明らかである。
【０１０４】
更に、本発明が様々な分析要求を演算α，β，gによって生成し、同じ形式の問い合わせで図６、図７、図８などを集計できるのに対し、MedTAKMI-CDIはそれぞれの機能毎に実装されており、同じ形式でのクエリを生成できない。
【０１０５】
以上の説明のように、本発明に係る多次元データ分析方法においては、従来では充分に分析できなかった区間やイベントの前後関係を考慮した多次元キューブを生成することができ、また、演算α、β、ｇの組み合わせにより、様々なクエリを表現することができる。また、対話的分析を支援するクエリを生成できる直感的なインターフェースを提供することができる。
【０１０６】
従って、例えば病院情報システムに蓄積された診療データ、および管理データに対して、区間データの概念を取り入れた演算機能とテーブルを組み合わせることで様々な種類の問い合わせ文を作成し、対話的に柔軟な分析を行うことが可能となる。
【０１０７】
また、本発明に係る多次元データ分析方法を用いて過去の診療履歴のデータを分析することで、診療の質の向上、評価が可能となる。また、診療報酬の改定などで病院の経営の見直しが必要となるが、診療科同士の比較や在院日数の長期化の原因を調べることで、経営改善の効果を期待することができる。
【０１０８】
なお、本発明は医療情報データに特化して記述しているが、本発明は汎用であり、異なるデータにも適用可能である。
【産業上の利用可能性】
【０１０９】
本発明に係る多次元データ分析方法は、電子カルテの医療データに適用することで、診療プロセス分析やクリニカルパスの定量的評価に用いることができる。ただし、本発明に係る多次元データ分析方法は、非常に汎用であり、医療データに限らず、例えば品質管理やマーケット分析にも利用可能である。
【図面の簡単な説明】
【０１１０】
【図１】本発明に係る多次元データ分析装置のデータ分析の説明図
【図２】本発明の多次元データ分析装置の機能ブロックの一例を示す図
【図３】本発明の多次元データ分析装置の演算部の動作手順を示すフローチャート
【図４】国際疾病分類の一部を示す参考図
【図５】関数ｇを示す参考図
【図６】クエリ例１の出力イメージを示す参考図
【図７】クエリ例２の出力イメージを示す参考図
【図８】クエリ例３の出力イメージを示す参考図
【図９】クエリ例４の出力イメージを示す参考図
【図１０】クエリ例５の出力イメージを示す参考図
【図１１】図１１（ａ）は、ＧＵＩ上で区間を表すオブジェクトを示す参考図、図１１（ｂ）は２区間の関係を表している参考図
【図１２】クエリ例１，２のクエリ描写を示す参考図
【図１３】擬似データを用いて本発明に適用した例を示す参考図
【図１４】BioStarのテーブルスキーマを表している参考図
【図１５】従来のＯＬＡＰの説明図
【符号の説明】
【０１１１】
２００  多次元データ分析装置
２０１  データベース
２０２  演算部
２０２ａ  集計演算部
２０２ｂ  結合選択演算部
２０２ｃ  区間選択演算部
２０３  表示部
２０４  入力部
４００  国際疾病分類
５００  ユーザ定義関数
【図１】
0005252388.tif 000017
【図２】
0005252388.tif 000018
【図３】
0005252388.tif 000019
【図４】
0005252388.tif 000020
【図５】
0005252388.tif 000021
【図６】
0005252388.tif 000022
【図７】
0005252388.tif 000023
【図８】
0005252388.tif 000024
【図９】
0005252388.tif 000025
【図１０】
0005252388.tif 000026
【図１１】
0005252388.tif 000027
【図１２】
0005252388.tif 000028
【図１３】
0005252388.tif 000029
【図１４】
0005252388.tif 000030
【図１５】
0005252388.tif 000031