SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Заботимся
правильно
Вадим Дробинин

http://twitter.com/valzevul
Вадим Дробинин / @Valzevul
В двух словах
• Экскурс в историю
• HealthKit
• ResearchKit & CareKit
• Примеры использования
• Tips & Tricks
2
HealthKit
HealthKit
Платформа для агрегации данных о здоровье из
различных источников.
Вадим Дробинин / @Valzevul5
Вадим Дробинин / @Valzevul
HealthKit
• Сбор данных, обмен аналитикой между
приложениями для здоровья и фитнеса, а также
фитнес-трекерами и внешними сервисами;
• 256-битное AES-шифрование:
• Нет доступа при заблокированном девайсе
• По-умолчанию не вносится в бэкап (если он не
в iCloud)
6
ResearchKit & CareKit
Вадим Дробинин / @Valzevul
ResearchKit
8
Платформа для удалённых исследований в области
здоровья и медицины.
Вадим Дробинин / @Valzevul9
Вадим Дробинин / @Valzevul
ResearchKit
• Открытый исходный код;
• Создание исследований и тестов;
• Отправка анонимных данных в
соотвествующие лаборатории.
10
Вадим Дробинин / @Valzevul
ResearchKit
11
Task View
Controller
Visual
Consent
Flow
Survey
Active
Task
Task
present
Вадим Дробинин / @Valzevul
ResearchKit
• Нужно разрабатывать собственный бэкенд
(для медицинских лабораторий);
• Акцент на приватности данных.
12
Вадим Дробинин / @Valzevul
CareKit
13
Платформа для активного отслеживания состояния
здоровья, а также проявления симптомов и времени
принятия лекарств.
Вадим Дробинин / @Valzevul14
Вадим Дробинин / @Valzevul
CareKit
• Открытый исходный код;
• Отслеживание программы лечения,
мониторинг прогресса, аналитика;
• Удобные инструменты для экспорта;
• Прогнозы.
15
Вадим Дробинин / @Valzevul
CareKit
• Акцент на приватности данных;
• Активная поддержка от Apple
(carekit@apple.com).
16
Вадим Дробинин / @Valzevul
CareKit
17
Care Card
Symptom and
Measurement
Tracker
Insights Connect
Care Plan
Store
Document
Exporter
Вадим Дробинин / @Valzevul
CareKit
18
Care Card
Sympt
om
Insight
s
Conne
ct
Care
Plan
Docum
ent
• Задачи, из которых состоит
лечение:
• Принять таблетки;
• Сменить повязку;
• Помедитировать.
Вадим Дробинин / @Valzevul
CareKit
19
Care
Card
Symptom and
Measurement
Tracker
Insight
s
Conne
ct
Care
Plan
Docum
ent
• Задачи, которые позволяют оценить
качество лечения:
• Субъективные измерения
(«покалывает в боку»);
• Объективные измерения
(давление, вес, …).
Вадим Дробинин / @Valzevul
CareKit
20
Care
Card
Sympt
om
Insights
Conne
ct
Care
Plan
Docum
ent
• Графики зависимости между
лечением и прогрессом;
• Текстовые подсказки.
Вадим Дробинин / @Valzevul
CareKit
21
Care
Card
Sympt
om
Insight
s
Connect
Care
Plan
Docum
ent
• Экспорт данных о здоровье 

из модуля Insights родным 

и близким, а также
наблюдающему врачу.
Вадим Дробинин / @Valzevul
CareKit
22
Care
Card
Sympt
om
Insight
s
Conne
ct
Care Plan
Store
Docum
ent
• База данных, которая хранит
данные модулей Care Card и
Progress Card;
• Её обновление приводит к
автоматическому обновлению
интерфейса.
Вадим Дробинин / @Valzevul
CareKit
23
Care
Card
Sympt
om
Insight
s
Conne
ct
Care
Plan
Document
Exporter
• Управляет хранением и экспортом
графиков и прочей информации
из модуля Insights.
Вадим Дробинин / @Valzevul
CareKit
24
Care Card
Symptom and
Measurement
Tracker
Insights Connect
Care Plan
Store
Document
Exporter
Вадим Дробинин / @Valzevul25
Иллюстрация Джефа Реймса
Примеры
использования
Вадим Дробинин / @Valzevul
HealthKit
27
Вадим Дробинин / @Valzevul
ResearchKit
28
Диабет Астма Болезнь
Паркинсона
Рак грудиСердечно-
сосудистые
заболевания
Вадим Дробинин / @Valzevul
CareKit
29
Tips & Tricks
Вадим Дробинин / @Valzevul
HealthKit
• Не забывайте про Capabilities;
• С запасом получайте права на доступ к данным в
HealthKit (пример);
• Не храните прочитанные данные в UserDefaults,
логах, sql-дампе и так далее;
• Помните про NSMassFormater,
NSEnergyFormatter, etc;
• Регулярно синхронизируйте данные с Health.
31
Вадим Дробинин / @Valzevul
ResearchKit
• Подробно заполняйте ORKConsentDocument;
• Корректно выбирайте тип исследования (если
его поменять, придётся заново получать
разрешение);
• Убедитесь, что ваш бэкенд хорошо защищен.
32
Вадим Дробинин / @Valzevul
CareKit
• Заранее проектируйте OCKCarePlanStore;
• Динамично обновляйте данные;
• Помните про обработку входных значений;
• Не бойтесь «Unbalanced calls to begin/end
appearance transitions» (issues/741).
33
Вадим Дробинин / @Valzevul
Что дальше?
• Изучать:
• researchkit.org
• carekit.org
• How to create surveys with ResearchKit

