Apple ResearchKit: A Health App Framework to Advance Medical Research

By developing an iOS app using ResearchKit, for the first time, researchers can efficiently recruit a large number of geographically different study participants to carry out clinical studies.  Developers within CDC’s Informatics Innovation Unit (IIU) created a prototype ResearchKit app to examine its capabilities and potential application to public health.

What is Research Kit?

ResearchKit, one of Apple’s three open source software frameworks for apps (HealthKit and CareKit are the other two), helps medical researchers gather data and recruit participants for research studies via iOS devices (i.e., iPhone and iPad). By simplifying survey development, sharing study information and obtaining a participant’s consent and structuring the collection of patient data, ResearchKit brings iOS devices into the domain of medical research. The ResearchKit framework includes three built-in modules commonly used in clinical research:  surveys, consent and “active tasks.”  Researchers can use these active tasks with minimal coding to instruct participants to perform specific activities. The active tasks are organized into six categories including motor activities (e.g., balance and touching), fitness (e.g., heart rate and walking speed), cognition (e.g., reaction time), voice (e.g., speech and phonation testing), audio (e.g., hearing testing) and hole peg (e.g., hand dexterity). The iPhone can collect relevant data while participants are performing tasks, with or without other connected devices (e.g., Apple Watch and heart rate monitor).

Pros Cons
  • Free
  • Easy to use
  • Fast development using templates
  • Attractive to research participants due to the convenience of mobile apps and the widespread use of Apple devices
  • Necessary for users to give the app permission to read and write data to their phones
  • Difficult to stream heart rate data from the Apple Watch
  • Poor integration with  Apple Watch  at the current time
  • Limited developer resources as ResearchKit has been recently released
  • Challenging for Swift developers since most example apps written in Objective-C, not Swift


                                    *Scale of 0 to 5 stars, with 5 as the best rating

IIU’s ResearchKit App

We developed IIU’s app using the Swift programming language. As part of our mock research study, we conducted a fitness walking task. The app takes the participant through the following:

  • Describes the study
  • Asks the participant to agree to the study and sign the consent (ResearchKit stores signatures)
  • Provides instructions for the active task (fitness walk, in this case) and rest period
  • Surveys participants

The iPhone collects data on active and rest tasks, using the heart rate monitor for rest data. ResearchKit then gives the data back as a JSON file. After researchers parse the data, they can use ResearchKit to display it in a dashboard.

Ease of use  

Pros: Straightforward to use – the structure of ResearchKit is good, so the existing documentation is self-explanatory.

Cons: To date, the Apple Watch does not stream real time heart rate data. However, when Apple releases Watch OS 3, it may have that functionality.   As ResearchKit is being used by a handful of institutions at this time, there is limited publicly available information.

Ease of Development

Pros: Out of the box, researchers can create surveys, collect signatures, select predefined tasks and display data and charts. You can easily create custom tasks (documentation available).

Cons: ResearchKit could be more integrated with other devices (i.e., Apple Watch). Also, ResearchKit doesn’t have a structured way to get data to a back-end server. Currently,, participant data (e.g., patient information, survey responses and task data) is kept in the iPhone’s memory and is only there as long as the app is running. To store data, it makes more sense to push participant data to a server. It would be nice to store ResearchKit’s data in iCloud and have an API to use for the back-end.

To realize ResearchKit’s full potential, it would take a developer about 1-2 weeks to understand and use the framework’s features.

Resources Available for Developers 

There is good documentation, and external developers are creating open source resources. However, it’s still a new, niche market and not mainstream with typical developers.

ResearchKit Alternatives

ResearchStack has been developed to build research study apps on Android devices.