先月発表されたとおり、Appleはモバイル機器を医療研究用のネットワークセンサーとして活用することを可能にするオープンソースフレームワーク、ResearchKitを公開した。
フレームワークの正式なソースコードとドキュメントに加え、ResearchKit GitHubレポジトリではAppleが提供するサンプルと、いくつかの医療研究機関が初期にAppストアで公開していた4つのアプリが登録されている。
InfoQが既にレポートしたように、ResearchKitは医療研究での共通要件に対応する3つのモジュール: surveysやconsent、active tasksを提供する。 設計の観点でこれら3つのモジュールが持つ共通思想は以下のとおり:
- 全てのオペレーションはORKQuestionStepやORKFormStepもしくはORKActiveStepといったステップ(ORKStep)の収集である。
- ステップはステップシーケンスを表現するORKOrderedTaskといったタスク(ORKTask protocol)と一緒に収集される。
- タスクはユーザ向け表示用にビューコントローラ(ORKTaskViewController)に関連付けることも可能である。
- ユーザがそれぞれステップを完了する毎に、ビューコントローラは当該ステップとオぺレーション・タイムスタンプから返される結果オブジェクト(ORKStepResult)を生成する。特に、全ての機器センサもしくはHealthKitからデータを取得するステップのために、順序付けされたフォーマットへ連携して収集、設定を行う2つのクラス: ORKRecorderとORKRecorderConfigurationが提供される。
提供されるサンプル、ORKCatalogのコードはSwiftで書かれているが、ResearchKitフレームワークのほとんどはObjective-Cで書かれている。
レポジトリに登録されている4つのアプリケーションは以下のとおり:
- GlucoSuccess: マサチューセッツ総合病院開発の糖尿病研究用アプリケーション
- AsthmaHealth: マウントサイナイ医科大学開発のぜんそく研究用アプリケーション
- ShareTheJourney: セージ・バイオネットワークス開発の乳がん研究用アプリケーション
- mPower: セージ・バイオネットワークスとロチェスター大学開発のパーキンソン病研究用アプリケーション
これら4つのアプリケーションが使用する共有フレームワークはAppCoreと呼ばれ、いずれ「ResearchKitへ移行される予定」だ。本フレームワークは以下を含んでいる:
- 進捗グラフを表現するダッシュボード
- データストレージ・バックエンド
- JSONのシリアライズ、逆シリアライズ
- セージ・バイオネットワークスが提供するBridgeサービスの統合
より詳しい内容はGitHub repoをコピーし概要ドキュメントもしくはAPIリファレンスを参照にされたい。さらにSwiftブログを踏まえて始めるには、ResearchKitが提供するブログとメーリングリストがある。