Apple HealthKit Platform
Apple has been championed the cause of personalized health. The long-term vision includes the ability to monitor all the healthcare data with small sensors on regular intervals and analyzes it to provide better insight into the current health of the individual and forecast the likely health issues based on the collected data.
It all started with the HealthKit and iWatch. In 2014, Apple brought the iWatch coupled with the HealthKit platform to target the transformation in personalized healthcare. The iWatch has sensors which capture the heart rate. The reports suggest that Apple tried many sensors but couldn’t get them to function with enough precision to make the cut for the final product. However, the HealthKit platform helped Apple to create a centralized repository for the health records of an individual. These entries could be shared securely through the iOS framework, thus making it a reliable platform to capture the data from multiple devices and to use it in third party apps beyond just wellness and taking a step closer to diagnosis.
The lack of multiple advanced sensors from a single device (iWatch) has limited the usability of iWatch and correspondingly the HealthKit. The third party apps are using HealthKit to store and retrieve the data but the platform doesn’t fit well with the organized healthcare.
Apple’s CareKit And ResearchKit Platform
The HealthKit made it easy to track the fitness with various sensors integrated with apps. However, HealthKit had two limitations,
- It was only providing the database and solving the backend problem for health app developers
- It was more focused towards simplifying device integrations rather than solving other aspects of healthcare
To encompass the remaining aspects of healthcare, Apple has introduced CareKit and ResearchKit platforms. The ResearchKit platform allows medical scholars to create apps for participants of a research study whereas the CareKit platform uses tools to create apps catering to patient care needs.
Building Apps With CareKit
Unlike HealthKit, CareKit is a complete platform, including everything from UI/UX to the Data Store.
CareKit consists of two components UI and Data. The UI component is further divided into 4 modules:
- Care Card
- Symptoms and Measurement Tracker
These 4 modules are provided through their respective controllers. The details of each module are provided in the later sections.
The data component is divided into two modules:
- Care Plan Store
- Document Exporter
Care Plan Store
Care plan store provides a persistent storage (a local database) on the device. All treatments and activities from a care plan are automatically stored in Care plan store. The progress of the user during the treatment is also recorded in it. The platform provides classes and APIs for managing activities, events, their results, and schedules.
The store interface is created for other objects to interact with Care plan store.
A care plan is a collection of activities and events which are used either to remind the medication or to capture results and feedback.
Each Care Plan can include two types of activities:
- Intervention Activities: The core of the CareKit comes from these activities. They represent the actual care plan of the user. These activities are made accessible through care cards.
- Assessment Activities: The effectiveness of a treatment can be monitored and evaluated using these activities. They are made accessible through Symptom and Measurement Trackers.
Similarly, we have two types of events which are generated at specified intervals to take periodic inputs.
- Intervention Events: These events are triggered by CareKit to follow the care plan. The user is expected to perform certain tasks recommended to him when the event is triggered. In the simplest form, these can be considered as a reminder for the pills. The framework allows us to define these events. For example, taking a pill twice a day could be an intervention event.
- Assessment Events: These events are triggered to perform the assessment of the progress. The effects of the treatment can be monitored and evaluated through the events generated at regular interval by the platform. The events are generated for the active assessment activities. For example, if the activity indicates survey for a headache two times a day during the trial duration, events will be generated twice a day.
How To Use Care Plans?
The care plans are created, modified and accessed through the care plan store. There are many ways in which we can create the care plans. For example,
- We can download the medical records and map them into activities. This can be used by applications integrated with hospital or clinics
- We can use ResearchKit survey to ask and get the information from users. This form of care plans would be required when creating the application for users from diverse clinics and medication plans
- We can also define a fixed set of care plans on the server or within the resource bundle of the app. These type of care plans can be used for clinical trials, or while creating the apps for a focused care option. For example, eye treatment, or heart surgery
The care plans are dynamic and can be changed at runtime. The Care Card, as well as Symptom and Measurement Trackers, are automatically updated whenever there are changes in the care plan.
What Is Care Card?
- Care cards are used to show the care plans. A care card displays the plan for the day
- User’s progress is also tracked on the Care Cards with the help of intervention events
- The care card gives a standard user interface for healthcare apps to interact with users
- Days of the week are listed in the form of empty hearts. There is a large heart for the activities associated with the current day. The heart gets filled as you complete the activities associated with the day
- The activities for the day are listed below the large heart. The circles for each activity indicate the number of times the task has to be performed in a day
- The list of activities is dynamic and it can change every day. An exercise plan can have different exercise routines for different days
- The details of an activity can contain text, image, sound or video. For example, there can be images as well as videos of steps of the exercise. The meditation activity can include sound files in its details for users to listen while performing the meditation
- The activities from the past remain accessible for modification however, future activities are not editable. The users can browse through the past activities/days by tapping on the heart or by a swipe gesture
Symptom And Measurement Tracker
Symptom and measurement tracker helps users to assess the progress through the care plan. The assessment can be performed by either surveys or data gathered from devices.
The data from the surveys fuels the subjective assessment whereas the quantitative data from the devices gives an objective assessment of the progress. The iPhones and iWatch devices can share the step count and heart rate information. Other third party devices can also be used to passively or actively collect data for assessments. We can create the assessment events to perform the activity of collecting data from such devices.
An ECG device, or device to measure blood sugar levels are examples of the devices we can integrate to perform active assessment periodically.
Trackers use the circle to track the activity completion. The activities for the day are listed below the large circle representing the percentage completion status.The users can begin their assessment by selecting the activity. The activity details are created and shown on custom screens. (surveys or active tasks for activity details can be created from the ResearchKit framework).
Similar to care card, these activities can also be updated for the past records but not the future records.
CareKit provides charts to show the insights generated from the data gathered through various activities. The CareKit framework only provides the bar charts, however, we can integrate other chart libraries to show insights in lucid format.
The charts can be used to show side-by-side comparisons of any data.
We can use them to show the correlation of progress with adherence to intervention and assessment activities. For example, you could create a chart showing the blood pressure level and the compliance for prescribed exercises. With the regular exercise, the blood pressure variances should reduce and it should reach closer to the normal range.
The insights scene provides the option to share these insights with others in the PDF or HTML format.
The connect screens can be used to maintain the contacts relevant for care management. These could be close friends, relatives, caregivers, and the doctors. The lists are created with the tags so that it’s easier to segregate them on the display screen.
Selecting a contact allows us to call, text or send an email. CareKit provides pre- populated interfaces for each communication method. The framework standardizes the user experience and thus minimizes the efforts required for such a communication.
The contacts can be generated through programs, or they can also be imported from a file. Contacts are not part of the care plan database as it is a separate logical entity and it is managed independently.
HealthKit pioneered the way in personalized healthcare using mobile phones. However, it was limited in the scope of gathering the data for personal usage. CareKit extends the personalized healthcare by bringing the stakeholders of care system into the fold.
It allows to build applications which can track the care program, utilize the HealthKit data, measure the effectiveness, correlate impacts of routines or gaps through inbuilt analysis tools, and also share the information with relevant people.
Apps built with CareKit will empower people to take better care of their health by being a constant companion by providing timely reminders, assessments and visualize results of their progress.
Hemant Shinde works as a Solutions Engineer at Mobisoft Infotech. He likes to add scalability and availability to mobile applications. He has 9+ years of experience in systems engineering, virtualization and cloud based systems. Apart from that, he has interest in history, e-commerce, Internet of Things and loves traveling.