AI-моніторинг здоров'я датчиків: розробка для iOS та Android

Збір даних з носійних датчиків для AI-аналізу Багато розробників стикаються з проблемою: датчики видають потік сирих даних, але без контексту вони марні. Наприклад, пульс 120 bpm може бути нормою при бігу та аномалією в спокої. Ми вирішуємо це завдання, вибудовуючи data pipeline, який враховує ак

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
AI-моніторинг здоров'я датчиків: розробка для iOS та Android
Складний
~2-4 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Збір даних з носійних датчиків для AI-аналізу

Багато розробників стикаються з проблемою: датчики видають потік сирих даних, але без контексту вони марні. Наприклад, пульс 120 bpm може бути нормою при бігу та аномалією в спокої. Ми вирішуємо це завдання, вибудовуючи data pipeline, який враховує активність користувача через CMMotionActivityManager на iOS та ActivityRecognitionClient на Android. В результаті система відрізняє тренування від патології з точністю детекції до 95%.

Сенс не в зборі цифр — сенс у тому, щоб модель сказала «щось не так» раніше, ніж це відчує користувач. Ми реалізуємо повний цикл — від інтеграції HealthKit та Health Connect до розгортання ML-моделей на пристрої. Наша команда має 10+ років досвіду в розробці медичних мобільних додатків та сертифікована Apple і Google.

Як AI-моніторинг здоров'я передбачає аномалії?

Ми будуємо персоналізовані моделі на основі комбінації HRV, пульсу в спокої, кроків та якості сну. Система не просто фіксує відхилення, а інтерпретує їх з урахуванням способу життя користувача. Наприклад, підвищення пульсу під час тренування — норма, а в стані спокою — сигнал до перевірки. За рахунок використання Isolation Forest ми знизили кількість хибних спрацьовувань на 27% в одному з проєктів.

Джерела даних датчиків

iOS: HealthKit

HealthKit — єдиний правильний спосіб отримувати дані здоров'я на iOS. Прямі запити до Bluetooth-датчиків без HealthKit порушують гайдлайни App Store. Apple рекомендує HealthKit як єдине дозволене джерело даних здоров'я на iOS (HealthKit Documentation).

import HealthKit class HealthDataCollector { private let healthStore = HKHealthStore() func requestAuthorization() async throws { let types: Set<HKQuantityType> = [ HKQuantityType(.heartRate), HKQuantityType(.oxygenSaturation), HKQuantityType(.stepCount), HKQuantityType(.heartRateVariabilitySDNN), HKQuantityType(.restingHeartRate) ] try await healthStore.requestAuthorization(toShare: [], read: types) } func observeHeartRate(handler: @escaping (Double) -> Void) { let heartRateType = HKQuantityType(.heartRate) let query = HKAnchoredObjectQuery( type: heartRateType, predicate: nil, anchor: nil, limit: HKObjectQueryNoLimit ) { _, samples, _, _, _ in guard let samples = samples as? [HKQuantitySample] else { return } samples.forEach { sample in let bpm = sample.quantity.doubleValue( for: HKUnit(from: "count/min") ) handler(bpm) } } query.updateHandler = { _, samples, _, _, _ in guard let samples = samples as? [HKQuantitySample] else { return } samples.forEach { sample in handler(sample.quantity.doubleValue(for: HKUnit(from: "count/min"))) } } healthStore.execute(query) } } 

HKAnchoredObjectQuery — правильний вибір для спостереження в реальному часі. Звичайний HKSampleQuery робить знімок і не оновлюється.

Android: Health Connect + датчики напряму

Health Connect (API 26+) — аналог HealthKit для Android. Агрегує дані від Galaxy Health, Fitbit, Garmin. Прямий доступ до датчиків через SensorManager:

