苹果公司于上月宣布发布其开源框架ResearchKit,目的是将手持移动设备构建成一个用于医疗研究的传感器网络。
ResearchKit在GitHub的 代码库 中不仅包含该框架的全部源代码和文档,还包括苹果开发的一个示例app,以及之前由其他医疗研究机构发布在AppStore的4个app。
InfoQ曾经报道过,ResearchKit提供三类定制模块来满足医疗研究的常见需求:情况调查、知情同意、活跃任务。从设计角度来看,这三个模块的设计基于同样的原则:
- 每个操作就是一次收集步骤( ORKStep ),比如一个 ORKQuestionStep 、一个 ORKFormStep 、或者 ORKActiveStep 。
- 多个步骤集合成一个任务( ORKTask协议 ),比如一个ORKOrderedTask就表示一系列的步骤。
- 任务与一个视图控制器( ORKTaskViewController )相关联以展示给用户。
- 用户每完成一个任务,视图控制器就生成一个结果对象( ORKStepResult ),其中包含该步骤返回的结果与操作执行时的时间戳。特殊情况下,有的步骤会从设备传感器端或移动健康平台HealthKit获取数据,此时系统提供两个类: ORKRecorder 和 ORKRecorderConfiguration ,用于收集数据并配置成序列化格式。
ResearchKit框架中大部分代码用Objective-C编写,而苹果提供的示例 ORKCatalog 则是用Swift写的。
代码库里包含的4个app是:
- GlucoSuccess :研究糖尿病的app,由马萨诸塞州综合医院开发。
- AsthmaHealth :研究哮喘病的app,由纽约西奈山医院开发。
- ShareTheJourney :研究乳腺癌的app,由赛智生物网络开发。
- mPower :研究帕金森症的app,由赛智生物网络和罗彻斯特大学共同开发。
这4个app共享同一个框架叫 AppCore ,随着时间推移,其中的功能特性“会移植到ResearchKit中”,这些特性包括:
- 展示进度图表的白板;
- 后台数据存储;
- Json串行化和解串;
- 与赛智生物网络的桥接服务集成。
基于未来长期研究的目的,你可以复制该框架的 GitHub源码 ,阅读 总览文档 或 API手册 。另外,为了遵循起源于Swift博客的传统,ResearchKit也有它 自己的博客 和一个 邮件列表 。
查看英文原文: Apple's ResearchKit Available on GitHub