How to Get Started With Apple's ResearchKit

Earlier in the year, we reported on Apple's announcement of ResearchKit, an open source Framework that researchers can use to create apps that leverage the iPhone to help gather new types of data. Here, we let you know what you need to get started with your own ResearchKit-powered app.

What ResearchKit Is

Apple announced HealthKit back in 2014 as part of iOS 8, and in March 2015 built on that foundation with the announcement of ResearchKit. Apple's goal for ResearchKit is to enable medical groups to use crowdsourced Big Data for research. Apple made the decision to open source the framework, allowing devices outside of the Apple ecosystem, including Android-based devices, to participate.

According to Apple:

ResearchKit is an open source framework introduced by Apple that allows researchers and developers to create powerful apps for medical research. Easily create visual consent flows, real-time dynamic active tasks, and surveys using a variety of customizable modules that you can build upon and share with the community. And since ResearchKit works seamlessly with HealthKit, researchers can access even more relevant data for their studies — like daily step counts, calorie use, and heart rate.

Apple has published the SDK on GitHub, so you can go in and start playing with Sample Code right away.

To illustrate how ResearchKit works and what it can do, Apple demonstrated a handful of ResearchKit apps, including an app designed to help those affected by Parkinson’s disease. Developed by nonprofit Sage Bionetworks, the mPower app is being used as part of a new approach to monitoring the health of Parkinson's patients. "We want to understand why some people with PD have different symptoms than other people with PD, why a person’s symptoms and side effects can vary over time, and what can be done to help manage these differences in symptoms day to day," states the mPower website.

The mPower application uses a mix of surveys and tasks that activate phone sensors to collect and track health and markers of PD progression, such as dexterity, balance and gait, the site says. "Our goals are to learn about the variations of PD, to improve the way we describe and manage these variations, and to learn whether mobile devices and sensors can help measure PD and its progression to ultimately improve the quality of life for people with PD."

Other apps include a breast cancer monitoring app, through the Dana-Farber Cancer Institute, that tracks fatigue and moods; a diabetes app, developed by Massachusetts General Hospital, that tracks how various life style decisions such as exercise and diet affect blood glucose levels; and an asthma app, developed through Mount Sinai’s Icahn School of Medicine, which helps model an asthma patient’s condition in order to provide better treatment.

What ResearchKit is not is a tool for medical treatment. Rather, it is a tool that lets researchers not only collect data but also obtain user consent for participation in studies. Developers must ensure that all HIPAA and applicable health-privacy laws are followed. It's important to note that while the framework provides the ability to obtain consent, it does not supersede local privacy laws. Therefore, you need to ensure as a developer that you don’t contravene any privacy laws.

The ResearchKit Framework

The ResearchKit Framework is composed of three distinct modules that address the elements of research you would be using:

ResearchKit framework Overview


The Survey Module, as its name suggests, allows developers to build surveys simply and conveniently, by setting the questions and types of answers.

The module is composed of ORKStet steps, or a sequence of questions. Each step can contain one or more ORKFormSteps, and developers can create an Introduction Step to introduce the survey.

You also gain delegate methods, as well as customize the detail of each step:

let instructionStep = ORKInstructionStep(identifier: "instructionIdentifierxxx")
instructionStep.title =  NSLocalizedString("Selection Survey", comment: "")
instructionStep.text = NSLocalizedString("This survey can help us understand your eligibility for the fitness study")

You can proceed with creating the survey/answers as follows:

let questionStep1 = ORKQuestionStep(identifier: "identifierxxx", title: questionTextString, answer: ORKAnswerFormat.decimalAnswerFormatWithUnit(nil))

        questionStep1.text = NSLocalizedString("How old are you?")
        questionStep1.placeholder = NSLocalizedString("Placeholder without unit.", comment: "")

You can head on over to the ResearchKit Surveys Documentation to see examples of other types and forms of questions you can answer.


Before asking any questions, however, you need to establish consent. The Consent Module provides templates that are customizable, to allow you to convey the details of your study and how it will be used.

According to Apple:

Research studies that involve human subjects typically require some form of ethics review. Depending on the country, this may be review by an institutional review board (IRB), or by an ethics committee (EC). For some studies, consent may be required to conduct a research study, which means that the researcher must ensure that each participant is fully informed about the nature of the study, and must obtain a signed consent from each participant. Additionally, consent may be required as a condition of app review.

The Consent Module does not provide any signature support, which means you will be responsible for generating a digital PDF representation of the signature. This representation needs to be irrevocable and verifiable.

Be sure to read the next Mobile article: Getting Started With Touch ID on the iPhone