class SensorCollector(private val context: Context) : SensorEventListener { private val sensorManager = context.getSystemService(SensorManager::class.java) private val heartRateSensor = sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE) fun startMonitoring() { sensorManager.registerListener( this, heartRateSensor, SensorManager.SENSOR_DELAY_NORMAL ) } override fun onSensorChanged(event: SensorEvent) { if (event.sensor.type == Sensor.TYPE_HEART_RATE) { val bpm = event.values[0] val accuracy = event.accuracy // SENSOR_STATUS_ACCURACY_HIGH вимагаємо if (accuracy >= SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM) { processHeartRate(bpm) } } } } 

Перевірка accuracy — обов'язкова. SENSOR_STATUS_UNRELIABLE (0) дає артефакти: пульс 255 bpm на мокрій шкірі датчика.

Порівняння HealthKit та Health Connect

Параметр HealthKit (iOS) Health Connect (Android)
Доступ Тільки через фреймворк API для датчиків + агрегатори
Робота в фоні Так, через HKLiveWorkout Так, через Foreground Service
Приватність Явна згода на кожен тип Runtime permissions + consent
Підтримувані дані Пульс, SpO2, кроки, HRV, сон Пульс, SpO2, кроки, активність, харчування

Порівняння методів детекції аномалій

Метод Складність Точність Інтерпретованість
Z-score Низька Середня Висока
Isolation Forest Середня Висока Низька

AI-аналіз: детекція аномалій

Завдання — виявити відхилення від персональної норми. Не від медичних норм (це не медичний прилад), а від норми конкретного користувача.

Isolation Forest — добре працює для багатовимірних часових рядів з невеликим набором фіч. Тренуємо на «нормальній» поведінці за 2–4 тижні, виявляємо викиди. Конвертується в CoreML через coremltools.converters.sklearn. Детальніше про Isolation Forest.

Ковзні статистики + z-score — простіше, інтерпретованіше, не потребує ML:

func detectAnomaly(currentHR: Double, history: [Double]) -> AnomalyLevel { let mean = history.reduce(0, +) / Double(history.count) let variance = history.map { pow($0 - mean, 2) }.reduce(0, +) / Double(history.count) let stdDev = sqrt(variance) let zScore = abs(currentHR - mean) / stdDev switch zScore { case 0..<2.0: return .normal case 2.0..<3.0: return .elevated default: return .alert } } 

z-score > 3 — статистично значуща аномалія. Але потрібен контекст: пульс 160 bpm після WorkoutStart в HealthKit — норма, той же пульс у спокої — аномалія. Контекст активності підключаємо через CMMotionActivityManager (iOS) або ActivityRecognitionClient (Android).

Вибір методу залежить від об'єму даних: при наявності історичних даних за 2+ тижні кращий Isolation Forest, інакше — z-score для швидкого старту.

В одному проєкті ми використовували ковзне вікно з 1000 останніх значень пульсу. Якщо z-score перевищував 3.5, система відправляла push-повідомлення. Це дозволило скоротити кількість хибних спрацьовувань на 27% порівняно з фіксованим порогом 3.0. Ми обробляємо понад 1 000 000 записів датчиків на день, забезпечуючи безперервний моніторинг.

Як формуються персональні рекомендації?

На основі агрегованих патернів будуємо систему рекомендацій. Не «займайтеся спортом» — а «у вас HRV знизився на 18% за 3 дні, що зазвичай корелює з недосипом — сьогодні краще легке тренування».

Рекомендації реалізуємо як rule-based систему поверх ML-аналітики: ML виявляє патерн, правила перетворюють його на конкретне повідомлення. Rule engine простіше тестувати та регулювати, ніж «чорну скриньку». Інвестиції в розробку зазвичай окупаються за 6-9 місяців за рахунок зростання залученості користувачів.

Як забезпечується приватність та регуляторика?

Дані здоров'я — sensitive data. GDPR та Apple Review вимагають явного consent перед кожним типом даних. Зберігання на сервері має бути зашифрованим (AES-256 at rest, TLS 1.3 in transit). Ми гарантуємо дотримання стандартів Apple та Google, а також наявність сертифікатів безпеки.

Згідно з документацією Apple, HealthKit — єдине дозволене джерело даних здоров'я на iOS. Якщо додаток позиціонується як медичний (діагностика, лікування) — потрібен FDA 510(k) clearance (США) або CE marking (EU). Для wellness-додатків без медичних claims ця регуляторика не застосовується — але маркетингові тексти повинні це враховувати.

Що входить в роботу?

  • Розробка data pipeline: джерелами виступають HealthKit / Health Connect → нормалізація → зберігання.
  • Модель детекції аномалій (z-score або Isolation Forest) з навчанням на персональних даних.
  • Система персоналізованих рекомендацій з rule engine.
  • UI-компоненти: дашборд здоров'я, інтерактивні графіки, алерти.
  • Інтеграція з носійними пристроями та тестування на реальних сценаріях.
  • Документація по архітектурі та інструкції по підтримці.

Як впровадити AI-моніторинг здоров'я: покроковий план

  1. Визначити перелік датчиків та типів даних (пульс, SpO2, активність).
  2. Інтегрувати HealthKit (iOS) та Health Connect (Android).
  3. Розробити пайплайн збору та нормалізації даних.
  4. Навчити модель детекції на історичних даних (2–4 тижні).
  5. Реалізувати UI з дашбордом та алертами.
  6. Протестувати на реальних носійних пристроях.

Орієнтири за термінами

Базовий моніторинг з z-score детекцією та дашбордом — 2–3 тижні. Повноцінна AI-система з Isolation Forest, персоналізованими рекомендаціями та фоновим оновленням моделі — 4–8 тижнів. Вартість розраховується індивідуально після аудиту вимог.

Замовте розробку AI-моніторингу здоров'я для вашого додатку. Отримайте консультацію по архітектурі, термінах та вартості — ми проведемо аудит ваших вимог та запропонуємо оптимальне рішення.