(57)【特許請求の範囲】
【請求項１】
基礎的なデータを記録する基本データベースと明細データを記録する明細データベースとから構成されるデータベースの操作を行うデータベース操作プログラムであって，
コンピュータを，
前記基本データベース及び同一内容の明細データの個数を表すリンクカウンタを含む前記明細データベースの双方に対するデータ追加を受け付ける手段と，
前記追加すべきデータのうち前記明細データベースに追加すべきデータと前記リンクカウンタを除く全てが同一内容のレコードが存在するか否かを判定する手段と，
前記判定において前記同一内容のレコードが存在しないと判定された場合には，前記基本データベース及び前記明細データベース双方に対するデータ追加処理を行い，前記判定において前記同一内容のレコードが存在すると判定された場合には，該基本データベースに対するデータ追加処理を行うと共に該明細データベースの該同一内容のレコード内のリンクカウンタを増加させる手段と，
して動作させることを特徴とするデータベース操作プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項２】
前記データベース操作プログラムが，
コンピュータを，
前記基本データベース及び前記明細データベース双方に対するデータ削除を受け付ける手段と，
前記基本データベースの対応するレコードの削除処理を行う手段と，
前記明細データベースの対応するレコードのリンクカウンタの減少処理を行う手段と，
前記減少処理後の該リンクカウンタの値が０か否かを判定する手段と，
前記判定の結果，前記リンクカウンタの値が０であった場合には，対応するレコードの削除を処理を行う手段と，
して動作させることを特徴とする請求項１記載のデータベース操作プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項３】
基礎的なデータを記録する基本データベースと明細データを記録する明細データベースとから構成されるデータベースと，
前記基本データベース及び同一内容の明細データの個数を表すリンクカウンタを含む前記明細データベースの双方に対するデータ追加を受け付ける手段と，
前記追加すべきデータのうち前記明細データベースに追加すべきデータと前記リンクカウンタを除く全てが同一内容のレコードが存在するか否かを判定する手段と，
前記判定において前記同一内容のレコードが存在しないと判定された場合には，前記基本データベース及び前記明細データベース双方に対するデータ追加処理を行い，前記判定において前記同一内容のレコードが存在すると判定された場合には，該基本データベースに対するデータ追加処理を行うと共に該明細データベースの該同一内容のレコード内のリンクカウンタを増加させる手段と，
を備えることを特徴とするデータベース操作装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータベース操作プログラムを記録したコンピュータ読取可能な記録媒体及びデータベース操作装置に関する。
【０００２】
診療データとは患者が来院した時に実施した診察・投薬・検査等の内容を表し，医療事務システムにおいては，この診療データを元にレセプト（診療報酬明細書），統計資料等の出力が行われる。
【０００３】
この診療データは，患者毎，診療毎に発生するため膨大なデータ量となること，レセプトの再提出や，年次統計等のため長期間の保存が義務付けられていること，医療事務システムの各種の処理において読み出し，書き込みを高速に行うこと等の特徴を備えている。これらの特徴を持つ診療データに対しては，効率良く情報を格納でき，高いレスポンス性能及び単純で理解しやすいデータ構造であることなどの要求を満たすことが要求されている。
【０００４】
【従来の技術】
診療データには，次の▲１▼〜▲５▼の性格がある。
▲１▼患者毎に内容が異なる。
【０００５】
▲２▼一度でも診療を受ければ必ず発生するデータであるため，患者数に比例し，膨大なデータ量となる。
▲３▼レセプトの再提出（記載内容に誤りがある場合に再提出が求められる），年次統計等のため，診療データは長い保存期間が要求される。
【０００６】
▲４▼医療事務システムの各処理において最も基本となるデータであるため，読み出し，書き込みには高いレスポンス性能が要求される。
▲５▼一つの病気で通院している患者，症状が安定している入院患者では，毎回，同じ診療行為が実施されるため，各日の診療データには共通したデータが多い。
【０００７】
図８は従来の診療時に発生するデータの説明図である。診療をして薬が決まると，用法（のみ方）が同じ薬品をまとめてデータ入力を行うが，この時の用法が同じ（例えば，食後にのむ薬）である複数の薬品からなるグループを「剤」，個々の薬品のことを「明細」と呼ばれる。
【０００８】
図８の例では，「Ａカプセル」，「Ｂ錠」，「Ｃカプセル」は同じ用法の薬のグループで１剤として扱われ，個別の薬について，それぞれ１明細のデータが設定される。各明細のデータとしては，▲１▼診療行為マスタ名，▲２▼数量，▲３▼単位，▲４▼点数（薬価），▲５▼日数等がある。
【０００９】
図９は従来の診療データのデータベース構造を示す。図９のデータは各患者の診療に対して１カ月単位で格納され，先頭に(1) 診療年・月, (2) 入院外来区分,(3)患者番号,(4)連番（複数レコードが発生した時の後続のレコード番号）が設定され, この後に(5) 剤データ情報として一つの「剤」について(6) 〜(14)の各項目のデータが格納され，この後に更に別の剤についての情報を順番に格納できるように構成され，合計２０の剤データを格納することができる領域が予め確保されている。その後に，(15)剤カレンダ情報として，各剤に対応して１カ月の各日付を表す「１日」，「２日」，・・・「３１日」のそれぞれの日毎の投薬（使用）回数を格納する領域(16)〜(20)が設けられ，合計２０剤に対応した同じ構成（３１日の各日毎の投薬回数を格納する領域を備える）の剤カレンダ情報の格納領域が用意されている。この後に(21)明細情報を格納する領域が設けられ，各剤に属する薬品についての(22)明細・点数区分,(23) 診療行為マスタコード, (24)診療区分, (25)数量等のデータを格納し，各剤について５つの薬品が割り当てることができるよう，合計１００明細分が繰り返し格納可能な領域が割り当てられている。なお，この診療データを構成する(1) 〜(25)の全てのデータにより１レコードを構成する。
【００１０】
このように，従来の診療データのデータベース構造では，月単位，患者単位及び入院／外来毎にそれぞれレコードが異なり，１レコードで２０剤の情報，１００明細の情報を格納する領域が予め設けられ，診療データが２０剤または１００明細を超える患者の場合，複数のレコードが発生し，上記(4) の連番として１から始まる番号が格納される。
【００１１】
従来の医療事務システムの診療データを使用する場合，特に次の(1) 〜(3) のような要求があった。
(1) ディスク等のメモリ資源は有限であるが，従来の診療データの構造では，予め剤データ情報として２０個の領域を確保し，剤カレンダ情報が各剤データ情報に対応した領域を確保し，更に明細情報が各剤データ情報に対し５個用意され，合計１００個の領域を確保するため，実際には使用しない無駄な領域が多く存在し，またデータに冗長性があり，効率良く情報を格納する必要がある。
【００１２】
(2) 診療データの読み出し, 書き込み速度で医療事務システムの性能が左右されるため，高いレスポンス性能が要求される。
(3) 医療事務システムにおいてもオープンシステム化が要求されており, エンドユーザ（大病院では事務員，小規模医院では事務または医師）でも診療データを有効活用できるような単純で理解しやすいデータ構造が要求されている。
【００１３】
【発明が解決しようとする課題】
▲１▼従来の診療データの構造では一カ月の間に実施された診療内容が少ない患者の場合，レコード内に発生する無駄な領域が大きいという問題があった。この例を図１０の従来例の問題点説明図の(a) に示す。この中の剤データ情報は１つであるため，剤カレンダ情報と共に予め用意された２０個分の領域の一部しか使用されず，明細情報も１００個の中の数個の情報しか使用せず，他は無効部（空白）として無駄に占有される。
【００１４】
▲２▼一度，診療データを入力した後，明細数を増やした場合，元々格納してあったエリアに再格納できなくなり，診療データの入力順が保存できないという問題があった。この例は図１０の(b) 及び(c) に示され，(b) に示すように元の診療データの中の剤データＢの明細情報Ｂの明細数を増やした場合，Ｂのエリアの後にはＣの明細情報が格納されているため，(c) に示すように明細Ｃの後に明細Ｂのデータを格納しなければならない。このため，入力された順序が，Ａ，Ｃ，Ｂとなり元の順序と異なってしまう。
【００１５】
▲３▼レコード内に繰り返し項目があるため，近年のデータベースプログラム言語（ＳＱＬ：Structured Query Langage，４ＧＬ等）等での参照を行うことができない。具体的には従来技術の診療データでは，例えば，診療行為マスタコードを検索する場合，明細情報の１００個の繰り返し部分の全てを検索する条件式を記述しなければならなかった。そのため，オープン化されず，エンドユーザにより検索，及び加工が困難であるという問題があった。
【００１６】
本発明は上記の問題を解決するため，効率良く格納でき，読み出し書き込みのレスポンス性能を高め，エンドユーザが理解し易く検索が簡単に行えるデータベース操作プログラムを記録したコンピュータ読取可能な記録媒体及びデータベース操作装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
図１は本発明により診療データの構造を示し，Ａは剤データベースのレコード，Ｂは明細データベースのレコードを表す。
【００１８】
本発明は診療データを薬剤の用法に対応する剤データベースと各薬に対応した明細情報を格納した明細データベースの２つのファイルに分割して記録するようにした。従来の剤データ情報及び剤カレンダ情報を本発明では剤データベースに格納し，従来の明細情報は本発明では明細データベースに格納し，剤データベース及び明細データベースは，共にレコードレイアウト内から繰り返し項目を無くすことにより，一つの条件式により各項目の検索が可能となる。
【００１９】
剤データベースにはＡ．に示すような診療年(1) ，診療月(2) ，入院外来区分(3) ，患者番号(4) ，日付(5) ，剤番号(6) ，科コード(7) 等と共に剤の合計点数である点数計(12)と各患者の当該剤の内容に応じて一意的に決まる識別番号（コード計という）(13)等の各項目で構成するレコードが格納される。従って，日付が異なることにより別の剤データベースのレコードが作成される。点数計を剤データベースに格納することにより剤データベースだけで点数の集計が可能となり, 点数計とコード計を後述する明細データベースにも格納することにより両者を明確に関係付けることができる。明細の内容が全く同一で，診療データの科だけが異なる場合，剤データベースには科毎にレコードを記録するが，明細データベースには１レコードだけを格納し，診療データの記録に必要なメモリの物理的容量を減少させることができる。
【００２０】
一方，明細データベースには図１のＢ．に示す構成のレコードが格納され，項目として剤データベースと同じ，診療年，診療月，入院外来区分，患者番号，診療区分等と共にＡ．の剤データベースと共通の点数計とコード計が格納される。この中のコード計は，他の無関係なレコードのコード計と一致しないような識別情報（ＩＤ）を設定し，２つのデータベースの関連付けを点数計とコード計を用いて正確に行うことができる。
【００２１】
更に複数の剤データベースと関連付けられているかを示す「リンクカウンタ」（Ｂ．の(15)) を明細データベースに格納することにより，剤データベースの削除に対応した明細データベースの削除を簡単に行うことができる。
【００２２】
【発明の実施の形態】
図２は本発明が実施されるハード構成と診療データの具体例を示す。
図２において，１はキーボード等の入力部，２は表示部，３はマイクロプロセッサを含む処理装置，４は磁気ディスク等の記録媒体を備えるファイル装置，５は剤データベース，６は明細データベースである。また，１ａは診療データの例を示し，５，６はそれぞれ１ａの診療データに対して作成された剤データベース，明細データベースの例を示す。
【００２３】
医師により診療が行われると，診療に伴って発生した図２の１ａに示すような診療データ，すなわち，患者番号，名前，診療日付，科，医師，保険（種別）等の基礎的なデータと，その後に診療区分，診療行為マスタコード，診療行為，数量，単位，点数×回数の合計の各データが発生し，これらのデータが入力部（図２の１）から入力される。処理装置３はこれらの各入力の項目に応じて，剤データベースのレコードと明細データベースのレコードを作成し，それぞれをファイル装置４の剤データベース５と明細データベース６に格納する。
【００２４】
図２の入力データ１ａの場合，基礎的なデータと診療区分２１に対応する同じ剤データとして，診療行為マスタコード１００，２００，３００に対応する各診療行為（Ａカプセル，Ｂ錠，Ｃカプセル），数量，単位，及び点数×回数（日数）が入力され，診療区分２３として別の剤データとして診療行為マスタコード４００，５００に対応する各診療行為（Ｄ軟膏，Ｅクリーム），数量，単位，及び点数×回数が入力される。この入力に応じて，処理装置（図２の３）は，５に示すように各剤に対応する２つのレコードを作成して剤データベースに格納すると共に，６に示すように各明細に対応する５つのレコードを作成して明細データベースに格納する。
【００２５】
この例の剤データベース５と明細データベース６のそれぞれに点数計として剤番号００１について「１９」，剤番号００２について「２５」が格納され，コード計は，各剤の内容に基づいてその剤を他の剤と異なることを確認するための識別番号（コード計）を付与する。
【００２６】
図３はコード計（識別番号）の決定方法の例を示す。図３の例では，最初に変数ｗ２を“０”に設定し（図３のＳ１），変数ｗ１として，薬剤の数量の整数部＋数量の小数部を求め（同Ｓ２），ｗ２＋ｗ１をｗ２に代入する。なお，小数部は，薬剤が液体の場合等に発生する（例えば，５．４ｍｇ）。この後，ｗ１が１より小さいか判別し，小さい場合はｗ１＝１に設定し（図３のＳ５），次にｗ２＋診療行為マスタコード×ｗ１を求めてｗ２に代入する（同Ｓ６）。次に同じ剤に属する他の薬があるか判別し（図３のＳ７），ある場合はその明細（薬）について，Ｓ２〜Ｓ６の処理を実行して，全ての明細について終了すると変数ｗ２の内容がその剤についてのコード計となる。図２のコード計「１００５」と「３７０８」はこの方法により決定されたものである。
【００２７】
コード計は，当該剤に関するデータを用いて他の方法によっても求めることができることは明らかである。
このように点数計，コード計を各データベース記録することにより，剤データベースから明細データベースの読み出し，またはその逆の操作が１回の操作で行うことが可能となる。
【００２８】
明細データベースの１レコードの内容が全く同一で，診療データの科だけが異なるような場合，剤データベースには科毎にレコードを記録するが，明細データベースには複数の剤データベースに対し１レコードだけを記録する。このため，明細データベースには幾つの剤データベースと関連付けされているかを示す「リンクカウンタ」（図１のＢ．の(15)参照) を設ける。
【００２９】
図４は点数計の集計を求める場合の処理内容の例を示す図である。本発明による診療データを用いて，点数計を集計する場合，図４の剤データベース２０の各レコードの各情報（入院／外来，患者番号，科，診療区分，等）を参照して，特定の患者の１カ月間における点数計を集計することができる。その場合，処理装置（図２の３）において，特定の患者番号の剤データベース２０を検索し，科，診療区分から各科毎の各項目別の点数計を集計して点数集計表２１を作成し，これを表示部（図２の２）に表示したり，プリンタ（図２では図示省略）により印字出力することができる。
【００３０】
図５は剤データベースと明細データベースのリレーションを示す。図５において剤データベース２２のレコードと明細データベース２３のレコードとは，両端に矢印を持つ実線で示すように，診療年月，入院／外来の種別，患者番号，剤番号と共に，点数計とコード計を含む各項目で一致が得られることで，両者が関連することが保証される。何れか一つが一致しないと両者の間に関係が無い。
【００３１】
図６は日付と科が異なる同一内容の剤データが発生した時の格納データの構成を示す図である。
図６の２４は最初に発生した診療データ，２５は診療データ２４より後の日付で科も異なって発生した診療データ，２６，２７はそれぞれ２４，２５の診療データに対して作成された剤データベース，明細データベースである。
【００３２】
最初に診療データ２４を入力することにより，処理装置３は剤データベース２６の先頭のレコード２６ａを作成すると共に，各薬品に対応する明細データ２７ａ〜２７ｃからなる明細データベース２７を作成する。但し，この時，リンクカウンタの数値は図６では図示省略されているが“１”である。この後，同じ患者に対して別の日付，別の科において診療データ２５が発生し，これを入力すると処理装置３は，剤データベース２６にレコード２６ｂを作成する。この時，入力された薬品に対応する明細のデータ，すなわち診療区分，診療行為マスタコード，診療行為（Ａカプセル，Ｂ錠，Ｃカプセル），各薬の数量，点数計，コード計が全て一致する１セットの明細データ（レコード）２７ａ〜２７ｃが既に記録されていることを検出すると，診療データ２５に対応する明細データベースは新たに作成せず，同じ内容の１セットのレコード２７ａ〜２７ｃのリンクカウンタの数値をそれぞれ＋１して，図示省略されているがそれぞれ“２”に設定する。これにより，同じ明細データベースのレコードに関連付けられた剤データベースのレコードが２つ存在することを表示する。
【００３３】
図７は診療データの削除の処理フローである。
最初に剤データベースのレコードを削除し（図７のＳ１），次に当該剤データベースのレコードと関係する（図５のリレーションを持つ）明細データベースのレコードを読み出す（同Ｓ２）。この明細データベースのレコードのリンクカウンタをデクリメント（−１）する（図７のＳ３）。次にリンクカウンタが０か判別し（同Ｓ４），０の場合にはこの明細データベースのレコードを削除し（同Ｓ５），０でない場合は終了する。
【００３４】
このように処理することにより，明細データベースの１レコードが剤データベースの複数レコードと関連付けられている場合でも，明細データベースを削除することが可能となる。
【００３５】
【発明の効果】
本発明によれば次のような効果を奏する。
▲１▼診療データの構造を簡略化することにより，診療データに記録されている情報の検索や，集計が容易に行うことができ，ＳＱＬ等の汎用的な方法により行うことができる。
【００３６】
▲２▼診療データの明細まで必要としないような処理（診療点数の科別，医師別等）が剤データベースだけで可能になる。
▲３▼点数計，コード計によりレコードの区別，関連付けを容易に行うことができる。
【００３７】
▲４▼診療データの記録に必要なメモリの物理的容量を減少させることが可能となる。
【図面の簡単な説明】
【図１】本発明により診療データの構造を示す図であり，Ａ．は剤データベース，Ｂ．は明細データベースを表す。
【図２】本発明が実施されるハード構成と診療データの具体例を示す図である。
【図３】コード計（識別情報）の決定方法の例を示す図である。
【図４】点数計の集計を求める場合の処理内容の例を示す図である。
【図５】剤データベースと明細データベースのリレーションを示す図である。
【図６】日付と科が異なる同一内容の剤データが発生した時の格納データの構成を示す図である。
【図７】診療データの削除の処理フローを示す図である。
【図８】従来の診療時に発生するデータの説明図である。
【図９】従来の診療データのデータベースの構造を示す図である。
【図１０】従来例の問題点説明図である。
【符号の説明】
Ａ    剤データベースのレコード
Ｂ    明細データベースのレコード
【図１】
0003878290.tif 000002
【図２】
0003878290.tif 000003
【図３】
0003878290.tif 000004
【図４】
0003878290.tif 000005
【図５】
0003878290.tif 000006
【図６】
0003878290.tif 000007
【図７】
0003878290.tif 000008
【図８】
0003878290.tif 000009
【図９】
0003878290.tif 000010
【図１０】
0003878290.tif 000011