見出し画像

ヘルスケアスタートアップでデータサイエンティストとして働く理学療法士。 データマネジメント編

 ヘルスケアベンチャー企業での解析プロダクトの立ち上げ経験を題材にヘルスケア分野におけるデータサイエンスの実務をお伝えできればと考えています。理学療法学を学び→基礎研究分野から転職→ヘルスケアスタートアップ企業の駆け出しデータサイエンティストの奮闘記だと思ってお読みいただければ幸いです。

 って何で急にこんなことを書き出したかというと・・・。ちょっとしたことからとある雑誌のコラム記事の執筆を依頼されました。嬉しかったので気合入れて書きました。が、かなり字数オーバーだったようで、編集後はスッキリした記事になりました。意図を汲んでいただいた編集でしたので言いたいことはそのままで簡潔になったので、それはそれでよかったのです。

 ただ、お蔵入りになった部分が勿体無いので、noteで公開することにしました。(依頼者の許可はとっています。) 


はじめに・・・

 株式会社PREVENTは、“一病息災の健康づくり支援モデルを社会に”という事業ミッションを掲げ、データを活用した疾病管理プログラム(Disease Management Program 以下、DMP)事業を展開しています。

 保険者(企業の健康保険組合や自治体など)を対象とした医療データ解析サービス「Myscope」により生活習慣病や脳梗塞や心筋梗塞などの脳血管疾患および心大血管疾患の発症リスクが高い組合員を抽出します。その中から、医師の承諾を得た希望者に対して生活習慣改善指導プログラム「Mystar」に参加いただきます。Mystarの目的は、脳血管疾患、心大血管疾患の発症リスクを低減するために参加者一人ひとりに合わせてリスク習慣の評価と、そのリスク習慣の改善支援を実施することです。介入後はMyscopeによってDMPの評価をレポートし、保険者と協働しよりよいDMP事業を目指していきます。

 対象者抽出→個別最適な介入→事業評価までをワンストップで行うことが強みの一つです。そして、その強みを支えているのがデータマネジメントです。

データマネジメントについて

 データサイエンティストというとデータサイエンスやAIに着目されがちですが、

データサイエンス力、データエンジニアリング力をベースにデータから価値を創出し、ビジネス課題に答えを出すプロフェッショナル

データサイエンス協会

と定義されています。データサイエンス協会が出しているデータサイエンティストのスキルセットには、

ビジネス力(課題背景を理解した上で、ビジネス課題を整理し、解決する力)
データサイエンス(情報処理、人工知能、統計学などの情報科学系の知恵を理解し、使う力)
データエンジニアリング(データサイエンスを意味のある形に使えるようにし、実装、運用できるようにする力)

データサイエンティスト スキルチェックリストver.4

の3つのスキルセットが定義されており、データを活用するための幅広い知識が要求されます。実際に、私の場合も実務で最もエフォートを割くのはデータコレクションやデータクレンジングと呼ばれる前処理の部分(エンジニアリング)で、次に要件定義や調整(ビジネス力)、その次に分析(データサイエンス)と続きます。

 特に解析事業の立ち上げ段階では、データサイエンスの社会実装を実現するため”使える"データを確保することを一番に考えなくてはなりませんでした。初めからデータを触ってあーだこーだできるのはかなり恵まれた環境だとその時に気がつきました。

データコレクションの脱属人化

 データコレクションと言っても何かアプリケーションをインストールしてもらって、そこから取得。なんてことはできない分野です(セキュリティが厳しく全体として保守的)。そのため、すでにクライアント(保険者)側で使っているシステムからデータを取得して、物理媒体に保存、その後データベースにインサートみたいな手順を踏む必要がありました。

 一般的なデータ解析会社だと、ん?どういうこと?ってなると思います。ヘルスケア分野ではちょっとわかる方もいるのではないでしょうか。

 健康診断結果やレセプトについては、クライアントが保有しています。扱うデータの特徴でクラウドでのやりとりが困難なので、物理媒体により受け取ります。多くの場合、クライアントが保有するデータはそれぞれの運用ルールに最も適したフォーマットで保管されています。そのため、自社サービスに組み込む前には適したフォーマットに変換する必要があります

 Myscope立ち上げで、はじめに取り組んだことはデータコレクションを誰でもできる状態にすることです。

 レセプトに関しては、審査支払機関によるチェックが必要であることからフォーマットは統一されており、情報も公開されていました。それを参考にアプリケーション(アプリ名:爆速丸)を作成し、受け取り現場で必要な処理ができるようにしました。爆速丸のベータ版はpythonとAutomatorを組み合わせたものでアプリと呼べる代物ではありませんでしたが、エンジニアの力を借りて改良し、現在はサービス拡大にも耐えられる仕様になっています。

 一方で、健康診断結果については、必須検査項目はあるのですが、データフォーマットはクライアントの運用に最適化されており(ベンダーもバラバラ)、手作業によるクレンジングが必要でした。そこで、自動化は諦め工数削減の方向で考えました。しばらくは工数をかけながら、ひとつひとつ対応していきましたが、そのクレンジング知見を蓄えて、集大成みたいなスクリプト(・・・具体的には言えません。)を作成しました。今では、チェックポイントさえ理解すれば誰でも扱えるようになりました。

 これらのプロダクトのおかげで、レセプトデータは受け取りからリレーショナルデータベース(RDB)に入れる手前までのクレンジングを自動で行えるようになり、健康診断結果は受け取り後にデータサイエンティストの確認が必要であるものの大幅な工数削減が可能になりました。
 つまり、非データサイエンティストにデータ受領とRDBインサート手前までの処理をお任せすることができるようになりました。このデータコレクション作業をデータサイエンティストが専任で行ったり、処理に時間をかけて実施するようではサービスとして成り立ちませんので、Myscopeを社会実装するためには一番に取り組んだ課題でした。

