Developer's Guide to building a CareKit App
What is CareKit?
If you or a family member has ever had a medical procedure, you have gone home with a lot of paperwork and a list of things to do during your recovery. While these can be helpful, they are often incomplete, hard to follow, and likely to get lost.
If you are coping with a chronic health condition, you may face a similar situation, where your doctor has given you a list of things to do to manage your condition. These could include tracking your heart rate, blood pressure or glucose levels daily, exercise, diet, etc. Records can be hard to keep track of on paper, with progress difficult to visualize.
Having this follow-up care plan on your ever-present phone would make it much more visible, increasing the likelihood of actually following all of the instructions. Tasks could be listed out day by day, with checklists, instructions (even videos!) and daily assessments of progress. Health care provider information could even be included, making access to help much more convenient.
CareKit has been designed to meet the needs of the mobile app that is seeking to provide these features. CareKit is a library of code developed by Apple that is intended to help developers create clean, easy-to-use, consistent apps to manage care plans.
How does CareKit make developing apps easier?
CareKit provides several modules of code to store, view and interact with a Care Plan. These modules include code that helps create a well-tested user experience, built on top of a database that stores the tasks.
The Care Plan is the list of tasks that the user needs to complete. It has a daily schedule associated with it, with the number of times each task should be done each day, which makes it ideal for tasks like taking medicine or doing physical therapy exercises. The Care Plan is stored on the phone in a database supplied by CareKit. This database then supplies the data to several different views including:
- Care Card
- Symptom Tracker
The Care Card helps the user track the progress of the tasks that need to be done, particularly those that are not performed directly using the phone. In addition to taking medications or doing physical therapy, examples of tasks might also include changing a dressing, checking in with a caregiver, taking a walk, or any number of other things. Just about any task that needs to be checked off can be displayed and tracked in the Care Card.
The weekly calendar at the top is interactive, so the user taps on the day to view that day’s tasks, and the appropriate tasks fill in the screen. The user interacts with the tasks by tapping on the circles below each task. The number of circles depend on how many times the task should be performed that day. As the user indicates that tasks are completed, the circles fill in and the Care Completion image fills up with a simple animation.
CareKit makes it easy to set up different tasks for each day of the week. Tapping on the task itself opens up details for the task, which can include further dosage information for medications or any other detailed information that will help the patient complete that task.
The Symptom Tracker presents tasks that the user can complete on the phone. It is set up to present the user with questions or surveys to track their symptoms on a daily schedule. Similar to the Care Card, the weekly calendar is presented across the top of the screen. Selecting a day updates the rest of the screen to show the progress in completing these activities for that day, along with the list of activities.
Each activity can be tapped on to open up the question or survey necessary to complete that activity. Progress is animated on the Activity Completion circle, and fills in with a checkmark when all of the activities for that day have been completed.
Part of creating an effective care app is providing visualization of progress. CareKit provides a standard screen for displaying “insights” into the data from the Care Plan.
The most visual Insight provided is a horizontal bar chart showing relationships between different parts of the care plan. This can give the user or their health care provide a visual view of the relationship between, for example, taking their medicine and their level of pain, or being active and their level of depression.
A large number of bars can be shown on the chart for each day, but the most effective presentation shows a relationship between two or maybe three items per day.
Care and recovery are aided by surrounding the patient with a team of support. CareKit provides a Connect module to store and present this contact information within an app.
Two types of contacts are provided: the Care Team and Friends & Family. Tapping on a contact opens up their contact information with direct access to call, message or email them.
Does CareKit work with ResearchKit?
Yes. ResearchKit is particularly good at helping to create questions or surveys within an app. These can be used as part of a daily care plan and can provide a more consistent level of tracking and feedback for the healthcare provider.
Survey questions can use any of the ResearchKit question types. A few examples are shown here.
Other ResearchKit Active Tasks could also be very useful here, including tests of Motor Activities, Spatial Memory or Reaction Time. These could particularly help a healthcare provider assess the effects of medication following a procedure or monitor recovery progress.
Can a CareKit app pull in other health information from the phone?
Yes! CareKit and ResearchKit have been developed to integrate easily with Apple’s Health framework called HealthKit. Think of HealthKit as the way that your phone securely stores and provides access to your health data. Many apps that run on an iPhone can send health data to the HealthKit storage, including blood pressure and heart rate trackers, wearables and activity trackers, sleep tracking apps, etc. This data can all be viewed within the standard Apple Health app.
All of this information can be available to a CareKit app. The app must first ask the user’s permission for each type of information that your app will be accessing. Then, once permission is granted, that data is available to the app.
Much of this health information can be directly relevant to a care plan, including activity, heart rate, sleep or blood pressure. A task to track the user’s resting heart rate or daily activity level could be handled directly by accessing data in HealthKit, which would improve the accuracy of the measurements and could even eliminate the need for the user to have to enter this information daily. Note that Apple’s HealthKit is not available on iPad devices.
Can information collected by a CareKit app be shared?
Yes! The CareKit framework provides a way to create a document containing any or all of the information that has been collected. This document can consist of formatted text, images, and even CareKit Insight charts. It can be viewed from within the app in an HTML format, or exported to a PDF document which can be emailed to care providers, family or friends.
Can CareKit be used for other apps that don’t involve a medical procedure?
Yes! CareKit tools are intended to monitor a plan over time. This could apply to any of the following:
- monitoring of effectiveness (and side effects) of a medication
- following an exercise plan
- implementing a change in habits
- ongoing medical research with daily input and many more!
Anything that involves doing tasks and tracking feedback on a daily or weekly plan would be a candidate for using CareKit.
Do I need a professional app developer?
CareKit does not write the code. It is a library of building blocks intended to help professional mobile app developers write consistent, high-quality care apps quickly. To write a care app, you will want to hire a development team with experience in many of Apple’s frameworks including CareKit, ResearchKit and HealthKit with a proven record of delivering quality mobile apps.
What parts of an app does CareKit not provide?
The CareKit framework does not include a data management solution. You and your app developer will need to select and connect to a data management solution which takes into account the privacy and security needs of your data. Some of the many other tasks that need to happen when developing a CareKit app include:
- Creating the main structure of the app - how the user navigates to the CareKit features
- Integrating ResearchKit features to create the questions and surveys, processing the responses
- Integrating HealthKit features to authorize, access and process health data
- Adding features specific to the need, such as video or audio instructions, unique tasks or assessments, or custom charts and graphs
- Sharing the Care Plan results document via email
What software operating system does CareKit run on?
The CareKit framework requires iOS 9 or above. Apple device users generally adopt updates to the operating system very quickly. As of May 2016, 84% of all iPhone / iPad users were running iOS 9 or later.
CareKit does run on iPad devices, but Apple’s HealthKit does not, so apps which access the phone’s Health information will not have that information when running on an iPad.
Does CareKit work with Android?
Apple’s CareKit does not work directly on Android, but Apple has made the source code open source and publicly available so developers can add to care features and eventually possibly make a similar set of features available on other mobile platforms.
About Little Green Software
LGS is an app developer specialized in Healthcare, Research, and Fitness apps. If you are considering building an app using CareKit or ResearchKit, contact us here. We would love to work with you to figure out if CareKit and/or ResearchKit are a good fit for your project!