以下、図面を参照して、本発明の実施例を説明する。なお、本発明の実施例は、後述する例に限定されるものではなく、明細書及び図面に開示された発明の技術思想の範囲において、種々の変形が可能である。
<システム構成の説明>
図1は、本発明の実施例のデータ利活用支援システム100の構成を示すブロック図である。
本実施例のデータ利活用支援システム100は、各患者の合併症情報を算出し、合併症情報に基づいて病名候補を分析し、分析結果を可視化して出力する計算機システムであり、ネットワーク140を介して、病院情報システム120及び入出力端末130と接続される。
入出力端末130は、プログラムを実行するプロセッサと、プログラムやデータを格納するメモリと、図示を省略する入力装置(キーボード、マウス、タッチパネルなど)と、図示を省略する出力装置(ディスプレイ、プリンタなど)と、データ利活用支援システム100などと通信する通信装置(図示省略)とを有する一つ又は複数のパーソナルコンピュータである。また、入出力端末130は、ボタン又はタッチパネルなどの入力装置と、ディスプレイなどの出力装置と、データ利活用支援システム100などと通信する通信装置とを有するPDA、PHS、携帯電話、スマートフォン又はタブレット端末などの可搬型端末でもよい。
入出力端末130は、病院又は診療所などの医療機関(ヘルスケアプロバイダ)に設置され、データ利活用支援システム100は、データセンタに設置される。
データ利活用支援システム100をデータセンタに設置することによって、ユーザの個人情報及びユーザから収集されるデータなどのプライバシー情報を一元管理できるので、情報漏洩を防止し、セキュリティを確実に管理できる。データ利活用支援システム100は、運用の形態によっては、ヘルスケアプロバイダに設置してもよい。
入出力端末130の利用者(以下「ユーザ」と記載する)は、医療機関の医師、管理者又は経営責任者である。ユーザは、入出力端末130を操作し、データ利活用支援システム100を用いて、各患者の合併症情報を算出し、算出された合併症情報に基づいた病名候補情報を分析し、分析結果を可視化する。
データ利活用支援システム100は、相互に接続された、制御部101、出力部102、メモリ103、通信部104、表示画面生成部105、合併症情報算出部107、検査情報比較部108、病名候補分析部109、判定データベース110、統合データベース111、知識データベース112、比較検査項目設定部113、罹患判定値設定部115、薬剤情報判定部118及び蓄積データ取得部119を有する。
蓄積データ取得部119は、ヘルスケアプロバイダに設置されている病院情報システム120が有する患者情報データベース121、検査情報データベース122及び処方情報データベース123に蓄積されたデータを取得し、統合データベース111に格納する。蓄積データ取得部119は、ユーザにより直接起動される、又は、ユーザが予め指定した時刻(例えば、毎週土曜の夜など)に自動的に起動してもよい。また、患者情報データベース121、検査情報データベース122及び処方情報データベース123に蓄積されたデータが更新されたときに蓄積データ取得部119を起動してもよい。
制御部101は、例えば、メモリ103に格納されたプログラムを実行するプロセッサを有し、データ利活用支援システム100の各部を制御する。メモリ103は、例えば、DRAM(Dynamic Random Access Memory)のような記憶装置であり、データ利活用支援システム100の各部によって参照されるデータ(例えば制御部101によって実行されるプログラムなど)を格納する。
判定データベース110、統合データベース111及び知識データベース112は、メモリ103に格納されてもよいし、データ利活用支援システム100内の不揮発性記憶装置(例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、図示省略)に格納されてもよい。
出力部102は、データ利活用支援システム100による処理の結果を出力する装置であり、例えば、ディスプレイ装置やプリンタでもよい。
通信部104は、ネットワーク140に接続され、入出力端末130と通信するネットワークインターフェースである。
表示画面生成部105、合併症情報算出部107、検査情報比較部108、病名候補分析部109、比較検査項目設定部113及び罹患判定値設定部115は、データ利活用支援システム100の機能を実現するための処理を実行する処理部であり、それぞれが専用のハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。後者の場合、以下の説明において上記の各処理部が実行する処理は、実際には、制御部101がメモリ103に格納されたプログラムに記述された命令に従って実行する。上記の各処理部によって実行される処理の詳細は後述する。
制御部101が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介してデータ利活用支援システム100に提供され、非一時的記憶媒体である不揮発性記憶装置に格納される。このため、データ利活用支援システム100は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
表示画面生成部105は、分析結果表示画面(図15)、患者数の最低値の設定画面(図16)、罹患判定検査情報設定画面(図17)などの画面を表示するためのデータを生成する。また、表示画面生成部105は、ユーザからの入力や選択を受け付ける。合併症情報算出部107は、対象病名に対応する合併症情報を算出する合併症情報算出処理(図12)を実行する。検査情報比較部108は、検査項目を比較する検査情報比較処理(図13)を実行する。病名候補分析部109は、病名候補情報を算出する病名候補情報算出処理(図14)を実行する。
比較検査項目設定部113は、図15に示す画面において、分析対象の設定を受け付ける。罹患判定値設定部115は、統合データベース111に蓄積されたデータに基づいて、各合併症情報に対応する各検査項目の罹患判定検査情報を算出する。また、罹患判定値設定部115は、知識データベース112に蓄積された医学知識データに基づいて、各合併症情報に対応する各検査項目の罹患判定検査情報を算出する。
データ利活用支援システム100は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
患者情報データベース121、検査情報データベース122及び処方情報データベース123は、病院情報システム120内の不揮発性記憶装置(例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、図示省略)に格納されてもよい。
ネットワーク140は、データ利活用支援システム100、病院情報システム120及び入出力端末130を接続する。データ利活用支援システム100は、ネットワーク140を介して病院情報システム120及び入出力端末130と通信する。ネットワーク140は、LAN(Local Area Network)ケーブルによる有線通信、又は無線LANによる無線通信を利用してもよい。また、ネットワーク140は、インターネット、VPN、携帯電話通信網、PHS通信網など、他の広域ネットワークを利用してもよい。
以下では、統合データベース111を構成するテーブルの構造を説明する。
統合データベース111は、患者毎の基本情報等を管理する患者情報テーブル200、患者毎の検査情報を格納する検査情報テーブル300、患者毎の処方情報を格納する処方情報テーブル400を含む。
図2は、患者情報テーブル200の構成例を示す図である。
患者情報テーブル200は、患者を識別するための患者IDを格納するフィールド201と、患者の性別を格納するフィールド202と、医療機関の入院又は外来のデータであることを示す入院フラグを格納するフィールド203と、医療機関の外来の診断日を格納するフィールド204と、医療機関の入院年月日を格納するフィールド205と、医療機関の退院年月日を格納するフィールド206と、疾患名を格納するフィールド207、208及び209とを含む。患者情報テーブル200は、四つ以上の疾患名を格納するフィールドを含んでもよい。
入院フラグフィールド203の値が「1」であれば、当該データは入院のデータであることを示し、診断日フィールド204には「0」、入院年月日フィールド205及び退院年月日フィールド206には日付が格納される。一方、入院フラグフィールド203の値が「0」であれば、当該データは外来のデータであることを示し、診断日フィールド204には外来の診断日、入院年月日フィールド205及び退院年月日フィールド206には「0」が格納される。
患者情報テーブル200の各レコード(患者情報レコード)に、一人の患者の1回の入院又は1回の診断に関する情報が格納される。一人の患者の1回の入院又は1回の外来の診断が一つのレコードに対応する。例えば、患者情報レコード200Aは、患者IDが「#1」で識別される症例は、性別が「男」、入院フラグが「1」、診断日が「0」、入院年月日が「2014/04/01」、退院年月日が「2014/04/26」であり、病名1が「病名A」、病名2が「病名B」、病名3は何も情報が登録されていないことを示す「NULL」である。すなわち、患者ID「#1」で識別される男性の患者が、病名A及び病名Bのために2014年4月1日から2014年4月26日まで入院したことを示す。
図3は、検査情報テーブル300の構成例を示す図である。
検査情報テーブル300は、患者IDを格納するフィールド301と、検査項目を識別するための情報を格納するフィールド302と、検査日を格納するフィールド303と、検査結果(検査値)を格納するフィールド304とを含む。検査情報テーブル300は、画像検査(例えば、CT画像検査)などの他の種類の検査結果を示す情報を含んでもよい。さらに、「吐き気」又は「嘔吐」などの患者の自覚症状に関する情報を含んでもよい。
例えば、図3に示す検査情報テーブル300の例は、患者ID「#1」の患者において、「検査項目X」の値が、「2014/04/1」に「41」、「2014/04/7」に「62」、「2014/04/13」に「180」、「2014/04/15」に「220」、「2014/04/18」に「196」、「2014/04/25」に「120」であったことを記録している。また、検査情報テーブル300は、「検査項目Y」の値が、「2014/04/1」に「38」であったことを記録している。
図4は、処方情報テーブル400の構成例を示す図である。
処方情報テーブル400は、患者IDを格納するフィールド401と、薬剤を識別する情報(薬剤名)を格納するフィールド402と、各薬剤の処方開始日を格納するフィールド403と、各薬剤の処方終了日を格納するフィールド404とを含む。処方情報テーブル400は、各薬剤の処方の用法・用量を格納するフィールドを有してもよい。
例えば、図4に示す処方情報テーブル400の例は、患者ID「#1」の患者において、「薬剤A」が「2014/04/01」から「2014/04/07」までと、「2014/04/08」から「2014/04/14」まで処方され、「薬剤B」が「2014/04/03」から「2014/04/8」まで処方され、「薬剤D」が「2014/04/16」から「2014/04/20」まで処方され、「薬剤T」が「2014/04/14」から「2014/04/18」まで処方されたことを記録している。
以下では、知識データベース112を構成するテーブルの構造を説明する。
知識データベース112は、病名及び病名に対応する症状を管理する病名症状対応テーブル500と、薬剤及び薬剤に対応する疾患を管理する薬効情報テーブル600とを含む。また、知識データベース112は、医学知識データを格納する。医学知識データは、例えば、医学文献、国や医療機関毎に定められた治療ガイドラインであり、罹患判定値の情報を含むとよい。
図5は、病名症状対応テーブル500の構成例を示す図である。
病名症状対応テーブル500は、病名の情報を格納するフィールド501と、病名に対応する症状の情報を格納するフィールド502とを含む。病名症状対応テーブル500は、画像検査(例えば、CT検査により判明する腫瘍の発生や腫瘍サイズの増加)などの他の種類の検査結果に関する情報が含まれてもよく、さらに、「吐き気」又は「嘔吐」といった患者の自覚症状に関する情報を含んでもよい。
例えば、図5に示す病名症状対応テーブル500の例には、「病名A」に対応する症状として「検査項目Wの増加」が登録され、「病名B」に対応する症状として「検査項目Vの増加」が登録され、「病名C」に対応する症状として「検査項目Xの増加」と「検査項目Yの増加」が登録され、「病名G」に対応する症状として「検査項目Xの増加」が記録されている。
このように、病名に対応する症状の情報によって、罹患している病名に起因しない症状が発生している患者を選択することができ、病名候補の分析の精度を向上できる。
図6は、薬効情報テーブル600の構成例を示す図である。
薬効情報テーブル600は、薬剤名を格納するフィールド601と、薬剤名に対応する疾患を格納するフィールド602とを含む。薬効情報テーブル600には、「検査項目Aの改善」などの対応する検査項目や、「吐き気」又は「嘔吐」などの患者の自覚症状に関する情報を含んでもよい。
例えば、図6に示す薬効情報テーブル600の例には、「薬剤A」で識別される薬剤と対応する疾患は「病名A」であり、「薬剤B」で識別される薬剤と対応する疾患は「病名G」であり、「薬剤C」で識別される薬剤と対応する疾患は「病名C」であり、「薬剤T」で識別される薬剤と対応する疾患は「病名B」であることが記録されている。
以下では、判定データベース110を構成するテーブルの構造を説明する。
判定データベース110は、合併症毎に定義された罹患判定検査情報を格納する判定情報テーブル700と、合併症情報算出部107が算出した各患者の合併症情報に基づいた患者の分類情報を格納する患者分類テーブル800と、検査情報比較部108が算出した各患者の検査情報の比較結果の情報を格納する検査情報比較結果テーブル900と、病名候補分析部109が算出した病名候補の情報を格納する病名候補情報テーブル1000とを含む。
図7は、判定情報テーブル700の構成例を示す図である。
判定情報テーブル700は、合併症の情報を格納するフィールド701と、合併所情報の罹患判定に使用する検査項目名を格納するフィールド702と、検査フィールド702と対応する罹患判定検査情報を格納するフィールド703とを含む。
例えば、図7に示す判定情報テーブル700には、合併症「病名A:病名B」の罹患判定に使用する検査項目は「検査項目X」及び「検査項目Y」であり、「検査項目X」の罹患判定の範囲は「25−90」であり、「検査項目Y」の罹患判定範囲は「23−80」であることと、合併症「病名A:病名B:病名C」の罹患判定に使用する検査項目は「検査項目X」であり、その罹患判定の範囲は「165−250」であることが記録されている。
このように、合併症情報ごとに、罹患判定に使用する検査項目及び各検査項目の罹患判定情報を記録することで、合併症患者ごとに異なる検査値及びその取り得る範囲から外れた患者を選択でき、病名候補の分析の精度を向上できる。
図8は、患者分類テーブル800の構成例を示す図である。
患者分類テーブル800は、病名の組み合わせである合併症情報を格納するフィールド801と、患者を識別する患者IDを格納するフィールド802と、合併症が該当する期間の情報を格納するフィールド803とを含む。
例えば、図8に示す患者分類テーブル800の例には、患者IDが「#1」と「#10」の患者は合併症「病名A:病名B」を発症しており、患者IDが「#1」の患者の該当期間は「2014/04/01〜2014/04/26」であり、患者IDが「#10」の患者の該当期間は「2014/10/21〜2014/11/03」であり、患者IDが「#2」の患者は合併症「病名C:病名D:病名E」を発症しており、その該当期間は「2015/03/31〜」であり、患者IDが「#29」の患者は合併症「病名A:病名B:病名C」を発症しており、その該当期間は「2014/08/12〜2014/08/31」であることが記録されている。
図9は、検査情報比較結果テーブル900の構成例を示す図である。
検査情報比較結果テーブル900は、病名の組み合わせである合併症情報を格納するフィールド901と、患者を識別する患者IDを格納するフィールド902と、検査項目名を格納するフィールド903と、検査項目の比較結果を格納するフィールド904とを含む。
比較結果フィールド904の値が「1」であれば、患者の検査項目が合併症における罹患判定範囲から外れている(すなわち、検査値が、ある合併症における通常取り得る範囲外である)ことを示す。一方、比較結果が「0」であれば、患者の検査項目が合併症における罹患判定範囲内であることを示す。
例えば、図9に示す検査情報比較結果テーブル900の例には、「病名A:病名B」の合併症を発症している患者「#1」の「検査項目X」の比較結果は「1」であり、患者IDが「#1」の患者の「検査項目Y」の比較結果は「1」であり、合併症「病名A:病名B」を発症している患者IDが「#8」の患者の「検査項目X」の比較結果は「0」であることが記録されている。すなわち、患者IDが「#1」の患者の「検査項目X」及び「検査項目Y」は合併症「病名A:病名B」の罹患判定の検査値の範囲外であり、別の疾病に罹患している可能性があることを示す。
図10は、病名候補情報テーブル1000の構成例を示す図である。
病名候補情報テーブル1000は、患者を識別する患者IDを格納するフィールド1001と、病名の組み合わせである合併症情報を格納するフィールド1002と、患者の病名候補情報を格納するフィールド1003と、病名候補情報と対応する判断項目の情報を格納するフィールド1004及び1005と、病名候補の抽出に使用した関連薬剤の情報を格納するフィールド1006とを含む。なお、二つ目以後の判断項目に格納すべき情報が無い場合、判断項目フィールド1005には「NULL」が格納すればよい。病名候補情報テーブル1000は、三つ以上の判断項目フィールドを含んでもよい。
例えば、図10に示す病名候補情報テーブル1000は、患者IDが「#1」の患者は合併症「病名A:病名B」を発症しているが、病名候補は「病名C」及び「病名G」であり、病名候補「病名C」と対応する判断項目は「検査項目X」及び「検査項目Y」であり、病名候補の選択に使用した関連薬剤は「薬剤C」であり、病名候補「病名G」と対応する判断項目は「検査項目X」であり、病名候補の選択に使用した関連薬剤はないことが記録されている。
このように、病名候補情報と判断項目とを対応付けて記録することによって、どの検査項目によって病名候補が判断されたが容易に把握できる。また、病名候補情報に対して複数の判断項目を対応付けることによって、複数の判断項目を用いて病名候補を選択することができ、病名候補の分析の精度を向上できる。また、病名候補の抽出に使用した薬剤の情報を対応付けて記録することによって、当該薬剤が処方される病名候補を選択する又は除外する処理が可能となり、病名候補の分析の精度を向上できる。さらに、当該薬剤の処方前、処方後、処方中などの期間の検査値を分析対象とする、当該薬剤の処方前と処方後の検査値の差を用いる等の処理が可能となり、より適切な病名候補の判断を支援することができる。
次に、データ利活用支援システム100が実行する処理をフローチャートを用いて説明する。
図11は、本発明の実施例のデータ利活用支援システム100が実行する処理のフローチャートである。
まず、制御部101は、統合データベース111から症例データを読み出し、メモリ103に格納する(S1101)。以後の説明では、患者に関するデータ、例えば、患者を識別する情報、患者に対応する処方薬の情報、患者に対応する検査結果の情報等を総称して患者データと記載する。制御部101は、統合データベース111に格納される全患者のデータを読み出し、メモリ103に格納してもよい。
次に、制御部101は、知識データベース112から知識データを読み出し、メモリ103に格納する(S1102)。制御部101は、知識データベース112に格納される全データを読み出し、メモリ103に格納してもよい。
次に、制御部101は、判定データベース110から判定情報データを読み出し、メモリ103に格納する(S1103)。制御部101は、判定データベース110に格納される全データを読み出し、メモリ103に格納してもよい。
次に、制御部101は、表示画面生成部105を起動する。表示画面生成部105は、ユーザに分析の対象とする合併症情報の病名の組み合わせや、病名候補情報や、病名候補情報の算出に使用する検査項目数などを選択するための画面を表示するためのデータを生成し、入出力端末130に出力する。また、制御部101は、比較検査項目設定部113を起動する。比較検査項目設定部113は、図15に示す画面の分析対象設定エリア1520の設定を受け付ける(S1104)。ステップS1104において表示画面生成部105が生成し、入出力端末130が表示する画面は、図15に示す画面の左側の分析対象設定エリア1520を含み、右側のエリアを含まない。
以下、ステップS1104で選択された合併症情報の病名の組み合わせを対象病名、合併症情報を対象合併症、病名候補情報を対象病名候補と記載する場合がある。
図15は、本発明の実施例の入出力端末130がユーザが分析の対象とする合併症情報の病名の組み合わせや、病名候補情報や、病名候補情報の算出に使用する検査項目数などの分析オプションを選択するときに入出力端末130に表示する分析結果表示画面1500を示す図である。
画面1500は、分析対象設定エリア1520と、分析結果一覧表示エリア1507と、分布の参照ボタン1508と、選択した病名を付与ボタン1509と、分布比較表示エリア1510と、検査項目設定欄1511を含む。分析対象設定エリア1520は、分析対象の病名選択欄1501と、分析対象の病名候補選択欄1502と、分析対象の検査項目選択欄1503と、分析オプション選択欄1504と、「患者数の最低値の設定」を変更するためのボタン1505Aと、「罹患判定検査情報の設定」を変更するためのボタン1505Bと、「分析実行」ボタン1506とを含む。
なお、ステップS1104で表示される画面は、分析対象設定エリア1520のみを含み、分析結果は表示されない。一方、ステップS1109で表示される画面は、図15に示す画面の全てを含む。
ユーザは、分析対象の病名選択欄1501のチェックボックスを操作し、病名の組み合わせ、すなわち、分析対象の合併症を選択する。ユーザは、分析対象の病名候補選択欄1502のチェックボックスを操作し、分析対象の病名候補を選択する。ユーザは、分析対象の検査項目選択欄1503のチェックボックスを操作し、分析対象の検査項目を選択する。ユーザは、分析オプション選択欄1504のチェックボックスを操作し、分析に使用する分析オプションを選択する。分析オプションには、複数の検査項目を判断に使用、患者数の最低値制限を使用、薬剤情報を使用などがある。
「複数の検査項目を判断に使用」がチェックされると、選択された数の検査項目を用いて病名候補を分析する。また、「患者数の最低値制限を使用」がチェックされると、患者数の最低値の設定画面1600(図16)で、病名の組み合わせ数や合併症ごとに設定される最低患者数を考慮して病名候補を分析する。さらに、「薬剤情報を使用」がチェックされると、病名候補情報テーブル1000の関連薬剤情報フィールド1006を参照して、合併症を分析する。
ユーザが「患者数の最低値の設定」変更ボタン1505Aを操作すると、表示画面生成部105は、患者数の最低値の設定画面1600(図16)を表示するためのデータを生成し、入出力端末130に出力する。
一方、ユーザが「罹患判定検査情報の設定」変更ボタン1505Bを操作すると、表示画面生成部105は、罹患判定検査情報設定画面1700(図17)を表示するためのデータを生成、入出力端末130に出力する。
また、ユーザが分析実行ボタン1506を操作すると、制御部101は、合併症情報算出部107、検査情報比較部108、病名候補分析部109及び必要に応じて薬剤情報判定部118を起動し、合併症情報算出処理(図11のS1105、図12)を実行する。
分析結果一覧表示エリア1507には、例示として、患者ID「#1」の患者の分析結果が表示されている。患者ID「#1」の患者は合併症「病名A:病名B」を発症していると診断されており、この患者の病名候補は「病名C」及び「病名G」であり、病名候補は「病名C」の判断項目が「検査項目X」及び「検査項目Y」であり、関連薬剤が「薬剤Cの処方あり」であることが表示されている。また、病名候補「病名G」の判断項目は「検査項目X」であることが表示されている。
ここで、ユーザが分析結果一覧表示エリア1507の任意の病名候補を選択し、「分布の参照」ボタン1508を操作すると、分布比較表示エリア1510に、当該患者で診断されている合併症情報に対応する罹患判定基準及び患者群の検査項目の分布と、当該患者で診断されている疾病及び病名候補からなる合併症情報に対応する罹患判定基準及び患者群の検査項目の分布が表示される。さらに、ユーザが検査項目設定欄1511を操作することによって、分布比較表示エリア1510に表示される検査項目を選択できる。
また、ユーザが選択した病名候補を選択した患者に付与すべきだと判断した場合、「選択した病名を付与」ボタン1509を操作すると、患者情報テーブル200の病名207〜209のいずれかに病名候補を記録し(具体的には、「病名C」を病名209に記録し)、選択した病名候補を患者の病名として付与する。
このように、複数の判断項目から病名候補を絞り込むことによって、選択した患者に付与すべき病名候補の判断を支援することができる。
さらに、薬剤の処方の情報を使用する場合、病名候補と関連する薬剤が処方されているかの情報を提示することによって、より適切な病名候補の判断を支援することができる。
図16は、本発明の実施例の患者数の最低値の設定画面1600を示す図である。
患者数の最低値の設定画面1600は、基本設定エリア1601と、個別設定エリア1602と、保存ボタン1603と、キャンセルボタン1604とを含む。
ユーザは、基本設定エリア1601の病名組み合わせ数の最低患者数のアップダウンボタン16011を操作することによって各病名組み合わせ数と対応する最低患者数を変更でき、設定したい最低患者数を基本設定エリア1601に直接入力できる。
ユーザは、個別設定エリア1602の合併症の最低患者数のアップダウンボタン16021を操作することによって各合併症と対応する最低患者数を変更でき、設定したい最低患者数を個別設定エリア1602に直接入力できる。
ユーザは、「保存」ボタン1603を操作することによって、変更した最低患者数を保存して、患者数の最低値の設定画面1600を終了し、分析結果表示画面1500に戻る。また、ユーザは、「キャンセル」ボタン1604を操作することによって、最低患者数を保存せずに、患者数の最低値の設定画面1600を終了し、分析結果表示画面1500に戻る。
このように、患者数の最低値を定めることによって、患者数が少ない合併症情報を分析の対象外とすることができ、合併症情報の組み合わせ数が多くなりすぎることを抑制できる。また、合併症情報数の上限値を定めることによって、合併症情報の組み合わせ数が多くなりすぎることを抑制してもよい。
図17は、本発明の実施例の罹患判定検査情報設定画面1700を示す図である。
罹患判定検査情報設定画面1700は、罹患判定検査情報変更エリア1701と、「蓄積データを用いた自動設定」ボタン1702と、「医学知識を用いた自動設定」ボタン1703と、「保存」ボタン1704と、「キャンセル」ボタン1705とを含む。
ユーザは、罹患判定検査情報変更エリア1701の罹患判定検査情報の下限値のアップダウンボタン17011を操作することによって各合併症情報の各検査項目に対応する罹患判定検査情報の下限値を変更する。また、罹患判定検査情報の上限値のアップダウンボタン17012を操作することによって、各合併症情報の各検査項目に対応する罹患判定検査情報の上限値を変更する。ユーザは、罹患判定検査情報変更エリア1701の上限値
下限値の欄に、設定したい罹患判定検査情報を直接入力できる。
このように、合併症情報毎に各検査項目の罹患判定検査情報を定義することによって、複数の疾患を発症した患者にも、新しい病名候補を適切に選択できる。
ユーザが「蓄積データを用いた自動設定」ボタン1702を操作すると、罹患判定値設定部115が起動し、統合データベース111に蓄積されたデータに基づいて、各合併症情報に対応する各検査項目の罹患判定検査情報を算出し、算出結果を用いて罹患判定検査情報変更エリア1701の罹患判定検査情報の下限値及び上限値を変更する。例えば、統合データベース111に記録されている患者を合併症情報によって分類し、合併症情報によって分類した患者群における各検査項目の標準偏差、99%信頼区間、95%信頼区間、平均値、中央値、最頻値などの統計値に基づいて、罹患判定検査情報を算出することができる。なお、罹患判定検査情報の算出に用いる統計値は前述したものに限らず、他の統計値を用いてもよい。
なお、特定の検査値のみを用いて罹患判定検査情報を算出してもよい。例えば、診断日に近い検査日の検査値を用いることによって、病態を正しく表している検査値を選択的に使用することができ、病名候補の分析の精度を向上できる。
また、分析オプション選択欄1504の「薬剤情報を使用」がチェックされている場合、薬効に関連する特定の検査値のみを対象として罹患判定検査情報を算出してもよい。例えば、関連薬剤の処方前の検査値のみを対象とする、処方後の検査値のみを対象とする、処方前後での検査値の差を比較する、又は、外来診断日の検査値のみを対象とする等である。このように特定の条件を満たす検査値のみを対象として罹患判定検査情報を算出することによって、病態を正しく表している検査値を選択的に使用することができ、病名候補の分析の精度を向上できる。
また、ユーザが「医学知識を用いた自動設定」ボタン1703を操作すると、罹患判定値設定部115が起動し、知識データベース112に蓄積された医学知識データに基づいて、各合併症情報に対応する各検査項目の罹患判定検査情報を算出し、算出結果を用いて罹患判定検査情報変更エリア1701の罹患判定検査情報の下限値及び上限値を変更する。例えば、医学知識データは、文献やガイドラインに記載された罹患判定値の情報や、国や医療機関毎に定められた罹患判定値の情報を用いてもよい。
ユーザは、「医学知識を用いた自動設定」ボタン1703を操作して、罹患判定検査情報の下限値及び上限値を自動的に設定した後、アップダウンボタン17011、17012を操作することによって、罹患判定検査情報の下限値及び上限値を微調整してもよい。
また、ユーザは、「保存」ボタン1704を操作することによって、変更した罹患判定検査情報の下限値及び上限値を保存して、罹患判定検査情報設定画面1700を終了し、分析結果表示画面1500に戻る。また、ユーザは、「キャンセル」ボタン1705を操作することによって、罹患判定検査情報の下限値及び上限値を保存することなく、罹患判定検査情報設定画面1700を終了し、分析結果表示画面1500に戻る。
図11に戻って説明を続ける。ユーザが画面1500で分析実行ボタン1506を操作すると、制御部101は、合併症情報算出部107、検査情報比較部108、病名候補分析部109及び必要に応じて薬剤情報判定部118を起動する。なお、薬剤情報判定部118は、分析オプション選択欄1504(図15)の「薬剤情報を使用」が選択されている場合に起動される。合併症情報算出部107は、メモリ103に記憶された統合データベース111のデータから、ステップS1104で選択された対象病名に対応する合併症情報を算出する合併症情報算出処理を実行する(S1105)。合併症情報算出処理の詳細は、図12を用いて後述する。
次に、制御部101は、検査情報比較部108を起動し、ステップS1105で合併症情報を算出した患者について、検査項目を比較する検査情報比較処理を実行する(S1106)。検査情報比較処理の詳細は、図13を用いて後述する。
次に、制御部101は、病名候補分析部109を起動し、ステップS1106で検査情報と罹患判定検査情報とを比較した患者について、病名候補情報を算出する病名候補情報算出処理を実行する(S1107)。病名候補情報算出処理の詳細は、図14を用いて後述する。
次に、制御部101は、表示画面生成部105を起動する。表示画面生成部105は、ステップS1107で算出した病名候補情報に基づいて、分析処理の結果を表示するための分析結果表示画面(図15)を表示するためのデータを生成し(S1108)、入出力端末130に出力する(S1109)。
図12は、本発明の実施例の合併症情報算出処理のフローチャートである。
まず、合併症情報算出部107は、患者情報テーブル200に格納された全てのデータを読み出し、メモリ103に格納する(S1201)。
次に、合併症情報算出部107は、患者情報テーブル200に記録された全ての患者IDについて処理が終了しているかを判定する(S1202)。全ての患者IDについて処理が終了していれば、合併症情報算出処理を終了する。一方、一部の患者IDについて処理が終了していなければ、ステップS1203に進む。
次に、合併症情報算出部107は、分析対象の病名選択欄1501で病名が選択されているかを判定する(S1203)。分析対象の病名選択欄1501で病名が選択されていれば、合併症情報算出部107は、分析対象の病名選択欄1501で選択された病名が病名フィールドに格納されている患者を選択する(S1204)。一方、分析対象の病名選択欄1501で病名が選択されていなければ、ステップS1205に進む。
次に、合併症情報算出部107は、患者情報テーブル200の病名フィールド207〜209に格納されている病名とその該当期間を全て取得し、病名の組み合わせである合併症情報を算出する(S1205)。例えば、病名1フィールドに「病名A」、病名2フィールドに「病名B」が格納されている場合、合併症情報は「病名A:病名B」となる。また、各合併症の該当期間は、入院年月日205から退院年月日206までの期間でもよく、最初の診断日から最後の診断日でもよい。
次に、合併症情報算出部107は、患者分類テーブル800に、合併症情報801、患者ID802及び該当期間803を関連付けて登録する(S1206)。
図13は、本発明の実施例の検査情報比較処理のフローチャートである。
まず、検査情報比較部108は、ステップS1206で作成された患者分類テーブル800に格納された全てのデータを読み出し、メモリ103に格納する(S1301)。
次に、検査情報比較部108は、判定情報テーブル700に格納された全てのデータを読み出し、メモリ103に格納する(S1302)。
次に、検査情報比較部108は、患者分類テーブル800に記録された全ての合併症情報について処理が終了しているかを判定する(S1303)。全ての合併症情報について処理が終了していれば、検査情報比較処理を終了する。一方、一部の合併症情報について処理が終了していなければ、ステップS1304に進む。
次に、検査情報比較部108は、処理すべき合併症情報と対応する全ての患者IDについて処理が終了しているかを判定する(S1304)。全ての患者IDについて処理が終了していれば、ステップS1303に戻り、次の合併症情報について処理を実行する。一方、一部の患者IDについて処理が終了していなければ、ステップS1305に進む。
次に、検査情報比較部108は、処理すべき患者IDと対応する検査項目を検査情報テーブル300から選択し、メモリ103に格納する(S1305)。このとき、患者IDと対応する全ての検査項目を読み出してもよいし、患者分類テーブル800の合併症情報と患者IDと対応する該当期間内に実施された検査項目のみを読み出してもよい。
次に、検査情報比較部108は、全ての検査項目について処理が終了しているかを判定する(S1306)。全ての検査項目について処理が終了していれば、ステップS1304に戻り、次の患者IDについて処理を実行する。一方、一部の検査項目について処理が終了していなければ、ステップS1307に進む。
次に、検査情報比較部108は、処理すべき合併症情報で、処理すべき患者IDで、処理すべき検査項目と対応する罹患判定検査情報を、判定情報テーブル700から読み出す(S1307)。
次に、検査情報比較部108は、比較結果に初期値として0を登録する(S1308)。比較結果の初期値は0以外の値、例えばNULL値などでもよい。
次に、検査情報比較部108は、処理すべき検査項目の検査値が、ステップS1307で取得した罹患判定検査情報の範囲外であるかを判定する(S1309)。処理すべき検査項目の少なくとも一つの検査値が罹患判定検査情報の範囲外である場合、比較結果を1に設定する(S1310)。一方、処理すべき検査項目の全ての検査値が罹患判定検査情報の範囲内である場合、ステップS1311に進む。
なお、特定の検査値のみを罹患判定検査情報と比較してもよい。例えば、診断日に近い検査日の検査値を用いることによって、病態を正しく表している検査値を選択的に使用することができ、病名候補の分析の精度を向上できる。
また、分析オプション選択欄1504の「薬剤情報を使用」がチェックされている場合、薬効に関連する特定の検査値のみを罹患判定検査情報と比較してもよい。例えば、関連薬剤の処方前の検査値のみを比較する、処方後の検査値のみを比較する、又は、外来診断日の検査値のみを比較する等である。このように特定の条件を満たす検査値のみを罹患判定検査情報と比較することによって、病態を正しく表している検査値を選択的に使用することができ、病名候補の分析の精度を向上できる。
なお、ステップS1309、S1310における処理は、所定数の検査値が罹患判定検査情報の範囲外である場合に比較結果を1に設定しても、所定割合の検査値が罹患判定検査情報の範囲外である場合に比較結果を1に設定しても、全ての検査値が罹患判定検査情報の範囲外である場合に比較結果を1に設定してもよく、また様々な統計処理を行った検査値を罹患判定検査情報と比較してもよい。このように、ステップS1309の判定ロジックは、ユーザが任意に選択できるとよい。
次に、検査情報比較部108は、合併症情報901、患者ID902、検査項目903及び設定された比較結果904を関連付けて検査情報比較結果テーブル900に登録する(S1311)。
このように、検査情報比較処理では、合併症情報と対応する各検査項目の罹患判定検査情報を用いて、検査値が合併症で取り得る範囲外となっているかを判定するので、現在診断されている合併症の確からしさを判定することができる。
図14A及び図14Bは、本発明の実施例の病名候補情報算出処理のフローチャートである。
まず、病名候補分析部109は、検査情報比較結果テーブル900に格納された全てのデータ、判定情報テーブル700に格納された全てのデータ、及び、病名症状対応テーブル500に格納された全てのデータを読み出し、メモリ103に格納する(S1401)。
次に、病名候補分析部109は、検査情報比較結果テーブル900に記録された全ての合併症情報について処理が終了しているかを判定する(S1402)。全ての合併症情報について処理が終了していれば、病名候補情報算出処理を終了する。一方、一部の合併症情報について処理が終了していなければ、ステップS1403に進む。
次に、病名候補分析部109は、処理すべき合併症情報と対応する全ての患者IDについて処理が終了しているかを判定する(S1403)。全ての患者IDについて処理が終了していれば、ステップS1402に戻り、次の合併症情報について処理を実行する。一方、一部の患者IDについて処理が終了していなければ、ステップS1404に進む。
次に、病名候補分析部109は、処理すべき患者IDと対応する検査項目のうち、比較結果に1が登録されている検査項目を検査情報比較結果テーブル900より選択する(S1404)。
次に、病名候補分析部109は、全ての検査項目について処理が終了しているかを判定する(S1405)。全ての検査項目について処理が終了していれば、ステップS1403に戻り、次の患者IDについて処理を実行する。一方、一部の検査項目について処理が終了していなければ、ステップS1406に進む。
次に、病名候補分析部109は、処理すべき患者で診断されている合併症情報を包含する合併症情報を選択する(S1406)。包含する合併症情報とは、診断されている合併症情報を構成する病名の全てを含み、さらに他の病名も含む合併症情報である。例えば、選択した患者の合併症情報が「病名A:病名B」である場合、病名A及び病名Bを包含する合併症情報である「病名A:病名B:病名C」や「病名A:病名B:病名G」などを選択する。
次に、病名候補分析部109は、ステップS1406で選択した合併症情報で追加される病名と処理すべき検査項目の対応が、病名症状対応テーブル500に記録されている合併症情報を選択する(S1407)。
次に、病名候補分析部109は、ステップS1406で選択した全ての合併症情報について処理が終了しているかを判定する(S1408)。全ての合併症情報について処理が終了していれば、ステップS1405に戻り、次の検査項目について処理を実行する。一方、一部の合併症情報について処理が終了していなければ、ステップS1409に進む。
次に、病名候補分析部109は、処理すべき検査項目の検査値が、ステップS1401で取得した罹患判定検査情報の範囲内であるかを判定する(S1409)。処理すべき検査項目の少なくとも一つの検査値が罹患判定検査情報の範囲内である場合、検査項目数を満たすかを判定する(S1410)。一方、処理すべき検査項目の全ての検査値が罹患判定検査情報の範囲外である場合、ステップS1408に戻り、全ての合併症情報について処理を実行する。
なお、ステップS1409における処理は、所定数の検査値が罹患判定検査情報の範囲内である場合にステップS1410に進んでも、所定割合の検査値が罹患判定検査情報の範囲内である場合にステップS1410に進んでも、全ての検査値が罹患判定検査情報の範囲内である場合にステップS1410に進んでもよく、また様々な統計処理を行った検査値を罹患判定検査情報と比較してもよい。このように、ステップS1409の判定ロジックは、ユーザが任意に選択できるとよい。
次に、病名候補分析部109は、検査項目数を満たす合併症情報を選択する(S1410)。すなわち、分析オプション選択欄1504で「複数の検査項目を判断に使用」がチェックされていると、選択された数の検査項目を用いて病名候補を分析する。このため、検査項目数が設定値に満たない場合、合併症候補を選択できない。なお、「複数の検査項目を判断に使用」がチェックされていなければ、病名候補の分析に用いる検査項目は1である。
次に、病名候補分析部109は、分析オプション選択欄1504で「薬剤情報を使用」がチェックされていると、処方情報テーブル400から、当該合併症の期間に当該患者に処方された薬剤名を選択し、薬効情報テーブル600の薬剤名601と対応疾患602の関係を参照して、合併症情報で追加される病名に対応する薬剤が処方されている合併症候補を選択する(S1411)。なお、「薬剤情報を使用」がチェックされていなければ、ステップS1411はスキップする。
次に、病名候補分析部109は、診断されている合併症情報と、ステップS1411で選択した合併症情報のうち、処理すべき合併症情報との差分の病名を病名候補として抽出する(S1412)。例えば、ある患者で診断されている合併症情報が「病名A:病名B」であり、処理すべき合併症情報が「病名A:病名B:病名C」である場合、病名候補は「病名C」である。
次に、病名候補分析部109は、検査項目及び関連薬剤を判断項目とし、患者ID、合併症情報、病名候補情報、判断項目(検査項目、関連薬剤)を関連付けて病名候補情報テーブル1000に登録する(S1413)。
このように、病名候補情報算出処理では、患者の合併症情報と、当該合併症情報以外の病名を含む合併症情報の罹患判定検査情報を比較することによって、検査値の異常が合併症によるものか、新たな病名を発症したことによるものかを判断することができ、適切な病名候補を抽出することができる。
以上に説明したように、本実施例のデータ利活用支援システム100によると、検査情報比較部108が、患者に診断されている合併症に基づいて、罹患判定検査情報703と検査値304とを比較し、病名候補分析部109が、前記比較の結果に基づいて、患者の新しい病名候補を選択するので、複数の疾患を発症した患者について、新しい病名候補を的確に選択することができる。このため、複数の疾患を発症した患者の病態と、当該患者の病名情報との齟齬を容易に把握でき、データ利活用を支援することができる。
また、検査情報比較部108が、患者で診断されている合併症の罹患判定検査情報703と検査値304とを比較した結果が患者で診断されている合併症の罹患を示さない場合、比較結果904を「1」に設定し、病名候補分析部109は、比較結果904が当該合併症の罹患を示さない場合、患者の新しい病名候補を選択するので、医師の主観が及ばない検査値から的確に候補の病名を決めることができる。
また、検査情報比較部108が、薬剤処方前、診断日に近いなど、患者の病態を正しく表している検査値304を選択して、罹患判定検査情報703と比較するので、患者の病態を正しく表している検査結果を選択的に利用して、病名候補の確度を向上することができる。
また、病名候補分析部109が、患者で診断されている合併症を包含する合併症の情報を選択し、患者で診断されている合併症と選択された合併症との差の病名から患者の新しい病名候補を選択するので、的確に候補の病名を決めることができる。
また、病名候補分析部109が、知識データベース(病名症状対応テーブル500)を参照して、差の病名と関係する症状502についての検査値の比較の結果に基づいて、患者の新しい病名候補を選択するので、検査値と対応する病名に絞ることができ、的確に候補の病名を決めることができる。
また、病名候補分析部109が、検査値304と罹患判定検査情報703とを比較して、罹患を示す合併症の情報を選択し、患者で診断されている合併症と選択された合併症との差の病名を前記患者の新しい病名候補に選択するので、医師の主観が及ばない検査値から的確に候補の病名を決めることができる。
また、病名候補分析部109が、複数種類の検査値304と罹患判定検査情報703との比較の結果に基づいて、患者の新しい病名候補を選択するので、的確に候補の病名を決めることができる。例えば、似たような病態の病名を切り分けることができる。
また、病名候補分析部109が、検査値304と罹患判定検査情報703との比較結果及び患者に処方された薬剤の情報400と薬剤に対応する病名600との比較の結果に基づいて、患者の新しい病名候補を選択するので、医師が入力を忘れた病名を抽出することができる。すなわち、薬剤が処方されている場合には、医師が診断した病気の治療を決定しているのが、入力されていない病名を補充することができる。
また、罹患判定値設定部115が、患者情報テーブル200に格納されたデータに基づいて罹患判定検査情報を算出するので、医療機関によって病名の判断が違っても候補の病名を決めることができる。また、罹患判定値設定部115が、知識データベース112に格納されたデータに基づいて罹患判定検査情報を算出するので、医療機関毎の検査値の偏りを補正して、候補の病名を決めることができる。
また、表示画面生成部105が、患者で診断されている合併症の情報、選択された病名候補及び病名候補を選択した判断材料(検査値や薬剤)を表示するための画面データを生成するので、判定の理由を含めて、分析結果を分かりやすく表示することができる。
また、表示画面生成部105が、患者で診断されている合併症の検査値の分布、及び選択された病名候補を含めた合併症の検査値の分布を表示するための画面データを生成するので、病名候補の選択を支援することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。