以下、添付図面を参照して本発明の実施例を説明する。各添付図面において、機能的に同じ要素は同じ参照番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装や形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく追加または削除などの構成または構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼働するソフトウェアで実装しても良いし、専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
また、各機能を実現するプログラムや、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現される必要はなく、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以下では、特徴量計算部122等の各処理部を主語(処理主体)として、本発明の実施形態における各処理について説明を行うが、各処理部はプログラムによって実現可能である。このようなプログラムはプロセッサ(演算装置)によって実行されることで、所定の処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。
また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
本実施例では、本発明の基本的な一例として、特徴量計算機能が、特徴量計算部122として実装される例を説明する。特徴量計算部122では、分析対象とするカテゴリ変数の要素に該当するデータ群に共通して含まれる項目と、同データ群に独立して含まれる項目と、分析対象とするカテゴリ変数の要素に該当しないデータ群に独立して含まれる項目にそれぞれ重み付けを行い、特徴量を算出する。
なお、カテゴリ変数は、質的変数を含むことができるが、本実施例では、分析の条件として扱う。すなわち、分析の条件として1以上の項目と、1以上の項目の要素をデータ群から指定することができる。また、項目の要素は、質的変数に加えて量的変数で指定することができる。項目の要素は、数値や文字列を含む。
これによって、特徴量計算部122は、指定されたカテゴリ変数と項目の値が同じで、かつ内容(項目の要素)が類似するデータが高い類似度を有するような特徴量を算出することができる。また、重み付けにおいて特徴量に与えられる重みの値は、指定されたカテゴリ変数の値に該当するデータの出現頻度や、前述の項目を含むデータの出現頻度に応じた大きさの重みが与えられる。これによって、特徴量計算部122は、分析対象のデータ群の中でも一部にしか出現しない等、出現傾向に特徴のある項目に大きな特徴量を与えることができる。
なお、以下の説明では、指定されたカテゴリ変数の値に該当するデータは、指定された分析条件(項目及び要素)を満たすデータ(レセプト)を指す。
可視化部125では、類似度が高いデータが近い位置に配置され、データの特徴量を可視化したヒートマップと、クラスタリングによる各データの類似度と併合過程を表現する樹状図を同時に可視化する手法を用いる。これによって、データが他のどのデータとどの程度類似しているかを分析者が理解しやすくなる。
レセプト(診療報酬明細書)情報は、健康保険の加入者が医療機関を受診した際の傷病名や、処方された医薬品、実施された診療行為、及び医療費(点数)が記録された情報であり、その一例は図2を用いて後述する。
なお、処方された医薬品や、実施された診療行為、及び診療行為の実施において使用された特定器材を医療行為と総称する。また、特に説明がない限り、レセプト情報には付箋の履歴情報や、補正データなどのレセプトの審査過程で付加される情報も含むものとする。また、レセプト情報には診療行為や医薬品など一部の情報が存在しない場合もある。
本実施例では、分析対象とするデータ群がレセプト情報であり、レセプト情報に含まれる各種情報から、特徴量計算部122が各レセプトの特徴量を算出する。そして、類似度情報計算部123及びクラスタリング部124がレセプト間の類似度を計算してクラスタリングを行い、クラスタリングの結果を用いて診療行為と審査結果が類似するレセプトをわかりやすく可視化する方法を提供する。なお、実施例では扱うデータをレセプト情報としているが、本発明の対象はレセプト情報に限定されない。
<データ分析支援システムの構成>
図1は、本発明の実施例によるデータ分析支援システム100の構成の一例を示すブロック図である。
本発明の実施例のデータ分析支援システム100は、データ分析装置110と、データベース130と、を有する。データ分析装置110は、入力部111と、出力部112と、記憶媒体113と、メモリ114と、演算装置115と、を有する。
入力部111は、マウスや、キーボード、タッチパネル、マイク等のヒューマンインタフェースであり、データ分析装置110への入力を受け付ける。出力部112は、データ分析支援システム100による演算結果を出力するディスプレイやプロジェクタ等のヒューマンインタフェースである。
記憶媒体113は、データ分析支援システム100によるデータ分析処理を実現する各種プログラム、及びデータ分析処理の実行結果等を格納する記憶装置であり、例えば、不揮発性記憶媒体(磁気ディスクドライブ、不揮発性メモリ等)である。メモリ114には、記憶媒体113に格納されているプログラムやデータがロードされる。
演算装置115は、メモリ114にロードされたプログラムを実行する装置(プロセッサ)であり、例えば、CPU、GPUなどである。以下に説明する処理及び演算は、演算装置115が実行する。
演算装置115によって実行されるプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して各サーバに提供され、非一時的記憶媒体である不揮発性記憶装置に格納される。このため、計算機システムには、リムーバブルメディアを読み込むインタフェースを設けるとよい。
データ整形部121と、特徴量計算部122と、類似度情報計算部123と、クラスタリング部124と、可視化部125の各機能部はプログラムとして記憶媒体113に格納され、メモリ114にロードされてから演算装置115によって実行される。
演算装置115は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、演算装置115は、データ整形プログラムに従って処理することでデータ整形部121として機能する。他のプログラムについても同様である。
データベース130は、データ記憶部131と、整形情報記憶部132と、類似度情報記憶部133と、を有している。なお、データベース130は、データ分析装置110に接続された記憶装置に格納されても良いし、外部の計算機によって提供されても良い。
データ記憶部131は、入力部111に入力されたデータの他、分析に使用する各種データを格納する。本実施例において、データはレセプト情報であり、レセプト基本情報200(図2)と、傷病名情報300(図3)と、診療行為情報400(図4)と、医薬品情報500(図5)と、特定器材情報600(図6)と、傷病名分類情報700(図7)と、審査結果情報800(図8)、を含む。
ただし、各種情報200乃至800は実施例を説明するための一例であり、データの構成はこれらに限定されない。また、各種情報200乃至800がすべて含まれる必要はなく、分析対象とするカテゴリ変数と、分析対象のカテゴリ変数以外の変数またはデータが最低一つ以上含まれればよい。
整形情報記憶部132は、データ整形部121及び特徴量計算部122のいずれか、もしくは両機能部によってデータ記憶部131に記憶されているデータを整形したデータが保存されている。
類似度情報記憶部133は、類似度情報計算部123によって整形情報記憶部132に記憶されているデータが処理され生成された類似度情報が保存されている。クラスタ情報記憶部134は、類似度情報記憶部133に記憶されている類似度情報のデータをクラスタリングした結果として得られるクラスタ情報が保存されている。なお、前述した各機能部は、ソフトウェアとして実現されているが、これらの機能の一部又は全てを演算装置115等のハードウェアを用いて実現されてもよい。
また、データベース130に記憶されているデータを、データ整形部121、特徴量計算部122、類似度情報計算部123、クラスタリング部124又は可視化部125にて処理した結果である処理後データは、データベース130に保持する必要はなく、記憶媒体113もしくメモリ114に保持してもよい。
データ分析支援システム100は、一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで稼働してもよく、複数の物理的計算機資源上に構築された仮想計算機上で稼働してもよい。また、サーバ及びクライアント端末で構成された計算機システムでもよい。
以下、各種情報レセプト基本情報200乃至審査結果情報800、及び各データ整形部121乃至可視化部125について詳細に説明する。
<レセプト情報>
図2は、レセプト基本情報200の構成の一例を示す図である。レセプト基本情報200は、レセプトと、レセプトに記載された医療を受けた患者との対応関係を保持する情報である。
レセプト基本情報200は、検索番号201と、性別202と、年齢203と、診療年月204と、合計点数205と、審査年月206をエントリの構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子である。性別202は、当該レセプトに記載された医療行為を受けた患者の性別である。年齢203は、当該レセプトに記載された医療を受けた患者の年齢である。また、年齢203には、患者の生年月日を記載してもよい。
診療年月204は、患者が医療機関で受診した年及び月である。診療年月204には年月の他、患者が医療機関で受診した年月日を記載してもよい。合計点数205は、一件のレセプトの合計点数を示す情報である。なお、合計点数に「10」を乗じると医療費(円)の金額が算出される。すなわち、本実施例のレセプト基本情報200は、患者毎に毎月の医療費を集計したテーブルである。審査年月206は、該当レセプトが審査機関に提出されて審査を受けた年月である。
<傷病名情報>
図3は、傷病名情報300の構成の一例を示す図である。傷病名情報300は、検索番号201と、傷病名コード301と、傷病名302と、修飾語コード303と、修飾語304と、をエントリの構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。傷病名コード301は、レセプトに記載される傷病名コードである。
傷病名302は、当該傷病名コードに対応する傷病の名称である。修飾語コード303は、当該傷病名コードに関する情報を付加するコードである。修飾語304は、当該修飾語コード303に対応する修飾語の名称である。
<診療行為情報>
図4は、診療行為情報400の構成の一例を示す図である。診療行為情報400は、検索番号201と、診療行為コード401と、診療行為名402と、診療行為点数403と、診療行為数量404と、診療行為回数405と、を構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。
診療行為コード401は、レセプトに記載された診療行為を識別するための識別子である。診療行為名402は、当該診療行為コードに対応する診療行為の名称である。診療行為点数403は、当該診療行為の保険点数を示す情報である。診療行為数量404は、当該診療行為に関する数量を示す情報である。診療行為回数405は当該診療行為を実施した回数を示す情報である。
なお、1件のレセプトには、複数の診療行為名が記載可能である。図4では、例えば、検索番号201が「K0001」のレセプトには、診療行為A、診療行為B及び診療行為Cの診療行為名402が記載されている。
<医薬品情報>
図5は、医薬品情報500の構成の一例を示す図である。医薬品情報500は、検索番号201と、医薬品コード501と、医薬品名502と、医薬品点数503と、医薬品使用量504と、医薬品回数505と、を構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。
医薬品コード501は、レセプトに記載された医薬品を識別するための医薬品コードである。医薬品名502は、レセプトに記載された医薬品の名称である。医薬品点数503は、医薬品の保険点数を示す情報である。医薬品使用量504は当該医薬品を使用した数量を示す情報である。医薬品回数505は当該医薬品を使用した回数を示す情報である。
なお、1件のレセプトには、複数の医薬品名が記載可能である。図5では、例えば、検索番号201が「K0001」のレセプトは、医薬品A、医薬品B及び医薬品Cの医薬品名502が記載されている。
<特定器材情報>
図6は、特定器材情報600の構成の一例を示す図である。特定器材情報600は、検索番号201と、特定器材コード601と、特定器材名602と、特定器材点数603と、特定器材使用量604と、特定器材回数605と、を構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。
特定器材コード601は、レセプトに記載された特定器材を識別するための特定器材コードである。特定器材名602は、レセプトに記載された特定器材の名称である。特定器材点数603は、特定器材の保険点数を示す情報である。特定器材使用量604は当該特定器材を使用した数量を示す情報である。特定器材回数605は当該特定器材を使用した回数を示す情報である。
なお、1件のレセプトには、複数の特定器材名が記載可能である。図6では、例えば、検索番号201が「K0002」のレセプトは、特定器材A、特定器材B及び特定器材Cの特定器材名が記載されている。
<傷病名分類情報>
図7は、傷病名分類情報700の構成の一例を示す図である。傷病名分類情報700は、傷病分類と当該傷病分類に属する傷病名とを対応付ける情報であり、傷病分類701と、傷病名コード301と、を構成項目として含んでいる。
傷病分類701は、各傷病が属する分類であり、例えばICD−10コードや疾病分類コードを用いてもよい。傷病名コード301は、レセプトに記載される傷病名コードであり、傷病名情報300の傷病名コード301と同じ番号を用いる。
<審査結果情報>
図8は、審査結果情報800の構成例を示す図である。審査結果情報800は、レセプト中で修正、追加、又は削除が行われたレコードを対応付ける情報であり、検索番号201と、増減点事由コード801と、増減点数802と、連絡情報803と、を構成項目として含んでいる。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。
増減点事由コード801は、レセプト中で修正、追加、又は削除が行われたレコードに対し、その変更が行われた理由を表す。増減点数802は、当該レセプトの審査結果で保険点数が変化した場合における点数の増加量または減少量である。連絡情報803は、審査機関が当該レセプトを生成した医療機関に対して連絡する、審査結果を補足する情報であり、審査結果の理由等を含む。
<データ整形処理の詳細>
次に、データ整形部121の処理について説明する。データ整形部121はデータ記憶部131に記憶されている各種データを、各データに記録された識別子などを用いて突き合わせを実施して、情報を集計または統合し、識別子毎に1件(1レコードまたは1エントリ)のデータの情報(整形情報)で表現する表形式に整形する。
本実施例では、審査機関に提出されたレセプトのうち、レセプト基本情報200、傷病名情報300、診療行為情報400、医薬品情報500、特定器材情報600及び審査結果情報800をデータ整形部121が集計または統合し、一行につき検索番号一件分のレセプトの情報を表現する表形式に整形する。
整形処理は、所定の条件に該当するレセプトのみを対象としてもよい。所定の条件は、検索番号、審査年月、指定する診療行為コードが記載されたレコードを含むレセプト、等により設定されるが、ここに挙げた条件に限定されない。
以下では、2016年1月から2016年12月までに提出されたレセプト、すなわち2016年のレセプトを対象とする条件で、データ整形部121が集計または統合したものとして説明するが、条件とする期間は別の期間でもよい。また、集計処理の過程は以下の方法に限定されるものではない。
図9は、レセプト整形情報900の構成の一例を示す図である。図9を用いて、データ整形部121の処理を説明する。
レセプト整形情報900は、レセプト情報を整形したレセプト整形情報を含むものである。レセプト整形情報900の各行は、例えば、分析対象のレセプト100件に対応する情報を集計したものである。
検索番号201と、審査年月206、性別202、年齢203及び合計点数205は、それぞれ、レセプト基本情報200の検索番号201、審査年月206、性別202、年齢203及び合計点数205と同じ情報である。
審査結果901は、分析対象のレセプトにおける審査結果情報800の情報から、レセプト毎に該レセプトの審査結果を「請求通り」又は「査定」の2つに分類したカテゴリ変数である。
なお、本実施例は、カテゴリ変数としてレセプト整形情報900の審査結果901を指定し、カテゴリ変数の値(要素)を「査定」または「請求通り」のいずれかに設定する例を示すが、これに限定されるものではない。
増減点事由902は、分析対象のレセプトにおける審査結果情報800の情報から、レセプト毎に該レセプトの増減点事由コードを集計し、記載のある増減点事由コードをリスト化したものである。
なお、本実施例では、データ整形部121がレセプト整形情報900を生成する際に、審査結果情報800に検索番号201が登録されているレコードについては、審査結果901を「査定」に設定し、検索番号201が登録されていないレコードについては、審査結果901を「請求通り」に設定する例を示す。
傷病名コードD1000_カウント911は、検索番号201毎に、傷病名情報の傷病名コードに「D1000」の記載があるレコードの数である。傷病名コードD2000_カウント912は、検索番号201毎に、傷病名情報の傷病名コードに「D2000」の記載があるレコードの数である。
診療行為コードS1000_カウント913は、検索番号201毎に、診療行為情報の診療行為コードに「S1000」の記載があるレコードの数である。診療行為コードS2000_カウント914は、検索番号201毎に、診療行為情報の診療行為コードに「S2000」の記載があるレコードの数である。
医薬品コードY1000_カウント915は、検索番号201毎に、医薬品情報の医薬品コードに「Y1000」の記載があるレコードの数である。医薬品コードY2000_カウント916は、検索番号201毎に、医薬品情報の医薬品コードに「Y2000」の記載があるレコードの数である。
特定器材コードT1000_カウント917は、検索番号201毎に、特定器材情報の特定器材コードに「T1000」の記載があるレコードの数である。特定器材コードT2000_カウント918は、検索番号201毎に、特定器材情報の特定器材コードに「T2000」の記載があるレコードの数である。
なお、レセプト整形情報900は図9に示す構成に限定されず、必要に応じて構成要素が増えてもよく、また構成要素を減らしてもよい。例えば、診療行為情報400、医薬品情報500及び特定器材情報600の各情報の点数をレセプト毎に合計した合計点数を構成に含んでいてもよい。
以下、データ整形部121の処理について、分析対象のレセプト情報を整形する場合を具体的に説明する。
(i)レコード集計処理
まず、データ整形部121は、レセプト基本情報200から1つの検索番号を選択する。次に、データ整形部121は、審査結果情報800を参照して、当該検索番号のレコードの増減点事由コード801及び増減点数802の値を判定する。すなわち、データ整形部121は、増減点事由コード801が一つ以上記載されており、かつ増減点数802の合計が負、すなわち該当レセプトの合計点数が減少している場合に、該当レセプトの審査結果を「査定」とする。
また、データ整形部121は、前述の条件を満たさないレセプトの審査結果を請求通りとしている。データ整形部121は、これらの結果を、選択された検索番号の審査結果901に登録する。さらに、データ整形部121は、増減点事由902に、増減点事由コード801に記載のある増減点事由コードをリストとして登録する。
例えば、図9に示すレセプト整形情報900において、1行目の検索番号「K0001」に関して、審査結果情報800からは該当検索番号のレコードが存在しない。そのため、データ整形部121は、検索番号「K0001」の審査結果として「請求通り」を登録する。
一方、図9に示すレセプト整形情報900において、2行目の検索番号「K0002」については、データ整形部121で、審査結果情報800からは増減点事由コード「A」かつ増減点数が「−300」のレコードと、増減点事由コード「B」かつ増減点数が「−600」のレコードが取得できる。
データ整形部121は、審査結果情報800における検索番号「K0002」のレコードを全件参照すると、増減点事由コードが1件以上存在し、かつ増減点数の合計が−900と負の数であることから、検索番号「K0002」の審査結果として「査定」を登録する。
また、データ整形部121は、増減点事由902には増減点事由コードにおいて記載があった「A」と「B」をリスト化し、「A,B」として登録する。
さらに、データ整形部121は、傷病名情報300を参照して、傷病名コード毎に、当該傷病名コードが記載された当該検索番号のレコード数を数える。これによって、データ整形部121は、傷病名コード毎に、当該検索番号のレセプトに記載された数を取得する。
同様に、データ整形部121は、診療行為情報400を参照して、該当レセプト中の診療行為コード毎のレコード出現数をカウントし、医薬品情報500を参照して、該当レセプト中の医薬品コード毎のレコード出現数をカウントし、特定器材情報600を参照して、該当レセプト中の特定器材コード毎のレコード出現数をカウントする。これにより、選択された検索番号のデータ行が生成される。
例えば、図9に示すレセプト整形情報900において、データ整形部121では、1行目の検索番号「K0001」のデータは、診療行為情報400から診療行為コード「S1000」及び「S2000」が取得できる。
診療行為情報400において、検索番号「K0001」に該当する診療行為コード「S2000」は二つ出現し、「S1000」は一つ出現するため、レセプト整形情報900の一行目の診療行為コードS2000_カウント914の欄には「2」が登録される。
また、診療行為コードS1000_カウント913の欄には「1」が記録される。出現しなかった傷病名コード_カウント、診療行為コード_カウント、医薬品コード_カウント及び特定器材コード_カウントの欄には「0」が登録される。
データ整形部121は、以上の処理を、分析対象となる全ての検索番号201に対して行う。
ここで、データ整形部121が、レセプト整形情報900を生成する際に、類似の複数項目を統合してもよい。例えば、傷病名の項目(911、912)のうち、傷病名「D1000」の病態と傷病名「D2000」の病態とが類似している場合、これらを纏めて1つの項目として扱ってもよい。
このとき、同一レセプト中の傷病名「D1000」を含むレコードの出現回数と傷病名「D2000」を含むレコードの出現回数とを加算した値を、新しく纏めた項目の値とする。項目が類似するかを判断するための基準は、例えば、以下の方法がある。
傷病名分類情報700で同一傷病名分類に属する傷病名コード301または傷病名を類似項目とする。また、予め類似項目情報を人手により生成しておく。この統合処理により、分析対象となる項目の数が削減されるため、以降の処理における計算量の低下が期待される。
図10は、レセプト整形情報の傷病名コード301を、図7に示す傷病名分類情報700における傷病分類701に置き換えたレセプト整形情報1000の例を説明する図である。
図10の、傷病分類を用いたレセプト整形情報1000において、傷病分類DG100_カウント1001は、検索番号201毎に、傷病分類DG100に該当する傷病名コードのレコードが出現する回数を表す。また、傷病分類DG200_カウント1002は、検索番号201毎に、傷病分類DG200に該当する傷病名コードのレコードが出現する回数を表す。
図7の傷病名分類情報700を参照すると、傷病名コード「D1000」及び傷病名コードD「2000」は、傷病分類「DG100」で置き換えることができ、傷病分類「DG100_カウント1001」の値は、図3において各検索番号201に関する傷病名コード「D1000」のレコード出現数及び傷病名コード「D2000」のレコード出現数を加えた値である。
例えば、図3において、検索番号「K0001」の傷病名コード「D1000」のレコード出現数は1であり、かつ傷病名コード「D2000」のレコード出現数は1であるため、図10における該当検索番号の傷病分類「DG100_カウント1001」の値は、それらの合計である「2」が登録される。
(ii)ビット化処理
上記(i)レコード集計処理の後、データ整形部121は、レセプト整形情報1000の各情報のレコードの出現回数を、レコード出現の有無を示す情報に置き換えるビット化処理を実施する。
すなわち、データ整形部121は、レコードの出現回数が1以上の(傷病が診断された、もしくは医療行為を行った)場合を値=「1」として纏め、傷病名情報300に傷病名コード「D1000」が記載されたレコードが出現したか否かを表す。傷病名コードD2000_出現1102は、各検索番号201毎に、傷病名情報300に傷病名コード「D20002」が記載されたレコードが出現したか否かを表す。
診療行為コードS1000_出現1103は、各検索番号201毎に、診療行為情報400に診療行為コード「S1000」が記載されたレコードが出現したか否かを表す。診療行為コードS2000_出現1104は、各検索番号201毎に、診療行為情報400に診療行為コード「S2000」が記載されたレコードが出現したか否かを表す。
医薬品コードY1000_出現1105は、各検索番号201毎に、医薬品情報500にコード「Y1000」が記載されたレコードが出現したか否かを表す。医薬品コードY2000_出現1106は、各検索番号201毎に、医薬品情報500にコード「Y2000」が記載されたレコードが出現したか否かを表す。
特定器材コードT1000_出現1107は、各検索番号201毎に、特定器材情報600にコード「T1000」が記載されたレコードが出現したか否かを表す。特定器材コードT2000_出現1108は、各検索番号201毎に、特定器材情報600にコード「T2000」が記載されたレコードが出現したか否かを表す。
データ整形部121は、まず、レセプト整形情報900を参照し、検索番号201から1つの検索番号を選択する。次に、データ整形部121は、図9の傷病名コードD1000_カウント911を参照し、登録されている数値が1以上であれば「1」を、数値が0であれば「0」を傷病名コードD1000_出現1101に登録する。
同様にして、データ整形部121は、図9の傷病名コードD2000_カウント912を参照して、傷病名コードD2000_出現1102に2値の情報を登録し、診療行為コードS1000_カウント913を参照して、診療行為コードS1000_出現1103に2値の情報を登録する。
また、データ整形部121は、図9の診療行為コードS2000_カウント914を参照して診療行為コードS2000_出現1104に2値の情報を登録し、図9の医薬品コードY1000_カウント915を参照して、医薬品コードY1000_出現1105に2値の情報を登録する。データ整形部121は、図9の医薬品コードY2000_カウント916を参照して医薬品コードY2000_出現1106に2値の情報を登録する。
データ整形部121は、図9の特定器材コードT1000_カウント917を参照して特定器材コードT1000_出現1107に2値の情報を登録し、特定器材コードT2000_カウント918を参照して特定器材コードT2000_出現1108に2値の情報を登録する。
例えば、図9に示すレセプト整形情報900において、検索番号「K0001」の診療行為コードS2000_カウント914は「2」、すなわち1以上となっているため、図11に示すレセプト整形情報1100における診療行為コードS2000_出現1104には2値化された「1」が登録される。
以上の(i)及び(ii)の処理によって、データ整形部121は、レセプト整形情報900、1000、1100を生成することができる。図9、図10及び図11に示す、生成されたレセプト整形情報は、データベース120の整形情報記憶部132に記憶される。
なお、レセプト整形情報900の値は、各情報のレコードの数で集計した後に、(ii)ビット化処理によりレコード出現の有無を示す情報に変化させたが、(i)レコード集計処理の段階で各検索番号の各項目のレコード出現の有無を示す情報として取得してもよい。
すなわち、データ整形部121が、(i)レコード集計処理の段階で各検索番号201の各項目についてレコードの出現回数が1以上の(傷病が診断された、もしくは医療行為を行った)場合を「1」として纏め、レコードの出現回数が0の(傷病が診断されていない、もしくは医療行為を行われていない)場合を0として、2値で表してもよい。
また、レセプト整形情報1100の値は、各項目のレコードの出現の有無の情報としたが、(ii)ビット化処理を行わないものを最終的なレセプト整形情報の値としてもよい。すなわち、(i)レコード集計処理で得られたレコード出現回数をレセプト整形情報の値としてもよい。
また、レコードの出現回数が重要度を表す場合は、レセプト整形情報1100の値は、レコードの出現回数を段階に分類した値としてもよい。例えば、レコードの出現回数が0回の場合を0とし、レコードの出現回数が1〜4回の場合を1とし、レコード回数が5回以上の場合を2とするなど、3段階で表してもよい。この場合、分類された項目はカテゴリ変数として扱うことができる。
また、レセプト整形情報900の年齢203などの連続値は、項目の状態数を減らすために、またはカテゴリ変数として表現可能にするために、離散化しておいてもよい。例えば、年齢は5年毎に表示して、40〜44歳までを42、45〜49歳までを47などとして、その区間の数値を代表する値に変換しておいてもよい。
<特徴量計算処理の詳細>
続いて、特徴量計算部122で行われる処理の一例について説明する。特徴量計算部122は、レセプト整形情報1100の各項目に登録された値を特徴量とし、さらに分析対象とするカテゴリ変数の要素に該当するレセプトにおいて、各項目の出現条件及び出現頻度に応じた重み付けを行う。これによって、特徴量計算部122は、指定されたカテゴリ変数の値が同じで、かつ内容が類似するデータが高い類似度を有するような特徴量を算出することができる。
図12は、重み付け処理の一例を示すフローチャートである。この処理は、データ整形部121の処理が完了した後に、特徴量計算部122で行われる。
重み付け処理1200は、分析対象のレセプト群に共通する項目の有無判定処理1201と、分析対象のレセプト群にのみ存在する項目の有無判定処理1202と、分析対象外のレセプト群にのみ存在する項目の有無判定処理1203と、出現頻度に係る重み計算処理1204と、正規化処理1205と、で構成される。
(項目重み付け)
分析対象のレセプト群に共通する項目の有無判定処理1201は、カテゴリ変数の値が指定の値に該当するレセプト群において、共通して含まれる項目が存在する場合、該当項目の特徴量に重み付け処理1211を行う。換言すれば、特徴量計算部122は、分析の条件である審査結果901が「査定」に該当するレセプト群の各項目の要素(特徴量)に対して重み付け処理1211を実施する。
また、分析対象のレセプト群にのみ存在する項目の有無判定処理1202は、カテゴリ変数の値が指定の値に該当するレセプト群において、指定の値に該当するレセプト群には含まれており、指定の値に該当しないレセプト群には含まれない項目が存在する場合、該当項目の特徴量に重み付け処理1212が行われる。
また、分析対象外のレセプト群にのみ存在する項目の有無判定処理1203で該当する項目が存在する場合、該当項目の特徴量に重み付け処理1213が行われる。換言すれば、分析条件に該当するレセプト群には出現しない項目の要素に対して重み付け処理1213が行われる。
続いて、重み付け処理1211、重み付け処理1212及び重み付け処理1213において行われる各重み付け処理について説明する。
重み付け処理1211、重み付け処理1212及び重み付け処理1213において、重みの値は下記の数式1または数式2の値を用いる。
式(1)において、Wは重みの値を表し、Nはクラスタリング対象となるレセプトの件数(合計)を表し、niは該当項目を含むレセプトの件数を表す。式(1)は該当項目を含むレセプトの件数に依存して重みの値が変動するため、出現傾向が特徴的な項目であるほどより大きな重みが与えられる。N≧niであることから、Wが取りうる値はW≧1となる。
また、式(2)において、Wは重みの値を表し、nuは分析対象とするカテゴリ変数の要素に該当しないレセプトの件数を表し、noは分析対象とするカテゴリ変数の要素に該当するレセプトの件数を表す。
式(2)は該当項目を含むレセプトの件数に依存せず、対象とするカテゴリ変数の要素に該当するレセプトの件数に依存する。対象とするカテゴリ変数の要素次第では、nuはnoより小さくなる場合も考えられ、Wが取りうる値は0より大きいが1より小さい値になる場合がある。
本実施例で分析対象とするレセプト情報の場合、審査結果が「査定」となるレセプトは全体の1%前後であることを想定しており、審査結果が「査定」のレセプトを分析対象とする場合、nuが「99」に対してnoは「1」となるため、Wは「99」程度の値を取ることが期待できる。
以下、図13はレセプト整形情報1100に対し、重み付け処理1200における処理1201、1202、1203、1211、1212及び1213の処理を行った重み付け処理後のレセプト整形情報1300の一例を示す図である。
傷病名コードD1000_特徴量1301は、検索番号201毎の各レセプトにおける傷病名コードD1000に対応する特徴量を表す。傷病名コードD2000_特徴量1302は、検索番号201毎の各レセプトにおける傷病名コードD2000に対応する特徴量を表す。
診療行為コードS1000_特徴量1303は、検索番号201毎の各レセプトにおける診療行為コードS1000に対応する特徴量を表す。診療行為コードS2000_特徴量1304は、検索番号201毎の各レセプトにおける診療行為コードS2000に対応する特徴量を表す。
医薬品コードY1000_特徴量1305は、検索番号201毎の各レセプトにおける医薬品コードY1000に対応する特徴量を表す。医薬品コードY2000_特徴量1306は、検索番号201毎の各レセプトにおける医薬品コードY2000に対応する特徴量を表す。
特定器材コードT1000_特徴量1307は、検索番号201毎の各レセプトにおける特定器材コードT1000に対応する特徴量を表す。特定器材コードT2000_特徴量1308は、検索番号201毎の各レセプトにおける特定器材コードT2000に対応する特徴量を表す。
図13を用いて、重み付け処理1200における処理1201、1202、1203、1211、1212及び1213の処理を説明する。
まず、図11の整形情報1100において、分析対象のレセプト群に共通する項目の有無判定処理1201及び重み付け処理1211を実施する例を説明する。
分析対象のレセプト群に共通する項目の有無判定処理1201は、分析対象のレセプト中で、指定されたカテゴリ変数である審査結果が「査定」のレセプトに共通する項目を探索する。図11のレセプト整形情報1100において、審査結果が「査定」のレセプトは検索番号201が「K0002」及び「K0003」の2件が該当する。
この2件のレセプトにおいて共通して出現する項目を探索すると、傷病名コードD2000、診療行為コードS1000、医薬品コードY1000、医薬品コードY2000、及び特定器材コードT1000が共通して出現する。
重み付け処理1211で、重みの値は上記式(2)を使用すると、分析対象のレセプトのうち、審査結果が「査定」のレセプトは2件で、それ以外のレセプトは98件のため、重みの値は「98/2」、すなわち「49」となる。
続いて、図11のレセプト整形情報1100において、分析対象のレセプト群にのみ存在する項目の有無判定処理1202及び重み付け処理1212を実施する例を説明する。
分析対象のレセプト群にのみ存在する項目の有無判定処理1202は、分析対象のレセプト中で、指定するカテゴリ変数である審査結果が「査定」のレセプトにのみ出現する項目を探索する。図11のレセプト整形情報1100において、審査結果が「査定」のレセプトは検索番号201が「K0002」及び「K0003」の2件が該当する。換言すれば、特徴量計算部122は、分析の条件である審査結果901が「査定」に該当するレセプト群にのみ出現する項目の特徴量に対して重み付け処理1212を実施する。
これらの2件のレセプトには含まれており、他の98件には含まれない項目を探索すると、特定器材コードT1000が該当し、「K0002」及び「K0003」の2件に含まれている。
重み付け処理1212で、重みの値に式(1)を使用すると、分析対象のレセプトが100件で、条件に該当するレセプトは2件のため、重みの値は「100/2」、すなわち「50」となる。
続いて、図11のレセプト整形情報1100において、分析対象外のレセプト群にのみ存在する項目の有無判定処理1203及び重み付け処理1213を実施する例を説明する。
分析対象外のレセプト群にのみ存在する項目の有無判定処理1203は、分析対象のレセプト中で、指定するカテゴリ変数である審査結果が「査定」のレセプトには出現せず、審査結果が「請求通り」のレセプトには出現する項目を探索する。図11のレセプト整形情報1100において、審査結果が「請求通り」のレセプトは検索番号201が「K0002」及び「K0003」の2件を除く98件が該当する。
換言すれば、特徴量計算部122は、分析の条件である審査結果901が「査定」に該当しないレセプトにのみ出現する項目の特徴量に対して重み付け処理1213を実施する。
上記2件には含まれず、他の98件には含まれる項目を探索すると、傷病名コード「D1000」及び診療行為コード「S2000」が該当する。審査結果が「請求通り」で、傷病名コードD1000を含むレセプトは検索番号K0001を含む3件存在する。また、診療行為コード「S2000」を含むレセプトは検索番号「K0004」を含む4件存在する。
重み付け処理1212で、重みの値は上記式(1)を使用すると、分析対象のレセプトが100件で、傷病名コード「D1000」及び診療行為コード「S2000」に関して、条件に該当するレセプトはそれぞれ4件のため、重みの値は「100/4」、すなわち「25」となる。
以上の処理により、各レセプトのそれぞれの項目に対して、重み付け処理1211、1212及び1213で得られた重みの値が特徴量に乗算されて、図13に示すような特徴量が算出される。図13では、特徴量の小数点第2位の値を四捨五入してまるめているが、まるめ方は限定されない。
上記では指定されたカテゴリ変数である審査結果901の要素を「査定」として処理を行っている例を示したが、指定されたカテゴリ変数の要素や、指定されたカテゴリ変数の要素の数、指定されたカテゴリ変数及び指定するカテゴリ変数の数はこれに限定されない。
例えば、カテゴリ変数として審査結果901と、増減点事由902の複数の項目(フィールド)が指定され、分析対象とする条件を、審査結果が「査定」であることと、増減点事由902が「B」、「A,B」又は「B,C」のいずれかであることを指定してもよい。
これにより、審査結果901が「査定」かつ、増減点事由902に「B」を含むレセプトを分析対象のレセプトとすることができ、そのような詳細な条件に該当するレセプトにおいて特徴的な要素に重みを与えることができる。
すなわち、カテゴリ変数としては、分析対象のデータ群であるレセプト整形情報900から1以上の項目(フィールド)を分析対象の項目として設定し、当該項目の要素(値)を指定されていれば良い。なお、分析対象のカテゴリ変数の項目と要素は、予め設定しても良いし、データ分析装置110が入力部111から受け付けてもよい。
(出現頻度に係る重み計算処理)
出現頻度に係る重み計算処理1204は、各項目のデータが出現する頻度を集計し、各項目のInverse Document Frequency(IDF)を計算し、IDFの値を各項目の重みとして与える。この処理により、どのデータにも共通して出現する項目は特徴量が小さくなるような重みを与え、反対に少数のデータにのみ出現するような項目が大きな特徴量を有するように重みを与えることができる。本実施例では、以下の式(3)のIDFを用いる。
式(3)において、Dはデータ数を、df(d,t)は項目tが出現するデータの数を表す。ただし、IDFの式は、同様の意味を含む式であれば、上記の式(3)に限定されない。例えば、同様の意味を含む式として以下の式(4)をIDFとして考えることができる。
出現頻度に係る重み計算処理1204の過程で、分析者(データ分析支援システム100の利用者)が分析に影響が無いと考える項目を削除することができる。例えば、大多数のデータにおいて出現する項目には特徴が無いと考えられるため、多くのデータにおいて出現することを表す出現頻度の閾値を事前に定めておき、出現頻度が定められた閾値よりも大きい項目が見つかった場合、特徴量計算部122は、該当項目を取り除くことができる。
また、各データにおける項目の出現頻度も特徴量として考慮する場合、上述のIDFに加えて各データにおける項目の出現頻度を表すTerm Frequency(TF)を重みとして加えることができる。
例えば、各データにおいて項目が出現する回数をTFとして用いることができるが、同様の意味を含む式を使用することができ、これに限定されない。
また、IDFの代わりにTFを重みとして与えてもよい。なお、IDFにさらにTFを重みとして加えることは、IDFの代わりにTerm Frequency−Inverse Document Frequency(TFIDF)を重みとして加えることと同意である。TFIDFは次の式(5)で表すことができる。
分析対象のレセプト群に共通する項目の有無判定処理1201、分析対象のレセプト群にのみ存在する項目の有無判定処理1202、分析対象外のレセプト群にのみ存在する項目の有無判定処理1203及び出現頻度に係る重み計算処理1204を実施する順序は図12の順序に限定されない。
例えば、特徴量計算部122は、分析対象のレセプト群に共通する項目の有無判定処理1201の前に分析対象のレセプト群にのみ存在する項目の有無判定処理1202を行ってもよく、また分析対象のレセプト群にのみ存在する項目の有無判定処理1202の前に分析対象外のレセプト群にのみ存在する項目の有無判定処理1203が行われてもよい。
また、分析対象のレセプト群に共通する項目の有無判定処理1201と、分析対象のレセプト群にのみ存在する項目の有無判定処理1202の間に出現頻度に係る重み計算処理1204を行ってもよい。また、出現頻度に係る重み計算処理1204を行わなくてもよい。
また、重み付け処理1211、1212及び1213は、図12に示している項目の有無判定処理1201、1202、1203のそれぞれの直後に行うことに限定されず、各判定処理を実行してから正規化処理を行うまでの所定のタイミングで実行してもよい。例えば、項目の有無判定処理1201、1202、1203を実行した後、重みを与える処理1211、1212、1213をまとめて実行してもよい。
なお、本実施例では、各データ(レセプト)の特徴量に重み付け処理を行う例を示したが、ベクトルに対して重み付け処理を行ってもよい。
(正規化処理)
正規化処理1205は、異なる特徴量を1つの尺度にまとめ、比較を容易にするために行う。本実施例では、データ(項目)の特徴量をベクトルとして見立て、各データベクトルのノルムを1にする、すなわち単位ベクトル化するL2正則化を行う例を示す。
正規化処理は、周知または公知の正規化手法を用いてもよく、L2正則化に限定されない。例えば、正規化処理において、特徴量の平均を0、標準偏差が1になるような処理を行うz−score normalizationを行ってもよく、また、最小値を0とし、最大値を1となるような処理を行うmin−max normalizationにより正規化を行ってもよい。また、正規化処理を行わなくてもよい。
正規化処理を行う場合は、当該処理の後に特徴量が変化することがないようにするため、分析対象のレセプト群に共通する項目の有無判定処理1201、分析対象のレセプト群にのみ存在する項目の有無判定処理1202、分析対象外のレセプト群にのみ存在する項目の有無判定処理1203及び出現頻度に係る重み計算処理1204のいずれの処理よりも後に行う必要がある。
<類似度情報計算処理の詳細>
以下では、類似度情報計算部123が行う処理である類似度情報計算処理について説明する。
類似度情報計算処理では、重み付け処理1200で重み付けが行われた各レセプトの特徴量を一つのベクトルとして扱うことで、各ベクトル間の類似度、すなわち各レセプト間の類似度を算出する。
類似度情報計算部123は、図13に示したように重み付け処理が完了したレセプト整形情報1300を読み込んで、各項目(1301〜1308)の数をベクトルの次元数とし、各項目の値から多次元のベクトルを算出し、ベクトル間の類似度を算出する。
類似度の定義は周知または公知のものを使用してもよい。例えば、コサイン類似度を類似度として使用することができる。また、特徴量の距離尺度を非類似度として扱うことで、類似度を算出することもできる。例えば、各レセプト間の特徴量のユークリッド距離を計算し、距離が小さいほど類似度が高いとして扱うことができる。
本実施例では、類似度情報としてコサイン類似度を扱い、各レセプト間の特徴量のコサイン類似度を類似度情報として類似度情報計算部123が算出する。図14は、分析対象のレセプト同士の距離を表す類似度行列1400の例である。
類似度行列1400は縦軸及び横軸に検索番号(201)が記載されており、行中の数値は縦軸の検索番号に該当するレセプトと、横軸の検索番号に該当するレセプト間の距離を表す。同じ検索番号のセルは、同じレセプトであることを示すため「−」が記載されている。
類似度行列の構成は図14のものに限定されない。例えば、縦軸がK0001で横軸がK0002の数値と、縦軸がK0002で横軸がK0001の数値は、ともに検索番号K0001のレセプトと同K0002のレセプトのコサイン類似度を表すことから、記録する情報量を削減するため、図14に示す類似度行列1400の上三角行列だけを類似度情報として保持してもよい。
類似度情報計算部123で計算されたレセプト(レコードまたはエントリ)間の類似度情報は、類似度情報記憶部133に記録される。この際、類似度の計算に使用した類似度の定義を、類似度情報と共に類似度情報記憶部133に記録してもよい。
<クラスタリング処理の詳細>
クラスタリング部124は、類似度情報計算部123が計算したレセプト間の項目の類似度情報に基づいて、レセプトの併合過程の情報を算出し、階層型クラスタリングを実施し、生成されたクラスタに関するクラスタ情報を取得する。以下にクラスタリング部124がクラスタ情報を取得するまでに行う処理を説明する。なお、本処理にて取得されるクラスタ情報には、レセプト同士の併合過程情報を含むものとする。
まず、分析者は入力部111を操作して、階層型クラスタリング時のクラスタ間の距離測定方法を一つ指定する。距離測定方法として、例えばward法、群平均法などが挙げられる。
クラスタリング部124は、指定された距離測定方法に基づいて、併合されるクラスタのペアおよび併合時の高さ(距離)を含むレセプトの併合過程情報(リンケージ情報)を取得する。
図15にレセプト併合過程情報1500の構成例を示す。レセプト併合過程情報1500は、生成クラスタインデックス1501と、併合クラスタインデックスA1502と、併合クラスタインデックスB1503と、併合高さ1504と、生成クラスタに含まれるレセプト数1505と、で構成される行列である。
生成クラスタインデックス1501は、2つのクラスタが併合して生成されるクラスタのインデックス(識別番号)を示す。
併合クラスタインデックスA1502および併合クラスタインデックスB1503は、それぞれ併合されるクラスタのインデックスを示す。
併合高さ1504は、併合対象の2つのクラスタが併合されるときの高さ(距離)を示す。
生成クラスタに含まれるレセプト数1505は、2つのクラスタが併合されて生成されるクラスタに含まれるレセプト数を示す。
以下、レセプトの併合過程情報取得処理の流れを、図15を用いて説明する。
まず、クラスタリング部124は、類似度行列1400を参照し、類似度行列を構成する分析対象のレセプトを取得する。そして、クラスタリング部124は、それぞれのレセプトのみ含むクラスタを構成し、各クラスタにインデックスを割り当てる。インデックスは「1」から続く数値が割り当てられる。本実施例では、検索番号201が「K0001」のレセプトにインデックス「1」を割り当て、同じく「K0002」のレセプトにインデックス「2」を割り当て、以降も順番にインデックスを割り当てる。
次に、レセプト併合過程情報1500の1行目において、分析対象のレセプト数に1を加算した数値を生成クラスタインデックス1501に登録する。本実施例において、分析対象のレセプト数は100なので、1行目の生成クラスタインデックス1501には「101」が登録される。以降、各行の生成クラスタインデックス1501には「101」からの連番が登録される。
次に、クラスタリング部124は、類似度行列1400を参照し、前述の距離測定方法に従ってクラスタ(レセプト)間の距離を計算する。
クラスタリング部124は、最も類似度の高いレセプトの組、すなわち最も距離の近いクラスタの組を探索し、その2つのクラスタのインデックスを取得する。ここで、距離は類似度の同じクラスタの組が複数存在する場合、最も番号の小さいインデックスが割り当てられているクラスタを含む組を探索し、その組に含まれる2つのクラスタのインデックスを取得する。
クラスタリング部124は、取得したクラスタインデックスのうち、小さいインデックスを併合クラスタインデックスA1502に登録し、大きいインデックスを併合クラスタインデックスB1503に登録する。
クラスタリング部124は、図14のクラスタ類似度行列1400を参照して計算した距離では、インデックスが5と6のクラスタ、同7と8のクラスタ、同9と10のクラスタが距離が0、すなわち、同じ内容のレセプトであった。このうち、最も番号が小さいインデックスは5のため、インデックス5および6を取得し、レセプト併合過程情報1500の1行目の併合クラスタインデックスA1502に「5」を登録し、併合クラスタインデックスB1503に「6」を登録する。
また、クラスタリング部124は、インデックスを取得した2つのクラスタ間の距離を、併合高さ1504に登録する。クラスタリング部124は、インデックスが5と6のクラスタ間の距離は0のため、レセプト併合過程情報1500の1行目の併合高さ1504には「0」が登録される。
さらに、クラスタリング部124は、併合対象の2つのクラスタに含まれるレセプト数を数え、その合計数を生成クラスタに含まれるレセプト数1505に登録する。インデックスが5および6のクラスタにはそれぞれレセプトが1件ずつ含まれるため、レセプト併合過程情報1500の1行目の生成クラスタに含まれるレセプト数1505には合計数である「2」が登録される。
クラスタリング部124は、以上の処理を、クラスタ数が1になるまで行い、レセプト併合過程情報1500を取得する。
なお、レセプト併合過程情報1500の構成は図15に示すものに限定されない。例えば、生成クラスタに含まれるレセプト数1505が含まれなくてもよい。また、処理の過程も上記のものに限定されない。
また、階層型クラスタリングにおいて、明示的にクラスタを分割する必要がある場合、分析者は分割条件を満たす所定の値を閾値として設定する。分割条件は、クラスタに属するレセプト数や、クラスタ内の査定レセプト混入率を設定してもよいが、これに限定されない。例えば、分析者は生成されるクラスタに含まれるレセプト数が10以上かつ100以下であるように閾値を設定しても良い。
クラスタリング部124は、指定された閾値と、前述の処理により取得したレセプト併合過程情報に基づいて、所定の閾値の高さでレセプト群を分割し、各分割レセプト群でクラスタを構成してもよい。この処理により、査定レセプトのみで構成されるクラスタ、査定のないレセプト(以下、「請求通りレセプト」と表現する)のみで構成されるクラスタと、「査定」のレセプトと「請求通りレセプト」が混在するクラスタの3種類が構成される。また、クラスタリング部124は、各クラスタに対してはクラスタ識別番号を設定する。これにより、各レセプトが属するクラスタ識別番号の対応付け情報が取得できる。
図16に、レセプト−クラスタ対応表1600の構成例を示す。レセプト−クラスタ対応表1600は、検索番号201と、クラスタインデックス1501を構成要素として含む。
検索番号201は、レセプトを一意に識別するための識別子であり、レセプト基本情報200の検索番号201と同じ番号を用いる。
クラスタインデックス1501は、指定された閾値でクラスタを分割した場合に検索番号201のレセプトが含まれるクラスタのインデックス(識別番号)を示す。
以下に、図16を用いて、レセプト−クラスタ対応表1600の構成方法を示す。分析者は、クラスタを分割する閾値として「1」を指定する。
クラスタリング部124は、レセプト併合過程情報1500を参照し、閾値より大きい併合過程(併合高さ1504)を分割節として取得する。クラスタリング部124は、次に、分析対象のレセプトの検索番号を1件選択する。
クラスタリング部124は、該当する検索番号のレセプトの併合過程を、前述の分割節に到達するまでたどる。クラスタリング部124は、たどる過程で、該当レセプトが属するクラスタインデックスを保持し、属するクラスタが併合された場合、保持しているクラスタインデックスを併合後のクラスタインデックス、すなわち生成クラスタインデックス1501のものに更新する。
そして、クラスタリング部124は、分割節に到達した際、検索番号201に検索番号を登録し、その時点で保持しているクラスタインデックスをクラスタインデックス1501に登録する。
クラスタリング部124は、以上の処理を、分析対象のすべてのレセプトの検索番号に対して行う。
なお、レセプト−クラスタ対応表1600の構成は図16のものに限定されず、要素を追加してもよい。また、レセプト−クラスタ対応表1600を取得する処理は上記のものに限定されない。例えば、分割節で併合クラスタインデックスA1502および併合クラスタインデックスB1503のクラスタインデックスを保持しておき、クラスタに含まれるレセプト数が1件になるまで併合過程を分割方向にたどることで、レセプトの検索番号を取得しても良い。
また、クラスタインデックスはレセプト併合過程情報1500に記録されたものを用いず、新たな識別番号を割り当ててもよい。レセプト併合過程情報1500及びレセプト−クラスタ対応表1600は、クラスタ情報記憶部134に記憶される。
<可視化処理>
図17は、ヒートマップ及び樹状図出力1700の例を示す図である。ヒートマップ及び樹状図出力1700は、可視化部125によって出力部112へ出力される画面イメージである。
図17を用いて、可視化部125の処理を説明する。なお、図14は分析対象としたレセプト100件のうち、なお、ヒートマップ及び樹状図出力1700に記載された各要素の配置の一例であり、異なる場所に配置されても良い。また、図14に記載されている要素が削除されても良く、新たに要素が追加されても良い。また、図17では、データ群やクラスタに関する情報を表示してもよい。
例えば、可視化部125が、各レセプトが属するクラスタのクラスタインデックスを図17の画面に表示してもよい。また、可視化部125が、クラスタの査定割合を示す情報を図17に表示しても良い。また、可視化部125は、クラスタに含まれているレセプトの項目情報を表示してもよい。
可視化部125は、配置処理、ヒートマップ表示処理、樹状図表示処理、対象指定可視化処理を行う。これらの処理について下記で説明する。ヒートマップ表示処理、樹状図表示処理はこの順で行うことに限定されず、どのような順序で行ってもよい。
(配置処理)
配置処理では、可視化部125が、類似度情報計算部123により得られた各レセプト間の類似度情報に基づき、ヒートマップ及び樹状図を表示する際に、検索番号軸1701の各レセプトを表す検索番号の並びを、レセプト間の類似度が大きいレセプトが表示軸上で近い位置に配置されるように変更する。これにより、分析者は類似するレセプト同士の関係を識別することを容易にする。
図17では、検索番号が「K0002」と「K0003」、及び「K0001」と「K0004」は類似度が大きく(距離が小さく)、一方で「K0002」と「K0003」は、「K0001」と「K0004」との類似度が小さい(距離が大きい)。
また、図17において、項目軸1702に表示する各項目は図中左から、傷病名コード(D1000〜D3000)、診療行為コード(S1000〜S4000)、医薬品コード(I1000〜I4000)、特定器材コード(T1000〜T3000)の順で、かつ各コードの番号が小さい順に配置されている。
項目軸1702に表示される順序は上記のものに限定されず、可視化部125が、所定の順序で配置してよい。例えば、重み付け処理後のレセプト整形情報1300において、可視化部125が特徴量が0の要素を除く各項目の特徴量の平均が大きい順に配置しても良い。このような並びの場合、各データの類似に関して、どの項目がより大きな特徴を有するかを分析者が識別することが容易になる。
(ヒートマップ表示処理)
ヒートマップ表示処理では、重み付け処理1200の各重み付け処理により特徴量の重み付けが行われた重み付け処理後のレセプト整形情報1300に基づき、可視化部125が各レセプトの特徴量をヒートマップで表現、可視化する。
図17において、ヒートマップは、各レセプトの項目の特徴量に応じて、対応するタイルの色の濃淡が異なり、大きな特徴量の場合は濃い色で表現され、小さな特徴量の場合は薄い色で表現されている。
特徴量の大きさの表現は上記の方法に限定されず、他の表現を用いてもよい。例えば、項目の有無が重要な意味を含むと考え、各項目の特徴量を0の場合と、0よりも大きい場合の2つに分類し、ヒートマップでそれぞれの分類毎に色を割り当ててもよく、あるいは特徴量を複数の代表的な離散値に置き換え、各離散値毎に色を割り当ててもよい。
また、なお、本実施例のヒートマップでは、特徴量の違いを視覚的に表現する手法は色の濃淡に限定されず、所望の視覚的表現を用いてもよい。例えば、特徴量の大きさに応じた複数の色を使用してもよく、あるいは特徴量の大きさに応じて塗りつぶしの模様を使用してもよく、あるいは特徴量の大きさに応じて塗りつぶされる領域の大きさを変化させてもよい。
(樹状図表示処理)
樹状図表示処理では、類似度情報計算部123により得られた各レセプト間の類似度情報及びクラスタリング部124により得られたクラスタ情報に基づき、可視化部125は、各レセプトがクラスタに併合していく過程を表現する樹状図を生成して、可視化する。
図17において、樹状図1704はヒートマップ1703の左側に表示される。樹状図1704の末端(右端)はヒートマップ1703に接続されており、検索番号軸1701をヒートマップ1703と共有している。
樹状図1704の高さ方向(図17左方向)の軸は2つの枝、すなわちクラスタが併合するリンケージの高さ(距離)を表す。なお、樹状図1704の高さ方向の軸はリンケージの高さに限定されない。例えば、各クラスタが併合する順序を表現してもよい。
また、分析者がクラスタリング時にクラスタを分割する高さの閾値1705を指定する場合、どの高さでクラスタが分割されているかを把握しやすくするため、樹状図1704においてその閾値1705を可視化してもよい。例えば、図17では樹状図1404の2番目に高いリンケージより低い位置に閾値1705を指定しており、その閾値1705の高さを点線で表示している。
この場合、クラスタは図17において上4件のレセプトを含むクラスタ1(1706)と、中央2件のレセプトを含むクラスタ2(1707)と、下4件のレセプトを含むクラスタ3(1708)に分割される。
閾値1705の可視化方法は上記の方法に限定されない。例えば、樹状図1704において、閾値より高さの低い部分を、生成されるクラスタ毎に色を分けてもよく、樹状図1704において閾値より高い部分を表示しないようにしてもよい。
(強調処理)
強調処理は、検索番号軸1701、項目軸1702、ヒートマップ1703及び樹状図1704に関して、それぞれの特定の要素を他の要素と識別しやすくするため、特定の要素(例えば、識別子)に対して他の要素とは異なる書式を設定して視覚的表現を行う。
図17中では検索番号軸1701において、審査結果が「査定」のレセプト、すなわち検索番号「K0002」及び「K0003」に関して、検索番号の横に「×」印を付け、審査結果が「査定」ではないレセプトと区別している。
これにより、指定されたカテゴリ変数の要素に該当するデータと、該当しないデータの識別を容易にすることができる。区別のために行われる表現は上記の手法に限定されず、色、形、動き等、任意の視覚的表現を用いて良い。例えば、査定有無の分類毎に、検索番号やヒートマップの色を分けても良い。または、査定レセプトまたは査定レセプトを含むクラスタを点滅させるアニメーション効果を付けても良い。
(対象指定可視化処理)
対象指定可視化処理は、分析者が分析対象のレセプト群から可視化対象として指定する一部のレセプト群に関して、該当レセプト群のみを可視化する処理である。さらに可視化対象のレセプト群から一部を指定して可視化してもよい。これにより、分析者は注目対象のレセプト群を少しずつ絞り込みつつ、各レセプトの内容の比較を行うことができる。以下に、対象指定可視化処理の例を示す。
分析者は、入力部111を介して分析対象のレセプトのうち、任意の数のレセプトの検索番号を指定し、データ分析装置110が当該指定を受け付ける。例えば、分析者は、クラスタリングの結果として生成されたクラスタの一つに含まれるレセプト群の検索番号を指定してもよく、または、分析対象のレセプトのうち、診療行為コード「S2000」を含むレセプト群の検索番号を指定してもよい。
可視化部125は、指定された検索番号に基づき、対象指定可視化処理で分析対象のレセプトから、指定された検索番号のレセプトが含まれているか否かを判定し、該当検索番号のレセプトが分析対象のレセプトに含まれている場合、該当レセプトを抽出する。
可視化部125は、以上の処理を指定されたすべての検索番号に対して行う。次に、可視化部125は、存在が判定された検索番号のレセプトの情報を、類似度情報計算部123により得られた各レセプト間の類似度情報及びクラスタリング部124により得られたクラスタ情報から抽出する。
そして、可視化部125は、抽出された情報に基づいて、配置処理、ヒートマップ表示処理、樹状図表示処理及び強調処理を行うことで、指定の検索番号のレセプトの情報が表示されるヒートマップ及び樹状図出力1700を得ることができる。
これらのレセプト間類似度情報及びクラスタ情報において、いずれのレセプトにも出現しない項目が存在する場合、可視化部125は、該当項目を表示対象から除外してもよい。これにより、レセプトの特徴と関係のない項目を除外し、分析者が注目したいレセプト及び項目に絞り込んで比較することを可能にする。
以上の可視化処理及び可視化された情報を用いて、分析者は、審査結果が「請求通り」のレセプトと、「査定」のレセプトが混在する分析対象のレセプト群において、審査結果が同じで内容が類似しているレセプト群を見つけ、コンピュータチェックルールを検討する流れの例を以下に示す。
まず、分析者は、データ分析支援システム100を用いて、分析対象のレセプトをクラスタリングし、表示されたヒートマップ及び樹状図出力を確認する。ヒートマップ及び樹状図出力に出力されている結果から、分析者は視覚的に強調されて表示されている査定レセプトがまとまっている部分を探す。
分析者は「査定」のレセプトがまとまっているが、少数の「請求通り」のレセプトが含まれるクラスタを見つけた場合、対象クラスタのインデックスから、含まれているレセプトの検索番号を確認し、対象指定可視化処理を用いて該当レセプト群に関するヒートマップ及び樹状図を出力し、同様にして確認する。
データ分析装置110ではヒートマップと樹状図の表示と絞り込みを繰り返し、数件から数十件の量で構成された診療内容が似ており、かつ審査結果が「査定」のレセプトのまとまりを抽出する。
データ分析装置110で抽出されたレセプト群は、そのレセプト群が含む項目の特徴量も参考にしつつ、分析者やルール化を行う専門家によって、詳細に1件ずつ内容を比較し、該当レセプト群において行われている医学的に望ましくない傷病と診療行為の組み合わせを洗い出し、その傷病名コードや診療行為コードの組み合わせを「査定と判断する」コンピュータチェックルールに登録する。
また、クラスタに含まれるレセプトがすべて「査定」のレセプトでない場合であっても、事前に分析者や専門家でルール化検討材料の対象とする査定レセプト割合を決めておくことで、定めた割合以上の「査定」のレセプト割合のクラスタ(レセプト群)を見つけて、分析者や専門家により内容を確認してコンピュータチェックルールの構築を検討してもよい。
一方で、「請求通り」のレセプトのクラスタから、審査員が確認する必要なく「請求通り」と判断可能なレセプトを見つけるため、事前に「請求通り」のレセプト割合を定めておき、その割合以下の査定レセプトが含まれる、診療内容が類似したレセプト群で構成されたクラスタを抽出してもよい。抽出されたクラスタに含まれるレセプト群は、上記の査定レセプト群と同様にして分析者及び審査員により内容を精査し、問題がないと判断された場合に、そのレセプト群の診療内容を「請求通りと判断する」コンピュータチェックルールとして登録しても良い。
<まとめ>
図18は、データ分析支援システム100で行われる全体的な処理の一例を示すフローチャートである。この処理は、上述した各処理の時系列的な手順の一例を示す。
まず、データ整形部121は、レセプト基本情報200、傷病名情報300、診療行為情報400、医薬品情報500、特定器材情報600及び審査結果情報800からなるデータ群を読み込む(1801)。
次に、データ整形部121は、検索番号201をキーとして、読み込んだデータ群から項目を統合して、レセプト整形情報900を生成する(1802)。
データ整形部121は、レセプト整形情報900のうちデータ分析に利用するデータ(レセプト)を抽出するためのカテゴリ変数とする項目と、カテゴリ変数の要素を、分析の条件として指定する(1803)。
なお、本実施例では、カテゴリ変数及び要素の指定は、予め設定された情報を使用する。例えば、カテゴリ変数の項目が審査結果901で、要素が「査定」が分析の条件として設定される。また、入力部111からカテゴリ変数及び要素の指定を受け付けてもよい。
次に、データ整形部121は、生成されたレセプト整形情報900について、上記(i)で示したようにレコード単位で集計処理を行って、審査結果901を設定してから傷病名等の統合を行う。データ整形部121は、集計処理によって出現回数がカウントされた各項目の値について2値化を実施して、図11に示すレセプト整形情報1100を生成する(1804)。2値化された値が各項目の特徴量となる。
次に、特徴量計算部122は、2値化されたレセプト整形情報1100について、各データ毎に2値化された項目からベクトルを算出し、当該ベクトルに対して重み付け処理を実施する(1805)。
この、重み付け処理では、図12に示したように、特徴量計算部122が、カテゴリ変数に指定された項目(審査結果901)及び要素(「査定」)の条件と一致するデータ間で、値が出現する項目のうち、共通する項目について所定の重み(W1)を付与する。
また、特徴量計算部122は、カテゴリ変数の条件が一致するデータ(レコード)群のみに出現する項目について所定の重み(W2)を付与する。なお、特徴量計算部122は、カテゴリ変数の条件に一致しないデータ群のみに出現する項目について所定の重み(W3)を付与する。
さらに、特徴量計算部122は、各項目のデータが出現する頻度を集計し、各項目のIDFの値を各項目の重みとして与える。
そして、類似度情報計算部123は、上記の処理で当てられた重みを、2値化されたレセプト整形情報1300の各項目の値に乗じてレセプト整形情報1300を生成してから、各レコードのベクトルを算出し、各ベクトル間の類似度、すなわち各レセプト間の類似度を算出する(1806)。ベクトル間の類似度は、上述したようにコサイン類似度やユークリッド距離を用いて算出され、類似度の大きさに応じた類似性が類似度行列1400として算出される。
クラスタリング部124は、類似度行列1400を参照して、類似度の大きい順にレセプト(レセプト整形情報1300の検索番号201)をクラスタリングする(1807)。クラスタリングの際には、クラスタリング部124がクラスタ毎に識別子を付与して、クラスタの内容を示すレセプト併合過程情報1500を生成する。
次に、可視化部125は、レセプト併合過程情報1500とレセプト整形情報1300から、検索番号201の軸と、レセプト整形情報1300の項目の軸を有する2次元マップをレセプトのクラスタ単位で生成し、画面(1700)として出力部112に表示する。この2次元マップは、クラスタ内のレセプトの各項目がヒートマップで表示され、各項目の特徴量の大きさに応じた紋様のタイルが含まれる。
可視化部125は、レセプト併合過程情報1500からクラスタ間の関係を示す樹状図1704を生成して、画面(1700)に出力する。
以上の処理によって、分析の条件が一致し(同じ審査結果かつ同様の内容)のレセプトを同じクラスタとしてまとめることが可能となり、審査の自動化に向けたコンピュータのチェックルール構築支援のために、参考とするレセプトの絞込みを実現することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。