苹果开源框架ResearchKit简介

ResearchKit 是一个由 Apple

推出的开源框架,它可以让研究人员和开发人员创建用于医疗研究的强大应用。您可以轻松地使用各种各样的可定制模块,您还可以在这些模块的基础上创建可视化授权工作流、实时的动态活动任务,以及调查报告,然后将它们与社区一同分享。由于

ResearchKit 能够与 HealthKit

无缝衔接,因此研究人员可以在他们的研究中获取更多有关的数据——例如日常步数、消耗的卡路里,以及心率等信息。

框架

核心的 ResearchKit 框架提供的核心模块包括了调查引擎、可视化授权工作流,以及活动任务。

核心框架中自带有 Swift 和 Objective-C 的示例、完整概念以及 API 文档。它同样已经翻译为了多种语言。

ResearchKit™ 框架是一个开源的软件框架,这个框架是为了让开发者和研究人员来更简单的创建研究型软件。这个新的框架利用了 iPhone

的传感器和能力来记录运动轨迹,采取措施以及记录数据。使用者可以实现在任何地方实现自己的想法和收集数据。

链接

iPhone培训

模块

ResearchKit

框架提供了可以被调整的模块,这些模块中有一些最基本的研究必要元素:调研,许可和活动任务。你可以原封不动的去使用这些模块,在这基础上做开发,甚至可以完全创建属于你自己的新模块。

调研

通过科学且明确的设置问题和答案,在用户使用界面预定义好的调研模块可以让你快速的建立起一次调研。调研模型是已经确定化了的,所以你所需要做的一切事情只是明确你的问题。

授权

研究中的参与者常常不得不被要求说出一些与他们所参与的研究相关的敏感信息。所以完全明确什么使用者信息要被收集以及谁会接触到他们的信息是至关重要的。

ResearchKit 框架提供了模板,你可以参考这个模板去修改你自己的,以此来解释你研究的细节同时获取研究参与者的授权。

活动任务

一些研究也许会需要有调查问题所提供的数据或者 iOS 中的 HealthKit 和 CoreMotion 这样的 API

收集的数据。活动任务邀请使用者在部分受控的情况下来使用 iPhone 上的传感器来动态的收集数据。  任务与步骤

ResearchKit

框架中的任务可以是一系列被安排好的行动序列,也可以是是动态的,也就是之前的结果会影响现在显示的步骤。视图控制器支持在一个很长的任务中保存每一步的结果,同时支持稍后重新储存数据,与

UI 显示状态一并重新存储。这是为了防止使用者在用任务进行中退出了你的应用。

无论你的应用是否给出指导,展示调查表,包含授权,亦或运行活动任务,ResearchKit 中所有东西都是一系列步骤的集合 (ORKStep

对象),这是从任务中汇聚而来的(一个 ORKTask 对象)。 为了展示任务,需要将任务依附到任务视图控制器对象上

(ORKTaskViewController)。当使用者完成了任务中规定的步骤的时候,任务的视图控制器会生成一个记录了步骤开始和结束时间的以及步骤中所有结果的步骤结果对象

(ORKStepResult)。

在一个简单的应用中,你可有创建你的直接用代码创建你的任务,收集结果同时将之序列化之后存入硬盘以便之后人工的去收集,分析。一次大规模的部署也行会动态的从服务器上下载预定义的调查,同时将其解序列化来生成

ResearchKit 对象层级。与之前一样,任务结果可以被序列化同时上传到服务器以便之后的分析。

目前的限制

ResearchKit 框架的特性表将始终不断的增长,如同开源社区贡献的很有用的模块一样。记住 ResearchKit

框架目前没有包含这些功能:

背景传感器数据收集。诸如iOS 中的 HealthKit 和 CoreMotion 这样的 API 们已经可以实现这样的功能了。

你的应用和服务器之间安全的通信机制,你需要自己去提供这个。

为你的参与者规划调查和活动任务。

可以被 ResearchKit 框架使用来构建数据的数据的定义好的数据格式必须是序列化的。所有 ResearchKit 框架对象都遵从

NSSecureCoding协议,示范代码的结果在离开框架之后将被序列化成 JSON 。

你对你应用内所有适用于法律的内容都有法律责任。

日志记录上的错误和警告

ResearchKit 框架支持4种日志级别,由四种预处理宏指令以及他们对应的 NSLog()-like 日志宏指令:

ORK_LOG_LEVEL_NONE

ORK_LOG_LEVEL_DEBUG, ORK_Log_Debug()

ORK_LOG_LEVEL_WARNING, ORK_Log_Warning()

ORK_LOG_LEVEL_ERROR, ORK_Log_Error()

设置 ResearchKit 框架的 ORK_LOG_LEVEL_NONE 宏指令为 1 会完全让所有

ResearchKit的日志沉默,优先于其他任何特定的日志级别。设置ORK_LOG_LEVEL_DEBUG, ORK_LOG_LEVEL_WARNING, 或者

ORK_LOG_LEVEL_ERROR 为 1 则会在那个等级或者更高的等级开启日志。

如果你不明确的设置日志等级, ORK_LOG_LEVEL_WARNING=1 被当做默认值使用。

你必须在你的 ResearchKit 子项目中设置你预处理宏指令,而不是在你的主任务中。在 Xcode 中,你可以通过设置在 ResearchKit

框架目标的Build Settings 表中 预处理宏指令 的任何一个选项。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容