http://blog.shazino.com/articles/dev/researchkit-survey/
• HealthKit: Getting Fitness Data

https://www.natashatherobot.com/healthkit-getting-fitness-data/
34
Вадим Дробинин / @Valzevul
Что дальше?
• Встраивать в свои приложения:
• Не просто игра-платформер, но и
параллельное исследование признаков
болезни Паркинсона;
• Не просто приложение фитнес-центра, но и
персональный ассистент на основе HealthKit и
CareKit;
• Не просто гид по кафе, но и личный диетолог.
35
Q&A
Вадим Дробинин

vadim@drobinin.com
Team Lead @ WaveRoll,

Преподаватель @ VK University

Mais conteúdo relacionado

Mais de CocoaHeads

Дмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPERДмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPERCocoaHeads
 
Александр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияАлександр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияCocoaHeads
 
Николай Ашанин – Team Lead. Структурирование мыслей
Николай Ашанин – Team Lead. Структурирование мыслейНиколай Ашанин – Team Lead. Структурирование мыслей
Николай Ашанин – Team Lead. Структурирование мыслейCocoaHeads
 
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов —  Кастомная кнопка: взгляд изнутриКирилл Аверьянов —  Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутриCocoaHeads
 
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...CocoaHeads
 
Самвел Меджлумян — S3: API на Swift за пять минут
Самвел Меджлумян —  S3: API на Swift за пять минутСамвел Меджлумян —  S3: API на Swift за пять минут
Самвел Меджлумян — S3: API на Swift за пять минутCocoaHeads
 
Александр Зимин (Alexander Zimin) — Магия Swift
Александр Зимин (Alexander Zimin) — Магия SwiftАлександр Зимин (Alexander Zimin) — Магия Swift
Александр Зимин (Alexander Zimin) — Магия SwiftCocoaHeads
 
Катерина Трофименко — Разработка фич: от флагов до a/b-тестов
Катерина Трофименко — Разработка фич: от флагов до a/b-тестовКатерина Трофименко — Разработка фич: от флагов до a/b-тестов
Катерина Трофименко — Разработка фич: от флагов до a/b-тестовCocoaHeads
 
Андрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботомАндрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботомCocoaHeads
 
Александр Зимин — Мобильные интерфейсы будущего
Александр Зимин — Мобильные интерфейсы будущегоАлександр Зимин — Мобильные интерфейсы будущего
Александр Зимин — Мобильные интерфейсы будущегоCocoaHeads
 
Николай Волосатов — Работа с крэшами библиотек
Николай Волосатов — Работа с крэшами библиотекНиколай Волосатов — Работа с крэшами библиотек
Николай Волосатов — Работа с крэшами библиотекCocoaHeads
 
Александр Зимин (Alexander Zimin) — UIViewController, откройся!
Александр Зимин (Alexander Zimin) — UIViewController, откройся!Александр Зимин (Alexander Zimin) — UIViewController, откройся!
Александр Зимин (Alexander Zimin) — UIViewController, откройся!CocoaHeads
 
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...CocoaHeads
 
Макс Грибов — Использование SpriteKit в неигровых приложениях
Макс Грибов — Использование SpriteKit в неигровых приложенияхМакс Грибов — Использование SpriteKit в неигровых приложениях
Макс Грибов — Использование SpriteKit в неигровых приложенияхCocoaHeads
 
Михаил Рахманов — Promises, или почему обещания надо выполнять
Михаил Рахманов — Promises, или почему обещания надо выполнятьМихаил Рахманов — Promises, или почему обещания надо выполнять
Михаил Рахманов — Promises, или почему обещания надо выполнятьCocoaHeads
 
