ひとことで言うと
多施設共通DWHのデータを秘密分散データベースに格納し、暗号化されたまま秘密計算で検索・統計処理できることを検証した研究。
Keywords
医療情報DB、サイバーセキュリティ、多施設研究、Real World Data、秘密計算
なぜこの研究をしたのか
大阪大学医学部附属病院は、関連病院と大阪臨床研究ネットワーク(OCR-net)を組織し、後ろ向き研究を支援するために多施設共通DWHを構築していた。多施設共通DWHでは、各施設に共通SQLを送り、その結果を集約することで多施設の検索集計が可能になる。一方で、施設ごとの検索結果が1例のみになる場合、個人が識別される可能性があり、データを提出できない課題があった。そこで、秘密分散・秘密計算を用いて、データを暗号化したまま統計計算とデータ抽出を行う基盤を構築した。
どう調べたか
OCR-net内に先行して設置された大阪大学医学部附属病院と大阪国際がんセンターの多施設共通DWHデータを対象とした。対象期間は2012年1月〜2019年3月で、データをNTTコミュニケーションズのデータセンタに設置した秘密分散データベースへ施設ごとに格納した。秘密計算システム「算師」を用いて、仮想シナリオに基づくデータ抽出と、患者基本情報・病名・処方・注射件数、年齢分布、性別における年齢分布、頻出薬剤、頻出病名、頻出がん部位などの統計データ算出を行い、通常のSQL処理時間と比較した。
仮想シナリオでは、胃がん患者のうち、抗がん剤を投与され、白血球減少症が起きている患者を把握できるかを検証した。具体的には、ICD10コードC16で始まる胃がん患者を抽出し、厚労省コード1:42で始まる抗がん剤投与の有無、白血球測定の有無、白血球数の最小値を用いたCTCAE5.0グレード分類に基づいて症例数をカウントした。
何がわかったか
秘密計算のテーブル操作機能などを用いることで、胃がん患者に抗がん剤を投与し、白血球減少症が起きている患者の抽出は可能であった。処理時間は、通常SQLでは2分58秒、秘密計算では1施設で1時間29分05秒、2施設で4時間32分32秒であった。
各種統計データの算出でも、SQLと秘密計算で同じ1施設データの結果が得られた。たとえば年齢分布では、SQLによる処理と秘密計算による1施設処理の合計はいずれも201,742件であり、2施設では268,094件であった。一方で、秘密計算は通常SQLより処理時間が長く、処方件数や頻出病名などでは数十分を要した。
なぜ大事なのか
多施設共通DWHでは、施設ごとの症例数が少ない場合に個人識別リスクが問題となる。本研究の基盤では、データを暗号化したまま統計的な検索・抽出を行えるため、多施設の医療データを安全性を確保しながら解析する手段となる。通常SQLと比べると秘密計算は時間を要するが、従来の多施設DWH運用では、SQL作成、各施設担当者への抽出依頼、結果の収集・集計に1施設あたり数日〜数週かかるため、実運用上は問題にならないと考察されている。
次に目指すこと
秘密計算には処理時間が長いという課題があり、処理内容に応じたアルゴリズムの工夫が必要である。本研究では、演算の手順や方法を工夫することで処理時間を短縮可能であり、本方法によるデータ解析は利用可能であると示された。今後は、病院情報システムのReal World Dataを用いて、治験や臨床研究の対象患者を探す被験者リクルートなどへの活用が期待される。