データ活用基盤の構築

 その後、いよいよレポーティング作業や解析作業に入ります。一般的には解析用RDBを作成し、オペレーションに必要な速度でデータを処理できるようにしていきます。ここでの基盤はいわゆるデータレイクではなく、データウェアハウス(DWH)やデータマートに近いものと考えてください。

 PREVENTの場合は対象者抽出の案内時にレポートを提供していますので、そこまで早いレスポンスを必要としていません。日や週レベルのものです。そのため、クレンジング後のデータをRDBに格納し、必要に応じてデータを取得する設計になっています。一方で個人情報を扱っていますので、匿名加工情報にするまではデータを一つのRDBに統合できないといった特有の制限があり、スキーマを設定するなどサービスに応じたDWHの設計が必要になります。

 本当にMyscopeの初期ではcsvをテーブルごとに作成して、pandasで整形し、なんちゃってDWHでレポートを出力していました。ただ、これをしておくと実際にDWHの設計時点ではテーブルが決まっているので作業がグッとスピードアップします。出力と中間ファイルを見ながら説明できるのがポイントです。もちろんその後は、エンジニアを含めたチームでブラッシュアップしていきます。特に自分の場合、バックエンドの知識が乏しいのでいかにエンジニアにイメージを伝えることができるかを重要視していました。どのような使い方を想定しているか、今後どのくらいでスケールするかなどプロダクトマネージャーのような動きが期待されます。

 一方で、アプリログなどのDMP中に発生するデータについては、エンドポイントからユーザー(または面談担当者)によってデータが入力され、コレクションされていきます。

 ログデータで問題になってくるのは、欠損値や外れ値の処理です。特にスマホアプリを介したデータ入力ではアプリを使用してもらえないと欠損値だらけになりますし、アプリ上で適切なバリデーションをかけてもらわないと外れ値(意味のない外れ値)が混入することになります。そう言った観点から、アプリの設計などDMP全体のサービス設計にデータ活用を見据えた意見が求められます。そのため、データを会社資産に変える、価値を付けるという観点で常に考えるようにしています。これも社内にプロダクト開発チームがいるPREVENTの強みであり、オリジナルのことかもしれませんが、サービス設計にデータサイエンティストが関わることは非常に重要だと身に染みています。

 サービスはスケールします。特にログデータは指数的にスケールします。急速にスケールするデータに対して、データを扱う関係者を増やし、いかに素早く価値を生むかがビジネス成功の鍵になっています。拡張性、可用性、安全性、柔軟性に優れた分析基盤を持つことが企業価値を爆上げすることにつながります。この辺りはまだまだ勉強中で、失敗を繰り返しながら独自のベストプラクティスを探していければと考え、分析基盤をブラッシュアップしている真っ最中です(興味ある方はメッセージください)。

まとめ

 上記のような、コレクションやクレンジング、解析などを含めたデータライフサイクルを意識し、手順を開発、実行、監視することをデータマネジメントといいます。使用方法やセキュリティーについてエンジニアと共有しながら要件を定義し、システムを進化させていくことももちろんデータマネジメントに含まれます。

 データマネジメントはなかなか着目されることはありませんが、分析に辿り着くまでの工程が何よりも重要だと日々感じています。学生の時に学会報告や論文執筆の際に実験データを解析するまでに途方もない労力をかけ、解析後には再び繰り返す気にはならなかったことを覚えています(実際には、気力を振り絞ってボスからツッコミに応えて追加実験や再解析などを行いました)。アカデミックとは大きく異なりますが、コレクションからクレンジングの作業に労力をかけない方がいいのは共通していると思います。

 労力の問題だけでなく、データ品質にも密接に関係します。手動では、とどうしてもミスを考えなくてはなりません。自動にすることで決まったルールでのデータコレクションが約束されます。これだけでも相当ストレスが減ります。解析中にデータセットでわからないところが出てくる時ほどイライラすることはありませんよね。

 以上のことから、データサイエンスの社会実装を実現する上で、まず手を付けるべきがデータの前処理を簡素化、自動化することだと思っています。

 この辺りは実際に手を動かさないとピンとこないと思いますので、公開されているデータセットをRDBに入れて、集計の動的グラフをダッシュボードで作成するみたいなことをされるとイメージが湧くと思います!

 少し長くなったので、モデル実装の話は別の記事にします。ヘルスケア分野以外の方にはあまり参考にならないかもしれませんが、共通している部分があるかもしれません。そっちの分野は大変そうだなっと暖かく見守っていただければ幸いです。

この記事が参加している募集

#仕事について話そう

110,250件

この記事が気に入ったらサポートをしてみませんか?