Александр Зимин — Оптимизация разработки
Александр Зимин — Оптимизация разработкиАлександр Зимин — Оптимизация разработки
Александр Зимин — Оптимизация разработкиCocoaHeads
 

Mais de CocoaHeads (16)

Дмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPERДмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPER
 
Александр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияАлександр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыражения
 
Николай Ашанин – Team Lead. Структурирование мыслей
Николай Ашанин – Team Lead. Структурирование мыслейНиколай Ашанин – Team Lead. Структурирование мыслей
Николай Ашанин – Team Lead. Структурирование мыслей
 
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов —  Кастомная кнопка: взгляд изнутриКирилл Аверьянов —  Кастомная кнопка: взгляд изнутри
Кирилл Аверьянов — Кастомная кнопка: взгляд изнутри
 
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
Виктор Брыкcин — Как всё починить и ничего не сломать: работа со сложным кодо...
 
Самвел Меджлумян — S3: API на Swift за пять минут
Самвел Меджлумян —  S3: API на Swift за пять минутСамвел Меджлумян —  S3: API на Swift за пять минут
Самвел Меджлумян — S3: API на Swift за пять минут
 
Александр Зимин (Alexander Zimin) — Магия Swift
Александр Зимин (Alexander Zimin) — Магия SwiftАлександр Зимин (Alexander Zimin) — Магия Swift
Александр Зимин (Alexander Zimin) — Магия Swift
 
Катерина Трофименко — Разработка фич: от флагов до a/b-тестов
Катерина Трофименко — Разработка фич: от флагов до a/b-тестовКатерина Трофименко — Разработка фич: от флагов до a/b-тестов
Катерина Трофименко — Разработка фич: от флагов до a/b-тестов
 
Андрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботомАндрей Володин — Как подружиться с роботом
Андрей Володин — Как подружиться с роботом
 
Александр Зимин — Мобильные интерфейсы будущего
Александр Зимин — Мобильные интерфейсы будущегоАлександр Зимин — Мобильные интерфейсы будущего
Александр Зимин — Мобильные интерфейсы будущего
 
Николай Волосатов — Работа с крэшами библиотек
Николай Волосатов — Работа с крэшами библиотекНиколай Волосатов — Работа с крэшами библиотек
Николай Волосатов — Работа с крэшами библиотек
 
Александр Зимин (Alexander Zimin) — UIViewController, откройся!
Александр Зимин (Alexander Zimin) — UIViewController, откройся!Александр Зимин (Alexander Zimin) — UIViewController, откройся!
Александр Зимин (Alexander Zimin) — UIViewController, откройся!
 
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...
Сергей Пронин, Никита Кошолкин — Как мы разрабатываем App in the Air: процесс...
 
Макс Грибов — Использование SpriteKit в неигровых приложениях
Макс Грибов — Использование SpriteKit в неигровых приложенияхМакс Грибов — Использование SpriteKit в неигровых приложениях
Макс Грибов — Использование SpriteKit в неигровых приложениях
 
Михаил Рахманов — Promises, или почему обещания надо выполнять
Михаил Рахманов — Promises, или почему обещания надо выполнятьМихаил Рахманов — Promises, или почему обещания надо выполнять
Михаил Рахманов — Promises, или почему обещания надо выполнять
 
Александр Зимин — Оптимизация разработки
Александр Зимин — Оптимизация разработкиАлександр Зимин — Оптимизация разработки
Александр Зимин — Оптимизация разработки
 

