(57)【要約】【課題】短時間で実装することができ、検証漏れが生じにくいＥＤＣシステムにおける日付整合性検証プログラム等を提供する。【解決手段】本発明の医療情報収集プログラムは、コンピュータ２０を、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報３２に基づいて、検証の対象となる日付項目である比較元日付項目の日付と、比較元日付項目以外の日付項目である比較先日付項目の日付とを比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する整合性検証手段２２として動作させる。【選択図】図３
2019008511.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる前記日付項目である比較元日付項目の日付と、前記比較元日付項目以外の前記日付項目である比較先日付項目の日付とを比較することによって、前記比較元日付項目と前記比較先日付項目との間の日付の整合性を検証する整合性検証手段として動作させる医療情報収集プログラム。
【請求項２】
前記整合性定義情報には、前記日付項目が日付グループに分類されて記述され、前記日付グループ間の前後関係が記述されていることを特徴とする請求項１に記載の医療情報収集プログラム。
【請求項３】
前記整合性検証手段は、前記比較元日付項目と同一の前記日付グループに含まれる日付項目を前記比較先日付項目として整合性検証を行った後、前記比較元日付項目と異なる前記日付グループに含まれる前記日付項目を前記比較先日付項目として整合性検証を行うことを特徴とする請求項２に記載の医療情報収集プログラム。
【請求項４】
前記整合性検証手段は、前記整合性定義情報で前記比較元日付項目が含まれる前記日付グループである自グループよりも日付が前であると定義され、且つ有効な値を持つ前記日付項目を一つ以上含む前記日付グループの中で日付順が前記自グループの直前である直前グループを検索し、前記直前グループが存在する場合、前記直前グループに含まれる前記日付項目のすべてを前記比較先日付項目とし、
前記整合性定義情報で前記自グループよりも日付が後であると定義され、且つ有効な値を持つ前記日付項目を一つ以上含む前記日付グループの中で日付順が前記自グループの直後である直後グループを検索し、前記直後グループが存在する場合、前記直後グループに含まれる前記日付項目のすべてを前記比較先日付項目とすることを特徴とする請求項２または請求項３に記載の医療情報収集プログラム。
【請求項５】
前記整合性検証手段は、前記比較元日付項目の確定前に前記検証を行う１次ロジカルチェックと、前記比較元日付項目が確定しデータベースに格納された後に前記検証を行う２次ロジカルチェックを行うことを特徴とする請求項１ないし請求項４のいずれか１項に記載の医療情報収集プログラム。
【請求項６】
前記整合性検証手段は、前記１次ロジカルチェックでは、不整合を最初に発見したときにエラーメッセージを生成して検証を終了することを特徴とする請求項５に記載の医療情報収集プログラム。
【請求項７】
前記整合性検証手段は、前記比較元日付項目または前記比較先日付項目の日付の年が特定され月日が不明の場合及び年月が特定され日が不明の場合に、
不明な部分がある日付項目が前記整合性定義情報で他方の日付項目よりも日付が前と定義されている場合、不明な部分のがある日付項目の日付を特定されている年または年月の最初の日として比較を行い、
不明な部分がある日付項目が前記整合性定義情報で他方の日付項目よりも日付が後と定義されている場合、不明な部分のがある日付項目の日付を特定されている年または年月の最後の日として比較を行うことを特徴とする請求項１ないし請求項６のいずれか１項に記載の医療情報収集プログラム。
【請求項８】
医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる前記日付項目である比較元日付項目の日付と、前記比較元日付項目以外の前記日付項目である比較先日付項目の日付とを比較することによって、前記比較元日付項目と前記比較先日付項目との間の日付の整合性を検証する整合性検証手段を備えた医療情報収集装置。
【請求項９】
医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、整合性検証手段により検証の対象となる前記日付項目である比較元日付項目の日付と、前記比較元日付項目以外の前記日付項目である比較先日付項目の日付とを比較することによって、前記比較元日付項目と前記比較先日付項目との間の日付の整合性を検証する工程を含む医療情報収集方法。
【請求項１０】
医療情報登録装置と前記医療情報登録装置と通信可能に構成された医療情報登録装置を備えるＥＤＣシステムにおいて、
前記医療情報登録装置は、
医療情報を取得する医療情報取得手段と、
前記医療情報を前記医療情報登録装置に送信する医療情報送信手段を備え、
前記医療情報収集装置は、
前記医療情報登録装置から送信された前記医療情報を受信する医療情報受信手段と、
医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる前記日付項目である比較元日付項目の日付と、前記比較元日付項目以外の前記日付項目である比較先日付項目の日付とを比較することによって、前記比較元日付項目と前記比較先日付項目との間の日付の整合性を検証する整合性検証手段とを備えることを特徴とするＥＤＣシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、医療情報収集プログラム、医療情報収集装置、医療情報収集方法、ＥＤＣシステムに関する。
【背景技術】
【０００２】
人を対象として行われる医学研究は臨床研究と呼ばれている。臨床研究には、薬剤、治療法、診断法、予防法などの安全性と有効性を評価することを目的とした臨床試験が含まれ、臨床試験には、新しい薬や医療機器の製造販売の承認を国に得るための治験が含まれる。臨床研究に関するデータを電子的に収集及び管理するためのＥＤＣ（Electronic Data Capture）システムが知られている。ＥＤＣシステムにおいては、データの整合性を確保するために医師等により入力されたデータの整合性を検証する必要がある。
【０００３】
特許文献１は、ヘルスデータの整合性確認に関するものであるが、整合性確認マップ（特許文献１の明細書段落００４８〜００６７、図５、図６）を用いることにより、メモリの使用量の削減を図っている。
【０００４】
特許文献２は、検像システムに関するものであるが、オーダ情報を受信した日時から所定時間経過しても医用画像を受信しない場合に送信忘れと判定することが記載されてる（特許文献２の明細書段落００３０）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１５７１９８号公報
【特許文献２】特開２０１２−１３３４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
臨床研究データの中には日付項目を含むものが多くあるため、ＥＤＣシステムにおいては、データの整合性検証の一環として、データ間の日付の前後関係を検証することが行われている。たとえば、臨床研究参加の同意取得日は患者の生年月日よりも後であるはずであるため、同意取得日として生年月日よりも前の日付が入力された場合に再入力を促すことが行われている。
【０００７】
従来は、上記のような日付整合性の検証をシステムに組み込むためには、データ間の日付の前後関係の制約を一つ一つ拾い出し、個別にプログラムに実装する必要があった。そのため、プログラミングに長時間を要する上に、検証すべき項目に漏れが生じることも避け難かった。
【０００８】
そこで、本発明は、短時間で実装することができ、検証漏れが生じにくい医療情報収集プログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の医療情報収集プログラムは、コンピュータを、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる日付項目である比較元日付項目の日付と、比較元日付項目以外の日付項目である比較先日付項目の日付とを比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する整合性検証手段として動作させる。
【００１０】
本発明の医療情報収集装置は、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる日付項目である比較元日付項目の日付と、比較元日付項目以外の日付項目である比較先日付項目の日付とを比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する整合性検証手段を備えている。
【００１１】
本発明の医療情報収集方法は、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、整合性検証手段により検証の対象となる日付項目である比較元日付項目の日付と、比較元日付項目以外の日付項目である比較先日付項目の日付とを比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する工程を含んでいる。
【００１２】
本発明のＥＤＣシステムは、医療情報登録装置と医療情報登録装置と通信可能に構成された医療情報登録装置を備え、医療情報登録装置は、医療情報を取得する医療情報取得手段と、医療情報を医療情報登録装置に送信する医療情報送信手段を備え、医療情報収集装置は、医療情報登録装置から送信された医療情報を受信する医療情報受信手段と、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述した整合性定義情報に基づいて、検証の対象となる日付項目である比較元日付項目の日付と、比較元日付項目以外の日付項目である比較先日付項目の日付とを比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する整合性検証手段とを備えている。
【発明の効果】
【００１３】
本発明によれば、短時間で実装することができ、検証漏れが生じにくい医療情報収集プログラム等を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】ＥＤＣシステムの全体構成図である。
【図２】医療情報登録装置の機能ブロック図である。
【図３】医療情報収集装置の機能ブロック図である。
【図４】整合性定義情報の一例を示す図である。
【図５】日付項目間の前後関係を説明する図である。
【図６】ＥＤＣシステムの動作を説明するフローチャートである。
【図７】日付グループ内処理を説明するフローチャートである。
【図８】日付グループ間処理を説明するフローチャートである。
【図９】前チェックを説明するフローチャートである。
【図１０】後チェックを説明するフローチャートである。
【図１１】図１１（Ａ）、（Ｂ）は整合性定義情報の具体例を示す図である。
【図１２】エラーメッセージ表示画面の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。本実施形態では、医療情報として治験に関する情報を例に説明するが、本発明は、日付項目を含む他の医療情報、たとえば、治験以外の臨床研究に関する情報に対しても適用することができる。
【００１６】
図１は、本発明の一実施形態であるＥＤＣシステム１の全体図である。ＥＤＣシステム１は、病院等の臨床研究が実施される機関に設置され、医師等が医療情報を入力するのに用いられる医療情報登録装置１０と、医療情報登録装置１０に入力された医療情報を収集しデータベースに格納する医療情報収集装置２０を備えている。医療情報登録装置１０と医療情報収集装置２０はネットワーク２に接続され、相互に通信可能に構成されている。ＥＤＣシステム１においては、医療情報登録装置１０同士が相互に通信を行う必要は無い。ネットワーク２はプライベートなネットワークとインターネット等のオープンなネットワークのいずれでもよいが、高度な秘密性を持つ医療情報の性質上、オープンなネットワークを用いる場合には、たとえばＴＬＳ（Transport Layer Security）により医療情報登録装置１０と医療情報収集装置２０との間の通信を暗号化する必要がある。
【００１７】
医療情報登録装置１０は、ＣＰＵ（Central Processing Unit）、主記憶装置、入出力装置、通信装置、表示装置等のハードウェアを備えたコンピュータであり、たとえば、パーソナルコンピュータ、タブレット型端末、スマートフォン等を用いることができる。
【００１８】
医療情報収集装置２０は、ＣＰＵ、主記憶装置、入出力装置、通信装置等のハードウェアを備えたサーバコンピュータである。医療情報収集装置２０は、１台のコンピュータにより構築してもよいし、２台以上のコンピュータにより構築してもよい。また、クラウド上に仮想的に構築してもよい。
【００１９】
図２は、医療情報登録装置１０の機能ブロック図である。医療情報登録装置１０は、医療情報取得手段１１、医療情報送信手段１２、記憶部１５を備えている。
医療情報取得手段１１は、液晶ディスプレイ装置等の表示装置に医師等のユーザが医療情報を入力するためのインターフェイス画面を表示し、入力された医療情報を取得し、記憶部１５に医療情報１６として格納する。インターフェイス画面は、たとえば、医療情報登録装置１０で動作するウェブブラウザを利用して表示することができる。臨床研究は長期間に亘って多数の被験者に対して行われ、被験者のプロフィール、検査結果等多くの情報が収集されるが、ここで入力される医療情報１６は、そのうちの一部の情報、たとえばある被験者のある年度の検査結果である
【００２０】
医療情報送信手段１２は、医療情報１６を読み出してネットワーク２を介して医療情報収集装置２０に送信する。
【００２１】
記憶部１５は、たとえばＤＲＡＭ（Dynamic Random Access Memory）により構成され、医療情報取得手段１１により取得された医療情報１６を記憶する。
【００２２】
上記の各手段は、医療情報登録装置１０のＣＰＵが主記憶装置に格納されたコンピュータプログラムを実行し、各ハードウェアを制御することにより実現される。
【００２３】
図３は、医療情報収集装置２０の機能ブロック図である。医療情報登録装置２０は、医療情報受信手段２１、整合性検証手段２２、データベース管理手段２３、記憶部３０を備えている。
【００２４】
医療情報受信手段２１は、医療情報登録装置１０から送信された医療情報を受信し、医療情報３１として記憶部３０に格納する。
【００２５】
整合性検証手段２２は、医療情報受信手段２１が受信した医療情報３１または臨床研究データベース３３に既に格納されている医療情報を読み出し、整合性定義情報３２に基づいて、検証の対象となる日付項目である比較元日付項目の日付と、被比較元日付項目以外の日付項目である比較先日付項目の日付を比較することによって、比較元日付項目と比較先日付項目との間の日付の整合性を検証する。整合性検証手段２２は、日付の不整合を検出した場合は医療情報登録装置１０のインターフェイス画面にその旨を表示して正しい情報の入力を促す。整合性検証手段２２が検証を行うタイミングは、医療情報の確定前（１次ロジカルチェック）と確定後（２次ロジカルチェック）の一方または両方である。１次ロジカルチェックは、たとえば医師等が医療情報登録装置１０に入力した医療情報が医療情報収集装置２０に送信された際に行う。１次ロジカルチェックで不整合が検出された場合は入力された医療情報を確定させず臨床研究データベース３３に格納しない。２次ロジカルチェックは、たとえばデータマネージャ等が、確定し臨床研究データベース３３に格納済みの医療情報の確認（データクリーニング）を開始するときに行う。２次ロジカルチェックで不整合が検出された場合は、クエリ案を作成する。
【００２６】
整合性検証手段２２による検証は次のように行う。
（１）検証の対象とする項目（自項目）は、日付（年月日）の情報を持ち時刻（時分秒）の情報を持たないものとする。年月日の内一部のみ存在するもの（たとえば「２０１７年５月」のように年月が存在し、日が存在しないもの）は対象とする。自項目が空の場合、チェックを実行しない。この空とは、未入力、不完全な日付、全て不明を指す。
（２）比較は、自項目の上位（自項目よりも日付が前の方向）、下位（自項目よりも日付が後の方向）ともに行う。１次ロジカルチェックのエラーの場合は、最初にエラーとなった項目に対して、メッセージを表示する。
（３）「上位の項目の日付＞下位の項目の日付」であった場合に、不整合があると判定する。（整合性定義情報３２においては日付項目の設定は、「上位≦下位」で並んでいる）
（４）比較は、自項目から見て上位から下位の順にチェックを実行する。
（５）比較先が上位、下位合わせて複数存在する場合、直前・直後の日付が空でなければ、その直前・直後の日付のみと比較する。空である場合は、その比較先のさらに次の日付項目を比較対象として、チェックを実行する。
（６）比較先が繰返し項目の場合、繰返し番号毎にチェックを実行する。ただし、同じ繰返し項目同士の比較は行わない。
（７）比較先が繰返し画面の場合、繰返し番号毎にチェックを実行する。ただし、同じ繰返し画面同士の比較は行わない。
（８）比較元または比較先の日付項目の日付の年が特定され月日が不明の場合及び年月が特定され日が不明の場合には次のように日付を変換してから比較を行う。不明な部分のある日付項目が整合性定義情報３２で他方よりも日付が前と定義されている場合（上位の日付項目の場合）、不明な部分のある日付を特定されている年または年月の最初の日として比較を行う。同様に、不明な部分のある日付項目が整合性定義情報３２で他方よりも日付が後と定義されている場合（下位の日付項目の場合）、不明な部分のある日付を特定されている年または年月の最後の日として比較を行う。
この変換の具体例を次に示す。（ａ）が上位の日付項目の場合、（ｂ）が下位の日付項目の場合である。
yyyy / 不明 / 不明  ⇒  （ａ）yyyy / 01 / 01     （ｂ）yyyy / 12 / 31
yyyy / MM / 不明   ⇒  （ａ）yyyy / MM / 01    （ｂ）yyyy / MM / （当該月の最終日）
たとえば、終了時調査日（上位）が2015/10/15、死亡日（下位）が2015/不明/不明である場合、2015/10/15（終了調査日）と2015/12/31（死亡日）の比較としてチェックを行う。
【００２７】
データベース管理手段２３は、受信した医療情報を臨床研究データベース３３に格納すると共に、臨床研究データベース３３を管理する。データベース管理手段２３は、たとえば公知のＲＤＢＭＳ（Relational DataBase Management System）により実現することができる。
【００２８】
記憶部１５は、たとえばＤＲＡＭとＨＤＤ（Hard Disk Drive）により構成され、医療情報３１、整合性定義情報３２、臨床研究データベース３３を記憶する。記憶部３０は、医療情報収集装置２０が備える主記憶装置と外部記憶装置により構成するほか、医療情報収集装置２０がアクセス可能な他のコンピュータの記憶装置やクラウド上の記憶領域により構成することもできる。
【００２９】
上記の各手段は、医療情報収集装置２０のＣＰＵが主記憶装置に格納されたコンピュータプログラムを実行し、各ハードウェアを制御することにより実現される。
【００３０】
図４は、整合性定義情報３２の一例を示す図である。整合性定義情報３２は、医療情報に含まれる日付項目間の日付の前後関係の制約を構造化して記述したものであり、この例ではＸＭＬ（Extensible Markup Language）で記述している。また、日付項目が日付グループに分類されて記述され、日付グループ間の前後関係が記述されている。日付グループは任意に設定できるが、たとえば、１回の検査に関する日付項目等、同一または比較的近い日付を持つ日付項目を一つの日付グループとする。
【００３１】
グループ開始行３２ｂ（<TimelineNodeGroup...>の行）からグループ終了行３２ｄ（</TimelineNodeGroup>の行）までが一つの日付グループに関するグループ記述３２ａである。グループ開始行３２ｂとグループ終了行３２ｄの間には、日付グループ内の各日付項目を定義する日付項目行３２ｃ（<TimelineNode... />の行）が一つ以上記述されている。なお、各行末の「<!--...-->」の部分はコメントである。
【００３２】
グループ開始行３２ｂ内の「0id="SE_17Y_1"」は、その日付グループの識別子が「SE_17Y_1」であることを示している。「BeforeTimelineNodeGroupOids="SE_DM_0"」は、その日付グループの直前の日付グループの識別子が「SE_DM_0」であることを示している。この記述により、その日付グループに含まれる日付項目の日付は、直前の日付グループに含まれる日付より後でなければならないことを示している。直前の日付グループが複数ある場合は、識別子が複数記述される。グループ開始行３２ｂ内の「Parallel="true"」は、そのグループ内の日付項目が、そのグループ内では日付の前後関係を持たない（時系列を持たず日付の整合性を検証する必要がない）ことを示している。グループ内の日付項目がそのグループ内で日付の前後関係を持つ場合は、グループ開始行３２ｂに「Parallel="false"」と記述し、あるいは記述を省略する。
【００３３】
日付項目行３２ｃ内の「StudyEventOid="SE_l7Y"」は日付項目の研究イベント（たとえば、２０１７年度の定期検査）の識別子が「SE_l7Y」であることを示している。図４の例では、同じ日付グループ内の各日付項目には同じイベント識別子を付与しているが、異なるイベント識別子を付与することも可能である。「ItemOid=”VH_DT”」は日付項目の識別子が「VH_DT」であることを示している。グループ内の日付項目に前後関係がある場合は、日付が前のものが先（上の行）に記述される。「StudyEventOid」と「ItemOid」の組み合わせが日付項目を特定するキーとなっている。このようにすることで、研究イベントは異なるが近い日付を持つ日付項目がある場合に対応することができる。
【００３４】
整合性定義情報３２は、ＸＭＬ以外の形式、たとえば、ＪＳＯＮ（JavaScript Object Notation）、ＹＡＭＬ（YAML Ain’t Markup Language）、バイナリ、ＴＳＶ（Tab-Separated Values）、ＣＳＶ（Comma-Separated Values）等の形式で定義することもできる。
【００３５】
図５は、整合性定義情報３２に記述された日付項目間の前後関係を模式的に示したものである。臨床研究が開始されてから終了するまでの間の一人の被験者に関する医療情報には多数の情報が含まれるが、図５の医療情報４０には日付項目の一部を抜き出して示している。
【００３６】
図５で長方形の枠で示したものが日付グループ４１である。各日付グループ４１は、名称４１ａと１つ以上の日付項目４１ｂ、・・・を含んでいる。日付グループ４１間の日付の前後関係を図５では日付グループ４１間を結ぶ矢印で示している。たとえば、名称４１ａが「研究開始日」である日付グループ４１に含まれる日付項目の日付は、名称４１ａが「定期検査２０１７」である日付グループ４１に含まれる日付項目の日付よりも前でなければならないことを示している。日付グループ４１内の各日付項目４１ｂ、・・・の日付にも前後関係が存在する場合があり、同様に矢印で示している。日付グループには前後関係に制約がないものもあるため、医療情報４０の中には、通常、「研究開始日」→「登録」→「中止時」→「死亡」→「研究終了日」のようなタイムラインが複数存在する。そのため、ある日付グループの直前の日付グループが複数存在する場合がある。
【００３７】
図６は、整合性検証手段２２による検証処理を説明するフローチャートである。概要としては、まず、比較元日付項目と同一の日付グループに含まれる日付項目との整合性検証を行い、次に、比較元日付項目と異なる日付グループに含まれる日付項目との間で整合性検証を行う。
【００３８】
整合性検証手段２２は、まず、日付グループ内処理を行う（Ｓ１）。日付グループ内処理は同一の日付グループ内の日付項目間の検証を行うものであるが、詳細は後述する。
【００３９】
整合性検証手段２２は、日付グループ内処理を行い、この検証が１次ロジカルチェックであり、かつ、エラーメッセージがある場合は、医療情報登録装置１０のインターフェイス画面にメッセージを表示して（Ｓ３）処理を終了する。すなわち、１次ロジカルチェックで不整合が発見された場合は、最初に不整合が発見された段階で検証を終了し、日付グループ間処理は行わずにメッセージを表示する。
【００４０】
整合性検証手段２２は、検証が１次ロジカルチェックでない場合、または、グループ内処理の結果エラーメッセージがなかった場合は、日付グループ間処理を行う（Ｓ４）。日付グループ間処理は、異なる日付グループに属する日付項目間の検証を行うものであるが、詳細は後述する。
【００４１】
整合性検証手段２２は、日付グループ間処理の結果不整合が発見され、メッセージがある場合は、メッセージを表示し処理を終了する（Ｓ５の判定がＹＥＳ、Ｓ３）。日付グループ間処理の結果不整合が発見されずメッセージがない場合は、処理を終了する（Ｓ５の判定がＮＯ）。
【００４２】
図７は、日付グループ内処理（図６のＳ１）の詳細を説明するフローチャートである。
整合性検証手段２２は、整合性定義情報３２を参照して検証対象の日付項目が属する日付グループが時系列を持つか否かを判定する（Ｓ１１）。この判定は、たとえば、整合性定義情報３２のグループ開始行３２ｂに記述されたParallel属性により、「Parallel=true」の場合時系列を持たない、「Parallel=false」またはParallel属性の記述がない場合に時系列を持つと判定する。日付グループが時系列を持たない場合は、図６のＳ１に処理を戻す。
【００４３】
整合性検証手段２２は、日付グループが時系列を持つ場合は、記憶部３０を参照して比較元の日付を取得し（Ｓ１２）、比較先の日付の取得を試みる（Ｓ１３）。比較先の日付が取得できなかった場合は、図６のＳ１に処理を戻す（Ｓ１４の判定がＮＯ、Ｓ１）。
【００４４】
整合性検証手段２２は、比較先の日付が取得できた場合は、整合性定義情報３２を参照し比較先が比較元より前に定義されているか否かを判定する（Ｓ１４の判定がＹＥＳ、Ｓ１５）。
【００４５】
整合性検証手段２２は、比較先が比較元よりも前に定義されている場合は、比較先の日付が比較元の日付よりも前であるか否かを判定する（Ｓ１５の判定がＹＥＳ、Ｓ１６）。整合性検証手段２２は、比較先の日付が比較元の日付よりも前である場合はメッセージを生成しＳ１３に処理を戻す（Ｓ１６の判定がＹＥＳ、Ｓ１７、Ｓ１３）。比較先の日付が比較元の日付よりも前でない場合はメッセージを生成せずＳ１３に処理を戻す（Ｓ１６の判定がＮＯ、Ｓ１３）。
【００４６】
整合性検証手段２２は、比較先が比較元よりも前に定義されていない場合は、比較先の日付が比較元の日付よりも後であるか否かを判定する（Ｓ１５の判定がＮＯ、Ｓ１８）。整合性検証手段２２は、比較先の日付が比較元の日付よりも後である場合はメッセージを生成しＳ１３に処理を戻す（Ｓ１８の判定がＹＥＳ、Ｓ１７、Ｓ１３）。比較先の日付が比較元の日付よりも後でない場合はメッセージを生成せずＳ１３に処理を戻す（Ｓ１８の判定がＮＯ、Ｓ１３）。
【００４７】
図８は、日付グループ間処理（図６のＳ４）の概要を説明するフローチャートである。
整合性検証手段２２は、検証対象の日付項目が含まれる日付グループよりも日付が前である日付グループに含まれる日付項目との間で検証をする前チェックを行う（Ｓ２１）。前チェックの詳細については後述する。
【００４８】
整合性検証手段２２は、前チェックの結果、この検証が１次ロジカルチェックであり、かつ、エラーメッセージがある場合は、図６のＳ４に処理を戻す（Ｓ２２の判定がＮＯ、Ｓ４）。
【００４９】
整合性検証手段２２は、前チェックの結果、この検証が２次ロジカルチェックであるか、または、エラーメッセージがない場合は、検証対象の日付項目が含まれる日付グループよりも日付が後である日付グループに含まれる日付項目との間で検証をする後チェックを行う（Ｓ２２の判定がＮＯ、Ｓ２３）。後チェックの詳細については後述する。
【００５０】
図９は、前チェック（図８のＳ２１）の詳細を説明するフローチャートである。前チェックの概要としては、比較元日付項目が含まれる自グループよりも日付が前であり、かつ有効な値を持つ日付項目を一つ以上含む直前グループを検索し、直前グループが存在する場合、直前グループに含まれる日付項目のすべてとの間で日付の比較を行う。
【００５１】
整合性検証手段２２は、医療情報３１または臨床研究データベース３３を参照して比較元の日付項目の日付を取得する（Ｓ３１）。
整合性検証手段２２は、比較元の日付項目が属する日付グループより前の日付グループに関する情報の取得を試みる（Ｓ３２）。前の日付グループがない場合には、図８のＳ２１に処理を戻す（Ｓ３３の判定がＮＯ、Ｓ２１）。前の日付グループがある場合には、前の日付グループから比較先の日付項目の日付の取得を試みる（Ｓ３３の判定がＹＥＳ、Ｓ３４）。
【００５２】
整合性検証手段２２は、比較先の日付がない場合には、さらに前の日付グループに対してＳ３２〜Ｓ３７の処理を再帰的に行う（Ｓ３５の判定がＮＯ、Ｓ３８）。比較先の日付がある場合は、比較元の日付が比較先の日付よりも前であるか否かを判定する（Ｓ３５の判定がＹＥＳ、Ｓ３６）。
整合性検証手段２２は、比較元の日付が比較先の日付よりも前でない場合は、Ｓ３４に処理を戻す（Ｓ３６の判定がＮＯ、Ｓ３４）。比較元の日付が比較先の日付よりも前である場合は、メッセージを生成し、さらに前の日付グループに対してＳ３２〜Ｓ３７の処理を再帰的に行う（Ｓ３６の判定がＹＥＳ、Ｓ３７、Ｓ３８）。
【００５３】
図１０は、後チェック（図８のＳ２３）の詳細を説明するフローチャートである。後チェックの概要としては、比較元日付項目が含まれる自グループよりも日付が後であり、かつ有効な値を持つ日付項目を一つ以上含む直後グループを検索し、直後グループが存在する場合、直後グループに含まれる日付項目のすべてとの間で日付の比較を行う。
【００５４】
整合性検証手段２２は、医療情報３１または臨床研究データベース３３を参照して比較元の日付項目の日付を取得する（Ｓ４１）。
整合性検証手段２２は、比較元の日付項目が属する日付グループより後の日付グループに関する情報の取得を試みる（Ｓ４２）。後の日付グループがない場合には、図８のＳ２３に処理を戻す（Ｓ４３の判定がＮＯ、Ｓ２３）。後の日付グループがある場合には、後の日付グループから比較先の日付項目の日付の取得を試みる（Ｓ４３の判定がＹＥＳ、Ｓ４４）。
【００５５】
整合性検証手段２２は、比較先の日付がない場合には、さらに後の日付グループに対してＳ４２〜Ｓ４７の処理を再帰的に行う。（Ｓ４５の判定がＮＯ、Ｓ４８）。比較先の日付がある場合は、比較元の日付が比較先の日付よりも後であるか否かを判定する（Ｓ４５の判定がＹＥＳ、Ｓ４６）。
整合性検証手段２２は、比較元の日付が比較先の日付よりも後でない場合は、Ｓ４４に処理を戻す（Ｓ４６の判定がＮＯ、Ｓ４４）。比較元の日付が比較先の日付よりも前である場合は、メッセージを生成し、さらに後の日付グループに対してＳ４２〜Ｓ４７の処理を再帰的に行う。（Ｓ４６の判定がＹＥＳ、Ｓ４７、Ｓ４８）。
【００５６】
上記の動作を具体的なデータ例で更に説明する。図１１（Ａ）は、ＸＭＬで表現された整合性定義情報３２の例で、基本的な構造は図５に示したものと同様である。整合性定義着情報３２には、識別子（TimelineNodeGroup Oid）がそれぞれ「TNG1」、「TNG2」、「TNG3-1」、「TNG3-2」、「TNG4」、「TNG-5」である６個の日付グループ５１〜５６が定義されている。日付グループ５２の記述中には、日付順が直前である日付グループが日付グループ５１であること（BeforeTimelineNodeGroups=“TNG1”）が記述されている。同様に、日付グループ５２〜５６についても、日付の順序がその日付グループの直前である日付グループの識別子が記述されている。日付グループ５３、５４はそれぞれ直前の日付グループを二つ持っている。なお、研究イベントの識別子（TimeLineNode StudyEventOid）は、この例の日付グループ５３、５４のように複数の日付グループの間で共通（SE3）となっていても良い。
【００５７】
各日付グループは識別子（ItemOid）が「DATE1」〜「DATE10」である日付項目６１〜７０を１個または２個含んでいる。日付グループ内の日付項目間の前後関係は、日付が先であるべき日付項目を先に（上の行に）定義することで示している。
【００５８】
図１１（Ｂ）は、図１１（Ａ）に示した整合定義情報３２に記述された日付グループ間の前後関係、日付項目間の前後関係を模式的に示したものである。同図では、矢印の始点側に示された日付グループまたは日付項目の日付が前であることを示している。たとえば、「DATE1→DATE2」はタイムノード６１の日付がタイムノード６２の日付より前であるべきことを示している。
【００５９】
自項目が日付グループ５１の日付項目６２（以下「SE1.DATE2」のように表記する）である場合は、次の順でチェックを実行する。
（１）SE1.DATE1＞ SE1.DATE2（日付グループ内処理（Ｓ１））
（２）SE1.DATE2＞ SE2.DATE3（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（３）SE1.DATE2＞ SE2.DATE4（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（４）SE1.DATE2＞ SE3.DATE5（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（５）SE1.DATE2＞ SE3.DATE6（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（６）SE1.DATE2＞ SE3.DATE7（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（７）SE1.DATE2＞ SE5.DATE10（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（８）SE1.DATE2＞ SE4.DATE8（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
（９）SE1.DATE2＞ SE4.DATE9（日付グループ間処理（Ｓ４）、後チェック（Ｓ２３））
【００６０】
図１２は、図６のステップＳ３で医療情報登録装置１０に表示されるエラーメッセージの一例を示す図である。エラー通知画面８０は、日付グループ「定期調査２０１７」に含まれる日付項目「来院日」、「検査実施日」を入力しようとした際にエラーが検出された例である。日付グループ「中止時」に含まれる日付項目「中止日」が既に臨床研究データベース３３に「２０１７年１月１０日」と登録され、整合性定義情報３２において「定期調査２０１７」は「中止時」よりも前であると定義されているものとする。「来院日」として「２０１７年２月１５日、「検査実施日」として「２０１７年２月１８日」を入力したため、エラー通知画面８０の上部には、入力した日付にエラーがあることを示す「入力内容にエラーがあります。各項目を確認してください。」というエラーメッセージ８１が表示されている。また、各日付項目の欄にエラーの具体的な内容を示す「［中止時］［中止日］より後の日付です。ご確認ください。」というエラーメッセージ８２、８３も表示されている。
【００６１】
本実施形態では、整合性検証を医療情報収集装置２０で行うものとしたが、医療情報登録装置１０に整合性検証手段２２と同等の手段を構成して、検証の一部または全部を医療情報登録装置１０で行うようにすることもできる。このようにした場合、１次ロジカルチェックは、医療情報登録装置１０に入力された医療情報が医療情報収集装置２０に送信される前に行うことができる。
【００６２】
本実施形態では、整合性定義情報３２を医療情報収集装置２０の記憶部３０に格納するものとしたが、医療情報収集装置２０からアクセス可能であれば、他の装置、たとえば、医療情報収集装置２０からは独立したストレージ装置に格納することもできる。臨床研究データベース３３についても同様である。
【００６３】
ＥＤＣシステム１においては、整合性定義情報３２に日付項目間の前後関係が構造化されて記述され、整合性検証手段２２は整合性定義情報３２に基づいて比較元日付項目と比較先日付項目の日付を比較して整合性を検証することができるから、膨大な数に上る二つの日付項目の組み合わせの一つ一つについて個別にプログラミングする必要が無く、効率的に整合性チェックを実装することができる。たとえば、図１１の例において、日付項目６２と日付項目６５との関係が直接定義されていなくても、図６〜図１０に示したロジックにより両者の関係を検証することができる。また、整合性を検証すべき日付項目の組み合わせの実装漏れを防止することができる。
【００６４】
整合性定義情報３２では、日付項目が日付グループに分類されて記述され、日付グループ間の前後関係が記述されている。そのため、整合性検証手段２２は、比較先日付項目を効率よく検索することができる。
【００６５】
整合性検証手段２２は、前チェックにおいて、自グループよりも日付が前であると定義され、且つ有効な値を持つ日付項目を一つ以上含む日付グループの中で日付順が前記自グループの直前である直前グループを検索し、直前グループが存在する場合、直前グループに含まれる前記日付項目のすべてを比較先日付項目として検証を行う。後チェックにおいても同様の手順で検証を行う。そのため、日付の比較演算の回数が少なくなり処理時間を短縮することができる。
【００６６】
整合性検証手段２２は、１次ロジカルチェックでは、不整合を最初に発見したときにエラーメッセージを生成して検証を終了する。そのため、処理時間を短縮し、不整合があることを早期にユーザに通知することができる。
【００６７】
整合性検出手段２２は、日付項目の月日または日が不明の場合、特定されている年または年月の最初の日または最後の日に変換して日付の比較を行う。そのため、日付に不明な部分がある場合でも、明らかな不整合がある場合にはそれを検出することができる。
【００６８】
本発明は、ＥＤＣシステムのほか、上記の各手段としてコンピュータを動作させる方法、上記の各手段としてコンピュータを動作させるコンピュータプログラム、そのようなコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体としても実施することができる。
【符号の説明】
【００６９】
１  ＥＤＣシステム、２  ネットワーク、１０  医療情報登録装置、１１  医療情報取得手段、１２  医療情報送信手段、１５  記憶部、１６  医療情報、２０  医療情報収集装置、２１  医療情報受信手段、２２  整合性検証手段、２３  データベース管理手段、３０  記憶部、３１  医療情報、３２  整合性定義情報、３３  臨床研究データベース、４０  医療情報、４１  日付グループ、４１ａ  名称、４１ｂ、ｃ  日付項目、５１〜５６  日付グループ、６１〜７０  日付項目
【図１】
2019008511.tif 000003
【図２】
2019008511.tif 000004
【図３】
2019008511.tif 000005
【図４】
2019008511.tif 000006
【図５】
2019008511.tif 000007
【図６】
2019008511.tif 000008
【図７】
2019008511.tif 000009
【図８】
2019008511.tif 000010
【図９】
2019008511.tif 000011
【図１０】
2019008511.tif 000012
【図１１】
2019008511.tif 000013
【図１２】
2019008511.tif 000014