(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための最良の形態】
【0034】
以下、本発明の実施の形態を説明する。本実施形態の全体を通して同じ要素には同じ符号を付けている。
【0035】
(本発明の第1の実施形態)
本実施形態に係るデータ構造及びデータ生成装置について、
図1ないし
図13を用いて説明する。本実施形態に係るデータ構造は、異なるシステムにおいて個々に定義された複数のデータを一つのテーブルで一元管理すると共に、インデックスにより各データへのアクセスを制御することで、大量のビッグデータであっても小さい容量で効率よくデータ管理ができるものである。
【0036】
図1は、本実施形態に係るデータ生成装置のハードウェア構成図である。
図1において、データ生成装置1は、CPU11、RAM12、ROM13、ハードディスク(HDとする)14、通信I/F15、及び入出力I/F16を備える。ROM13やHD14には、オペレーティングシステムや各種プログラムが格納されており、必要に応じてRAM12に読み出され、CPU11により各プログラムが実行される。生成されたデータやその大元のデータはHD14に格納され、必要に応じてプログラムによりアクセスすることができる。
【0037】
通信I/F15は、装置間の通信を行うためのインタフェースである。入出力I/F16は、タッチパネル、キーボード、マウス等の入力機器からの入力を受け付けたり、プリンタや画面等にデータを出力するためのインタフェースである。この入出力I/F16は、必要に応じて光磁気ディスク、フロッピーディスク、CD−R、DVD−R等のリムーバブルディスク等に対応したドライブを接続することができる。各処理部はバスを介して接続され、情報のやり取りを行う。なお、上記ハードウェアの構成はあくまで一例であり、必要に応じて変更可能である。
【0038】
図2は、本実施形態に係るデータ生成装置の構成を示す機能ブロック図である。データ生成装置1は、複数の異なるシステム(10a〜10d)で管理されているデータを入力するデータ入力部21を備える。システム10a〜10dは、例えば、医療管理システムであり、システム10aが医療機関Aのシステムデータ、システム10bが医療機関Bのシステムデータという言ったように、独立した異なるシステムで利用され、それぞれに異なる定義がなされているシステムデータである。
【0039】
また、データ生成装置1は、データ入力部21で入力されたデータを万能テーブル記憶部23に格納する万能テーブル生成部22と、当該万能テーブル記憶部23に記憶されたデータを、予め管理者により作成されたマスクテーブル記憶部24のマスク情報に基づいて抽出するデータ抽出部25と、抽出されたデータのうち同一のデータについては1つのデータとして纏めてマスタデータを生成し、マスタテーブル記憶部27に格納するマスタテーブル生成部26とを備える。ここで、万能テーブル、マスクテーブル、マスタテーブルについて説明する。
【0040】
図3は、本実施形態に係る万能テーブル、マスクテーブル及びマスタテーブルのデータ構造を示す図である。
図3(A)は万能テーブル、
図3(B)はマスクテーブル、
図3(C)はマスタテーブルの構造を示す。通常フィールド名には、そのフィールドに入れるデータの種類(例えば、氏名、年齢、生年月日等)を示す名称が定義されるが、
図3(A)の万能テーブルの場合、どのフィールドにどのデータを入れてもいいように、フィールド名がSLOT番号で管理される。つまり、例えば、システム10aで利用されていたデータの場合は、SLOT1に「ローカルID」、SLOT2に「性別」、SLOT3に「氏名」、SLOT4に「住所」が格納されるが、システム10bで利用されていたデータの場合は、SLOT1に「ローカルID」、SLOT2に「氏名」、SLOT3に「電話番号」、SLOT4に「郵便番号」が格納されるといった形で万能テーブルが形成される。
【0041】
図3(B)のマスクテーブルは、データとしては「0」又は「1」の情報のみを有しており、データを識別するために必要となるフィールドに「1」が設定され、万能テーブルの各レコードと掛け合わせることで、必要な情報のみを抽出することができる。例えば、
図3(B)の2レコード目(PP−ID=2)は、SLOT1、5及び6に「1」が設定され他は「0」がマスクデータとして設定されている。つまり、万能テーブルのデータと
図3(B)のPP−ID=2のマスクデータを掛け合わせることで、万能テーブルからSLOT1、5及び6の情報のみを抽出できる。ただし、このとき、万能テーブルにはあらゆるデータがランダムに格納されているため、
図3(B)のPP−ID=2を掛け合わせて抽出されたデータが全て意味のあるデータとはならない。つまり、PP−ID=2のマスク情報によりデータを識別するために必要なデータが必ず含まれているものの、全く関係のないデータ(利用者が必要としていないデータ)も含まれている。
【0042】
図3(C)のマスタテーブルは、マスクテーブルのマスク情報により抽出されたデータのうち、同一のデータについては1つのデータに纏めてマスタデータとして情報を格納する。例えば、PP−ID=2のマスク情報により、SLOT1=11、SLOT5=患者太郎、SLOT6=1976/10/10というデータが複数抽出された場合には、それらのデータは1件のデータとし、1つのID(以下、PTN−IDという)が付与される。なお、万能テーブル、マスクテーブル及びマスタテーブルのより具体的なデータ構造については後述する。
【0043】
このように、万能テーブルに格納されたデータのうち、マスクテーブルのマスク情報で抽出された識別性のある情報を1つのデータに括ることで万能テーブルのマスタデータが生成される。つまり、何千万件に上るような膨大な量のデータを扱う際の検索においては、検索条件の設定が非常に重要となるが、本実施形態のようにマスタデータが作成されることにより、必ずヒットする検索条件としてマスタデータを提供することができ、作業効率を格段に向上させることができる。
【0044】
図2に戻って、マスタテーブル生成部26によりマスタテーブルが生成されると、元のシステム10a〜10dで利用されていたユニーク性を持った識別コードであるLOCAL_ID(以下、L−IDとする)を万能テーブルから抽出し、マスタテーブル生成時に付与されたマスタデータごとのPTN_IDをマスタテーブルから抽出し、それらを付け合せたパターンマップをパターンマップ記憶部29に記憶するパターンマップ生成部28と、生成されたパターンマップからIDを管理するためのID管理テーブルを作成してID管理テーブル記憶部31に格納する統合ID管理部30とを備える。
【0045】
図4は、本実施形態に係るパターンマップ及びID管理テーブルのデータ構造を示す図である。
図4(A)はパターンマップを示す図、
図4(B)はID管理テーブルを示す図である。
図4(A)に示すL−IDはLOCAL_IDのことであり、元々のシステムで利用されていたユニーク性を持つIDである。例えば、医療管理システムで言えば、医療機関コード(医療機関ごとのコード)と診察券コード(患者ごとのコード)を繋げた一意のIDである。PTN−IDは、マスタテーブルを生成する際に付与された一意のIDである。パターンマップでは、L−IDとPTN−IDの組み合わせが格納される。
【0046】
ここで、L−IDは、システムの上では一意性を持っているが、例えば、医療管理システムにおいて、実際にL−IDと患者の関係が1対1とは限らない。つまり、同じ患者が異なる医療機関で診察した場合には、2つのL−IDを持っていることとなる。一方、PTN−IDについても、システムの上では一意性を持っているが、例えば、医療管理システムにおいて、1つのマスタデータ(例えば、氏名、郵便番号、性別、生年月日)が1人の患者を示しているとは限らない。つまり、結婚して性が変わった人や引越しなどで郵便番号が変わった人は、同じ人物であっても複数の異なるマスタデータを有することとなる。
【0047】
このような、データを同一人物に統合する(以下、名寄せという)ために、
図4(B)のID管理テーブルが生成される。
図4(B)のID管理テーブルにおいては、同一のパターンIDを有するデータには共通の統合IDが付与され、同一のPTN−IDを有するデータには共通の統合IDが付与される。つまり、統合IDと、当該統合IDにより識別される人(システムの種類によっては物)は、必ず1対1の関係となる。したがって、同じ統合IDで抽出されたデータは、全て同じ人(又は物)に関連する情報として抽出することが可能となる。なお、統合IDを付与する際の具体的な処理については、詳細を後述する。
【0048】
次に、マスタテーブルを生成するまでの処理とその利用方法を具体例を挙げて説明する。
図5は、万能テーブル及びマスクテーブルの一例を示す図である。
図5(A)は万能テーブル、
図5(B)はマスクテーブルの一例を示す。万能テーブルには、1〜3行に患者情報、4〜6行に薬剤情報、7〜9行に検査情報が格納されている。マスクテーブルのPP−ID=1にはSLOT2〜6まで「1」が設定されている。これは、患者情報のマスタデータを作成するために予め管理者により設定されたものであり、SLOT2〜6の情報(具体的には、アカウント、氏名、生年月日、性別、郵便番号)があれば識別可能な患者情報のマスタデータを作成することができる。同様に、PP−ID=2にはSLOT2〜5まで「1」が設定され、PP−ID=3にはSLOT2、3、5〜7まで「1」が設定されている。
【0049】
図6は、
図5のデータを用いて生成されるマスタテーブルの一例を示す図である。
図5(A)の万能テーブルと
図5(B)のマスクテーブルを掛け合わせ、複数の同一のデータは1つのデータ(1つのPTN−ID)として取り扱う。
図6において、PP−ID=1のデータは、
図5(B)におけるPP−ID=1のマスク情報により作成されたデータである。ここで、上から3行目の「患者花子」は上から2行目の「患者花子」と完全に一致しているので、マスタデータには含まれない。なお、このような場合は、
図6に示すようにPTN−IDを付与しないようにしてもよいし、データ自体を削除してもよい。同様に、12行目の「患者花子」、15行目の「目薬B」、21行目の「患者花子」、27行目の「尿検査(タンパク)」は、同一のデータが存在するためPTN−IDが付与されずデータとしては存在しない。このように、マスタテーブルは、必要最小限のフィールドで抽出された最小のデータが集まったマスタデータとなる。
【0050】
上記のようなマスタデータが作成されることで、データの検索を効率よく行うことが可能となる。
図7は、マスタデータを用いたデータの検索を示す図である。ここでは、例えば、利用者が万能テーブルから薬剤情報のデータを検索したいとする。薬剤情報に関するデータのマスク情報はPP−ID=2であるため(詳細は他の実施形態で後述するが、マスクテーブルに対応付けて項目名を定義している項目定義テーブルを用いることで、薬剤情報を取得するためのマスク情報がPP−ID=2であることを利用者が把握できる)、PP−ID=2のマスク情報で抽出された
図7(A)のマスタデータが検索する際の選択肢の対象となる。利用者はこれらの選択肢から
図7(B)に示すように検索条件を指定することで、
図7(C)の行がヒットする。ヒットした行のPTN−IDから統合IDを特定し、その統合IDのデータを万能テーブルから検索することで、必要なデータを万能テーブルから得ることができる。なお、
図7(B)のSLOTごとの括弧書きの項目名は、マスクテーブルに対応付けて項目名を定義している項目定義テーブルに定義されている項目名である。
【0051】
次に、名寄せの具体的な処理について4つの例を挙げて説明する。
図8は、名寄せにおける第1の処理を示す図である。ここでは、万能テーブルの3件目に新たなデータが追加されたものとする(
図8(A))。追加されたデータCは、他の患者情報と異なるため新規にPTN−ID(=300)が付与される(
図8(B))。L−ID(ここでは、L−IDはHOSP_CDとLOCAL_CDを繋げたものとする)とPTN−IDを管理するために、パターンマップに新たにデータCが追加される(
図8(C))。パターンマップへの追加に伴って、新たに統合IDが付与されてID管理テーブルにデータCが追加される(
図8(D))。ID管理テーブルにおけるデータA、B及びCは、いずれも異なるPTN−IDと異なるL−IDであるため、それぞれが異なる人物の情報として管理される。
【0052】
図9は、名寄せにおける第2の処理を示す図である。ここでは、万能テーブルの4件目に新たなデータが追加されたものとする(
図9(A))。追加されたデータDは、データAの患者情報と完全に一致しているため、新たなPTN−IDを採番しない(
図9(B))。L−IDとPTN−IDを管理するために、パターンマップに新たにデータCが追加される(
図9(C))。データAとデータDは、患者情報が同じであるため、同じPTN−ID=100としてパターンマップに追加し、それぞれを別管理とする。パターンマップへの追加に伴って、新たに統合IDが付与されてID管理テーブルにデータDが追加される(
図9(D))。このとき、既に同一のPTN−ID(=100)であるデータAが存在しているため、データDの統合IDはデータAと同一のIDに取り直しされる(
図9(E))。ID管理テーブルにおけるデータA、Dは、それぞれ異なるL−IDが付与されているものの、統合IDが同じであるため、それぞれが同一人物の情報として管理される。
【0053】
図10は、名寄せにおける第3の処理を示す図である。ここでは、万能テーブルの5件目に新たなデータが追加されたものとする(
図10(A))。追加されたデータEは、他の患者情報と異なるため新規にPTN−ID(=400)が付与される(
図10(B))。L−IDとPTN−IDを管理するために、パターンマップに新たにデータEが追加される(
図10(C))。パターンマップへの追加に伴って、新たに統合IDが付与されてID管理テーブルにデータEが追加される(
図10(D))。このとき、既に同一のP−ID(=4199−9990010)であるデータBが存在しているため、データEの統合IDはデータBと同一のIDに取り直しされる(
図10(E))。ID管理テーブルにおけるデータB、Eは、それぞれ異なるPTN−IDが付与されているものの、統合IDが同じであるため、それぞれが同一人物の情報として管理される。
【0054】
図11は、名寄せにおける第4の処理を示す図である。ここでは、万能テーブルの3件目に新たなデータが追加されたものとする(
図11(A))。追加されたデータCは、データBの患者情報と完全に一致しているため、新たなPTN−IDを採番しない(
図11(B))。L−IDとPTN−IDを管理するために、パターンマップに新たにデータCが追加される(
図11(C))。データBとデータCは、患者情報が同じであるため、同じPTN−ID=400となり、また、データAとデータCは、L−IDが同じであるため、同じL−IDとしてパターンマップに追加される。パターンマップへの追加に伴って、新たに統合IDが付与されてID管理テーブルにデータCが追加される(
図11(D))。このとき、既に同一のPTN−ID(=400)であるデータBが存在しているため、データCの統合IDはデータBと同一のIDに取り直しされる(
図11(E))。次に、L−IDの一致を見た場合に、データAとデータCは同じL−IDであるため(
図11(F))、データCの統合IDをデータAの統合IDに取り直す(
図11(G))。さらに、PTN−IDの一致を見た場合に、データBとデータCのPTN−IDが一致しているにも関わらず、統合IDが異なっているため(
図11(H))、データBの統合IDをデータCの統合IDに合わせて取り直す(
図11(I))。
【0055】
なお、ここでは、統合IDの取り直しする際に、若いコードを優先して行うこととしている。つまり、
図11(I)においてデータBの統合IDをデータCの統合IDに合わせて取り直したのは、若いコードを優先したからである。ただし、必ずしも若いコードを優先する必要はなく、予め決められたルールに基づく任意の一のコードを優先するようにしてもよい。
【0056】
次に、本実施形態に係るデータ構造について説明する。
図12は、本実施形態に係るテーブル構成を示す図である。本実施形態において、複数の一般システム41をCSV42に形式に変換し、万能テーブル43の各SLOTに展開する。このとき、一般システム41におけるどのフィールドがどのSLOTに対応するかを示した1
STMAP44に基づいて展開処理が行われる。万能テーブル43を元に、予め管理者が作成したマスクテーブル45に基づいて、マスタテーブル46が自動生成される。万能テーブル43のL−IDとマスタテーブル46のPTN−IDとから、パターンマップ47が生成され、このパターンマップ47に基づいて、名寄せ処理を行った場合の統合IDを管理するID管理テーブル48が生成される。
【0057】
次に、本実施形態に係るデータ生成装置の動作について説明する。
図13は、本実施形態に係るデータ生成装置の動作を示すフローチャートである。まず、データ入力部21が、複数のシステム10a〜10dからシステムデータを入力し(S1)、万能テーブル生成部22が、入力されたシステムデータをCSVに変換し、1
STMAP44に基づいて万能テーブル43を生成し、万能テーブル記憶部23に格納する(S2)。データ抽出部25が、予め作成されたマスクテーブル45をマスクテーブル記憶部24から読み出し、マスク情報にしたがって万能テーブル43の情報を抽出する(S3)。マスタテーブル生成部26は、抽出された情報のうち、同一のデータについては同一のPTN−CDで管理するようにマスタテーブル46を生成し、マスタテーブル記憶部27に格納する(S4)。
【0058】
パターンマップ生成部28が、万能テーブル記憶部24に記憶された万能テーブル43のL−IDとマスタテーブル記憶部27に記憶されたマスタテーブル46のPTN−IDとを組み合わせて対応付けたパターンマップ47を生成し、パターンマップ記憶部29に格納する(S5)。統合ID管理部30が、パターンマップ47に基づいて上記で説明した名寄せ処理を行い、統合IDを付与したID管理テーブル48を作成し、ID管理テーブル記憶部31に格納して(S6)、処理を終了する。
【0059】
このように、本実施形態に係るデータ生成装置及びデータ構造においては、様々に定義されているデータを項目名が定義されていない1つの万能テーブルで管理し、データを識別するために最低限必要となる項目に対して、当該項目に格納されているデータのみを抽出可能とするためのマスク情報が各行単位で格納されたマスクテーブルを用意し、万能テーブルの全データからマスクテーブルの各行単位に格納されたマスク情報にしたがってデータを抽出し、当該抽出された同一データを一つのデータとして管理するマスタテーブルを備えるため、マスタテーブルには万能テーブルで管理する全てのデータのマスタとなる情報のみが集約されて管理され、検索等の処理を非常に効率よく行うことが可能になる。
【0060】
また、必要に応じてマスタテーブルのデータを検索条件として、万能テーブルを詳細に検索することが可能になり、極めて膨大なビッグデータであっても必要とするデータを効率よく抽出することができる。
【0061】
さらに、共通のPTN−IDを有するデータを共通の統合IDとして管理しつつ、共通のL−IDを有するデータを共通の統合IDとして管理することで、IDのみの管理で名寄せ処理を効率よく行うことができる。
【0062】
(本発明の第2の実施形態)
本実施形態に係るデータ検索装置について、
図14及び
図15を用いて説明する。本実施形態に係るデータ検索装置は、上記第1の実施形態におけるデータ構造及び生成されたデータから所定のデータを検索するものである。
なお、本実施形態において、前記第1の実施形態と重複する説明は省略する。
【0063】
図14は、本実施形態に係るデータ検索装置の構成を示す機能ブロック図である。本実施形態に係るデータ検索装置50は、前記第1の実施形態に係るデータ生成装置1のマスタテーブル46に記憶されたマスタ情報に基づく検索条件情報51を入力する条件情報入力部52と、入力された検索条件に一致するデータの統合IDをID管理テーブル48から抽出し、抽出された統合IDのデータを万能テーブル43から抽出する検索部53と、検索部53が抽出した結果を例えばディスプレイに出力する出力部54とを備える。
【0064】
マスタテーブル46には、検索対象となる万能テーブル43のマスタ情報(必要最小限の情報)が記憶されているため、このマスタ情報を検索条件情報として利用することで、膨大なデータから必要な情報の絞り込みを行い易くなる。そして、マスタ情報に基づく検索条件から統合IDを割り出し、当該統合IDに該当するデータを万能テーブル43から抽出することで、絞り込んだデータからより詳細なデータを効率よく検索することができる。
【0065】
図15は、本実施形態に係るデータ検索装置に用いられるデータのテーブル構成を示す図である。設定された検索条件情報に基づいて、ID管理テーブル48から統合IDが抽出され、抽出された統合IDにより結合された万能テーブル43のデータが検索結果情報として出力される。
【0066】
このように、本実施形態に係るデータ検索装置においては、マスタテーブルに格納されたデータを検索条件データとして入力し、入力された前記検索条件データに基づいて、当該検索条件データと一致するデータを前記万能テーブルから抽出し出力するため、膨大な量のビッグデータであっても、必ずヒットする検索条件が設定され効率的な検索を行うことができる。
【0067】
(本発明の第3の実施形態)
本実施形態に係るデータ構造及びデータ生成装置について、
図16ないし
図19を用いて説明する。本実施形態に係るデータ生成装置は、マスクテーブル45のマスク情報に対応するSLOTのSLOT名を管理する項目定義テーブルを備えるものである。
なお、本実施形態において、前記各実施形態と重複する説明は省略する。
【0068】
図16は、本実施形態に係るデータ生成装置の構成を示す機能ブロック図、
図17は、本実施形態に係るテーブル構成を示す図である。
図16において、第2の実施形態における
図14と異なるのは、マスクテーブル記憶部24に対応付けられた項目定義テーブルを記憶する項目定義テーブル記憶部32を備えることである。また、
図17において、第2の実施形態における
図15と異なるのは、マスクテーブル45に対応する項目定義テーブル49を備えることである。
【0069】
項目定義テーブル49は、万能テーブル43のSLOT番号に意味のある情報を対応付けるためのテーブルであり、マスクテーブル45のマスク情報により対応付けがなされている。以下に、項目定義テーブル49を用いた項目名の管理方法について具体的に説明する。
図18は、項目定義テーブル及びマスタテーブルを結合して項目名を表示する場合の処理を示す図である。
図18(A)は項目定義テーブルの一例を示し、
図18(B)はマスタ情報を抽出する際の汎用画面の一例を示す。
図18(A)に示すように、マスクテーブル45のPP−IDに応じて項目名が各SLOTごとに定義されている。ここでは、PP−ID=1は患者情報、PP−ID=2は薬剤情報、PP−ID=3は検査情報を示しており、患者情報について検索する場合には、
図18(B)に示すように、PP−ID=1の情報を列名に表示することで、利用者は、マスタテーブルにおける患者情報のSLOTの中身の意味を認識することができ、使い勝手がよくなる。
【0070】
図19は、項目定義テーブルの利用方法を示す図である。
図19(A)は項目定義テーブル49の項目名が列名として表示された汎用画面を示し、
図19(B)は検索条件の設定及び検索結果を示している。
図19に示すように、利用者は、項目定義テーブルに記憶されている項目名を意識した検索条件を設定することで、必要な情報を抽出することができる。すなわち、利用者が項目名を意識することができることで、様々な情報が混在する一元化されたテーブルから必要な情報を抽出するための適切な抽出条件を効率よく設定することができる。
【0071】
このように、本発明に実施形態に係るデータ生成装置においては、マスクテーブルのマスク情報に対応する項目IDの項目名を管理する項目定義テーブルを備えるため、万能テーブルのようにあらゆるデータが項目IDのみで管理されて格納されているような場合であっても、管理者や利用者が項目定義テーブルの項目名を参照して、どのようなデータであるかを認識することが可能になり、操作性や作業効率を上げることができる。
【0072】
(本発明の第4の実施形態)
本実施形態に係るデータ構造及びデータ生成装置について、
図20ないし
図22を用いて説明する。本実施形態に係るデータ構造は、万能テーブルが、固定項目として各データごとに、例えば5W1Hの情報を有するものである。
なお、本実施形態において、前記各実施形態と重複する説明は省略する。
【0073】
図20は、本実施形態に係るデータ生成装置の構成を示す機能ブロック図、
図21は、本実施形態に係るテーブル構成を示す図である。
図20において、第3の実施形態における
図16と異なるのは、データ入力部21が、システム10a〜10dにて格納されている情報内容の実施に関連する5W1H情報(いつ、何処で、誰が(誰に)、何を、なぜ、どのように)のうち1又は複数の情報を入力し、万能テーブルを生成する際に、万能テーブル生成部22が各データごとに5W1H情報のうち1又は複数の情報を固定項目として付加することである。また、
図21において、第3の実施形態における
図17と異なるのは、一般システム41からCSV42を生成する際に、CSV42に各データごとの5W1Hの情報を固定項目として追加されていることである。
【0074】
図22は、固定項目を含む万能テーブルの情報の一例を示す図である。
図22(A)に示すように、一般システム40に格納されている「日時」〜「パターン」の情報を5W1H情報として抽出し、
図22(B)に示すように、固定項目として万能テーブル43に付加する。このような固定項目は、各SLOTの項目に関係なく、常に固定的に万能テーブルに付加される情報であり、このような情報を保持することで検索処理の幅を広げることができると共に、何か問題が起こった場合に、その原因の究明等に利用することができる。
【0075】
より具体的には、例えば、「実施日時」、「場所(排他的な要素のない場所)」、「対象者(万能テーブルに格納される情報の内容が実施される者)」、「実施者(万能テーブルに格納される情報の内容を実施する者)」、「管理者(万能テーブルに格納される情報の内容の実施を指示した者)」が固定項目として付加される。そして、情報の内容については、各SLOTに展開された情報であり、これは行為情報と言うことができる。つまり、5W1H情報のような固定項目が同じであれば(例えば、数日に亘って同じ実施行為を繰り返して行ったような場合)、実際の行為(例えば、具体的な日付)を指定することが可能となり、データの上書きや削除の検索対象とすることができる。
【0076】
このように、本実施形態に係るデータ構造においては、万能テーブルが、固定項目として各データごとに5W1Hのうち1又は複数の情報を有するため、運用面で重要な情報として活用することができる。
【0077】
(本発明の第5の実施形態)
本実施形態に係るデータ構造及びデータ生成装置について、
図23ないし
図25を用いて説明する。本実施形態に係るデータ構造は、マスタテーブルのマスタ情報に、必要に応じて付加情報を追加したものである。
なお、本実施形態において、前記各実施形態と重複する説明は省略する。
【0078】
図23は、本実施形態に係るデータ生成装置の構成を示す機能ブロック図、
図24は、本実施形態に係るテーブル構成を示す図である。
図23において、第1の実施形態における
図2と異なるのは、マスタテーブル記憶部27に記憶されたマスタテーブル46に、マスタテーブル生成部26が生成したマスタ情報以外の付加情報を追加されていることである。また、
図24において、第1の実施形態における
図12と異なるのは、マスタテーブル46に付加情報が追加され、検索情報としてそれらの情報が活用可能となっていることである。
【0079】
図25は、付加情報の具体例を示す図である。
図25(A)は、一般システム41から提供されたデータであり、万能テーブル43に格納される情報の一例を示し、
図25(B)は
図25(A)で提供されたデータについて既知の情報を格納したテーブルの一例を示し、
図25(C)は最終的に提供される情報の項目を示している。
図25(B)の既知の情報を格納したテーブルが付加情報に相当し、中身は1つのマスタ情報に特有の情報である。例えば、胃薬Aに関して既に一般的に知られていて容易に取得することができる情報として、「薬効」、「禁忌」、「販売元」といった情報があり、これらの情報は一般システム41において管理されていなくても、管理者が別途付加情報として追加することで、ユーザへの提供をより充実化することができる。
【0080】
付加情報を追加した場合の各テーブルにおける最終的な管理項目は、
図25(C)に示す通りであり、万能テーブル43に格納される情報は、
図25(A)に示すように「種別」、「薬剤名称」、「薬効1」、「薬効2」、「処方量1」、「処方量2」、「処方量3」である。マスタテーブル46に格納される情報は、一意性を示す最小のパターンであるため、「種別」、「薬剤名称」、「薬効1」、「薬効2」の4項目である。そして、最終的に検索情報として提供されるテーブルは、万能テーブル43に付加情報の項目が追加されたものであり、
図25(C)の「種別」〜「販売」までの全ての項目を有しているものとなる。このとき、各項目の項目名は、項目定義テーブル49による定義付けられるようにしてもよい。
【0081】
このように、本実施形態に係るデータ構造においては、マスタテーブルが、万能テーブルが有していない情報であって、抽出されたデータに関連する情報を付加的に格納するため、管理者側が付加的な要素を付けて情報を提供することができる。
【0082】
なお、上記各実施形態において、万能テーブル43に格納されるデータが完全に揃っていることを前提として、マスタテーブルが作成される処理を説明したが、元々の一般システム41において、必要なデータが不足していることが多々ある。その場合は、L−IDとPTN−IDとの関係を示すパターンマップ47を手動で生成するようにしてもよい。そうすることで、適正なマスタテーブル46を生成することができる。
【0083】
また、上記各実施形態における各構成要件は、任意に組み合わせることが可能であり、利用環境に応じたシステム構築が可能である。