Вадим Дробинин (Vadim Drobinin) — Заботимся правильно: CareKit, HealthKit и ResearchKit

  • 2. Вадим Дробинин / @Valzevul В двух словах • Экскурс в историю • HealthKit • ResearchKit & CareKit • Примеры использования • Tips & Tricks 2
  • 4. HealthKit Платформа для агрегации данных о здоровье из различных источников.
  • 6. Вадим Дробинин / @Valzevul HealthKit • Сбор данных, обмен аналитикой между приложениями для здоровья и фитнеса, а также фитнес-трекерами и внешними сервисами; • 256-битное AES-шифрование: • Нет доступа при заблокированном девайсе • По-умолчанию не вносится в бэкап (если он не в iCloud) 6
  • 8. Вадим Дробинин / @Valzevul ResearchKit 8 Платформа для удалённых исследований в области здоровья и медицины.
  • 10. Вадим Дробинин / @Valzevul ResearchKit • Открытый исходный код; • Создание исследований и тестов; • Отправка анонимных данных в соотвествующие лаборатории. 10
  • 11. Вадим Дробинин / @Valzevul ResearchKit 11 Task View Controller Visual Consent Flow Survey Active Task Task present
  • 12. Вадим Дробинин / @Valzevul ResearchKit • Нужно разрабатывать собственный бэкенд (для медицинских лабораторий); • Акцент на приватности данных. 12
  • 13. Вадим Дробинин / @Valzevul CareKit 13 Платформа для активного отслеживания состояния здоровья, а также проявления симптомов и времени принятия лекарств.
  • 15. Вадим Дробинин / @Valzevul CareKit • Открытый исходный код; • Отслеживание программы лечения, мониторинг прогресса, аналитика; • Удобные инструменты для экспорта; • Прогнозы. 15
  • 16. Вадим Дробинин / @Valzevul CareKit • Акцент на приватности данных; • Активная поддержка от Apple (carekit@apple.com). 16
  • 17. Вадим Дробинин / @Valzevul CareKit 17 Care Card Symptom and Measurement Tracker Insights Connect Care Plan Store Document Exporter
  • 18. Вадим Дробинин / @Valzevul CareKit 18 Care Card Sympt om Insight s Conne ct Care Plan Docum ent • Задачи, из которых состоит лечение: • Принять таблетки; • Сменить повязку; • Помедитировать.
  • 19. Вадим Дробинин / @Valzevul CareKit 19 Care Card Symptom and Measurement Tracker Insight s Conne ct Care Plan Docum ent • Задачи, которые позволяют оценить качество лечения: • Субъективные измерения («покалывает в боку»); • Объективные измерения (давление, вес, …).
  • 20. Вадим Дробинин / @Valzevul CareKit 20 Care Card Sympt om Insights Conne ct Care Plan Docum ent • Графики зависимости между лечением и прогрессом; • Текстовые подсказки.
  • 21. Вадим Дробинин / @Valzevul CareKit 21 Care Card Sympt om Insight s Connect Care Plan Docum ent • Экспорт данных о здоровье 
 из модуля Insights родным 
 и близким, а также наблюдающему врачу.
  • 22. Вадим Дробинин / @Valzevul CareKit 22 Care Card Sympt om Insight s Conne ct Care Plan Store Docum ent • База данных, которая хранит данные модулей Care Card и Progress Card; • Её обновление приводит к автоматическому обновлению интерфейса.
  • 23. Вадим Дробинин / @Valzevul CareKit 23 Care Card Sympt om Insight s Conne ct Care Plan Document Exporter • Управляет хранением и экспортом графиков и прочей информации из модуля Insights.
  • 24. Вадим Дробинин / @Valzevul CareKit 24 Care Card Symptom and Measurement Tracker Insights Connect Care Plan Store Document Exporter
  • 25. Вадим Дробинин / @Valzevul25 Иллюстрация Джефа Реймса
  • 27. Вадим Дробинин / @Valzevul HealthKit 27
  • 28. Вадим Дробинин / @Valzevul ResearchKit 28 Диабет Астма Болезнь Паркинсона Рак грудиСердечно- сосудистые заболевания
  • 29. Вадим Дробинин / @Valzevul CareKit 29
  • 31. Вадим Дробинин / @Valzevul HealthKit • Не забывайте про Capabilities; • С запасом получайте права на доступ к данным в HealthKit (пример); • Не храните прочитанные данные в UserDefaults, логах, sql-дампе и так далее; • Помните про NSMassFormater, NSEnergyFormatter, etc; • Регулярно синхронизируйте данные с Health. 31
  • 32. Вадим Дробинин / @Valzevul ResearchKit • Подробно заполняйте ORKConsentDocument; • Корректно выбирайте тип исследования (если его поменять, придётся заново получать разрешение); • Убедитесь, что ваш бэкенд хорошо защищен. 32
  • 33. Вадим Дробинин / @Valzevul CareKit • Заранее проектируйте OCKCarePlanStore; • Динамично обновляйте данные; • Помните про обработку входных значений; • Не бойтесь «Unbalanced calls to begin/end appearance transitions» (issues/741). 33
  • 34. Вадим Дробинин / @Valzevul Что дальше? • Изучать: • researchkit.org • carekit.org • How to create surveys with ResearchKit
 http://blog.shazino.com/articles/dev/researchkit-survey/ • HealthKit: Getting Fitness Data
 https://www.natashatherobot.com/healthkit-getting-fitness-data/ 34
  • 35. Вадим Дробинин / @Valzevul Что дальше? • Встраивать в свои приложения: • Не просто игра-платформер, но и параллельное исследование признаков болезни Паркинсона; • Не просто приложение фитнес-центра, но и персональный ассистент на основе HealthKit и CareKit; • Не просто гид по кафе, но и личный диетолог. 35
  • 36. Q&A Вадим Дробинин
 vadim@drobinin.com Team Lead @ WaveRoll,
 Преподаватель @ VK University