HealthKit: wat is het, werkingsprincipes en integratie

Auteur: IT Sectr Gepubliceerd: 2026-03-25 Leestijd: 8 min

Het HealthKit-framework is de centrale component van het Apple-gezondheidsecosysteem, dat gegevens van iPhone, Apple Watch en apparaten van derden verzamelt in een beschermde lokale opslag. Volgens Apple Developer Documentation, 2025 ondersteunt het platform meer dan 100 gegevenstypen — van fysieke activiteit en slaap tot laboratoriumanalyses en cardiovasculaire indicatoren. Eén enkele opslag van medische informatie zorgt voor naadloze synchronisatie tussen applicaties met granulaire toegangscontrole voor elk gegevenstype.

Belangrijkste

  • HealthKit — Apple-framework voor het verzamelen, opslaan en uitwisselen van gezondheidsgegevens tussen iOS-apps.
  • HKHealthStore — het centrale object waarmee applicaties communiceren met gezondheidsgegevens.
  • Gegevenstypen zijn onderverdeeld in kwantitatieve HKQuantityType en categorische HKCategoryType.
  • Privacy — elke app vraagt afzonderlijk toestemming voor lezen en schrijven voor elk gegevenstype.
  • Apple Watch stuurt automatisch gegevens over activiteit, hartslag en训练en naar HealthKit.

Wat is HealthKit?

HealthKit is een Apple-framework dat in 2014 samen met iOS 8 werd geïntroduceerd, bedoeld voor gecentraliseerd beheer van gezondheids- en fitnessgegevens van de gebruiker. Het platform fungeert als een centrale opslagplaats waar applicaties en apparaten medische informatie kunnen schrijven en lezen.

In tegenstelling tot oplossingen van derden, is HealthKit direct geïntegreerd in het iOS-besturingssysteem, wat hoge prestaties en beveiliging op hardwareniveau garandeert. Applicaties hebben geen directe toegang tot elkaar — alle bewerkingen verlopen via de centrale HKHealthStore.

Volgens Apple WWDC 2024 heeft meer dan 87% van de iPhone-gebruikers in de VS minstens één keer de ingebouwde Gezondheid-app gebruikt, die juist op HealthKit is gebaseerd. Het ecosysteem omvat duizenden apps van derden — van fitnesstrackers tot telegeneeskundediensten.

HealthKit-architectuur

De architectuur van HealthKit is gebaseerd op het principe van een meerlaagse opslag met geïsoleerde containers voor elke gegevensbron. Op het onderste niveau bevindt zich een SQLite-database, versleuteld met hardware AES-256. Op het bovenste niveau bevindt zich HKHealthStore — de uniforme interface voor interactie.

Elk record bevat metadata: bron HKSource, apparaat HKDevice, datum, tijd en een synchronisatie-vlag uit iCloud. Het systeem verwijdert automatisch dubbele records van dezelfde bron, waardoor statistische vervorming wordt voorkomen.

Gegevens worden gegroepeerd op type — HKQuantityType voor numerieke indicatoren (hartslag, stappen, calorieën) en HKCategoryType voor categorische gebeurtenissen (slaap, symptomen, menstruele cyclus). Deze structuur maakt flexibel opvragen van elke combinatie van parameters mogelijk via HKSampleQuery of HKStatisticsQuery.

Gegevenstypen in HealthKit

HealthKit ondersteunt meer dan 100 gestandaardiseerde gegevenstypen, verdeeld in categorieën: fysieke activiteit, voeding, slaap, cardiovasculair systeem, reproductieve gezondheid, laboratoriumparameters en vitale functies. Elk type heeft een meeteenheid HKUnit en een toegangsniveau.

Ontwikkelaars kunnen ook aangepaste correlaties maken via HKCorrelation — een groep gerelateerde metingen. Een maaltijdrecord kan bijvoorbeeld calorieën, eiwitten, vetten en koolhydraten als één object bevatten. Voor sequentiële metingen, zoals glucoseniveau, wordt HKSeriesSample gebruikt.

Werken met HealthKit begint met het definiëren van HKHealthStore — een singleton die automatisch wordt aangemaakt bij het importeren van het framework. Via de store controleert de app of het platform beschikbaar is op het apparaat, omdat ondersteuning op iPad en iPod touch kan ontbreken. Het is ook belangrijk op te merken dat HealthKit niet beschikbaar is op Mac Catalyst — voor macOS is een aparte implementatie vereist.

swift
import HealthKit

let healthStore = HKHealthStore()

let stepType = HKQuantityType
    .quantityType(forIdentifier: .stepCount)

let heartRateType = HKQuantityType
    .quantityType(forIdentifier: .heartRate)

let typesToRead: Set = [stepType, heartRateType]

Hoe werkt HealthKit

HealthKit fungeert als tussenpersoon tussen gegevensbronnen en applicaties, met behulp van een asynchroon publicatie-abonnementsmodel. De bron-app schrijft gegevens via HKHealthStore, en geabonneerde apps ontvangen meldingen over nieuwe records via HKObserverQuery, dat op de achtergrond wordt uitgevoerd.

Het framework ondersteunt synchronisatie op de achtergrond via iCloud: als de gebruiker is ingelogd, verspreidt HealthKit automatisch gegevens naar alle Apple-apparaten in realtime. Bij afwezigheid van een netwerk worden wijzigingen lokaal gebufferd en gesynchroniseerd wanneer de verbinding wordt hersteld, zonder gegevensverlies.

Volgens Apple is de synchronisatievertraging tussen iPhone en Apple Watch minder dan 30 seconden voor activiteitsgegevens. Voor andere typen — slaap, voeding, laboratoriumparameters — vindt synchronisatie plaats volgens een schema met een interval van maximaal 15 minuten om de batterij te sparen.

HKHealthStore en gegevensbewerkingen

HKHealthStore — de centrale singleton waarmee alle bewerkingen worden uitgevoerd: opslaan via saveObject, lezen via execute en verwijderen via deleteObject. Elke bewerking is asynchroon en retourneert het resultaat via een closure, wat een correcte foutafhandeling vereist.

Query’s zijn onderverdeeld in verschillende typen: HKSampleQuery voor het selecteren van records op criteria, HKStatisticsQuery voor geaggregeerde gegevens — som, gemiddelde, minimum, maximum — en HKObserverQuery voor het volgen van wijzigingen in realtime. Voor periodieke achtergrondupdates wordt HKHeartbeatSeriesQuery gebruikt.

swift
let type = HKQuantityType
    .quantityType(forIdentifier: .stepCount)
let now = Date()
let start = Calendar.current
    .date(
        byAdding: .day,
        value: -7,
        to: now
    )
let predicate = HKQuery
    .predicateForSamples(
        withStart: start,
        end: now,
        options: .strictStartDate
    )
let query = HKSampleQuery(
    sampleType: type,
    predicate: predicate,
    limit: 100
) { _, samples, _ in
    for sample in samples as [HKQuantitySample] {
        print(sample.quantity)
    }
}
healthStore.execute(query)

HealthKit integreren in een app

HealthKit-integratie begint met het inschakelen van de HealthKit-capability in Xcode en het toevoegen van een entitlement aan het project. Daarna vraagt de app toegangsrechten aan voor specifieke gegevenstypen via requestAuthorization. Belangrijk: HealthKit is niet beschikbaar op de simulator en vereist een fysiek apparaat met iOS.

Het integratieproces omvat drie fasen: het definiëren van gegevenstypen, het aanvragen van autorisatie en het uitvoeren van lees- en schrijfbewerkingen. Elke fase is asynchroon en moet fouten afhandelen — de gebruiker kan het toegangsverzoek voor elk gegevenstype weigeren in het systeemdialoogvenster met schakelaars.

Volgens Apple-onderzoek vertonen apps met HealthKit-integratie een 40% hogere gebruikersbetrokkenheid. De sleutelfactor voor succes is uitleggen waarom de app specifieke gezondheidsgegevens nodig heeft in de beschrijving van het autorisatieverzoek.

Autorisatie aanvragen

Het autorisatieverzoek wordt eenmalig uitgevoerd bij de eerste start. De app specificeert twee sets typen — voor lezen en voor schrijven. De gebruiker ziet een systeemdialoogvenster met schakelaars voor elk gegevenstype en kan selectief toegang verlenen door onnodige categorieën te blokkeren.

swift
let typesToWrite: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .dietaryEnergyConsumed
        )
]
let typesToRead: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .stepCount
        )
]

healthStore.requestAuthorization(
    toShare: typesToWrite,
    read: typesToRead
) { success, error in
    if success {
        print("Autorisatie verkregen")
    }
}

HealthKit-beveiliging

HealthKit implementeert een meerlaags beveiligingsmodel, inclusief hardwarematige versleuteling, applicatiesandbox en granulaire machtigingen. Alle gezondheidsgegevens worden versleuteld op het apparaat opgeslagen en worden niet naar iCloud verzonden zonder afzonderlijke toestemming van de gebruiker, die eenmalig wordt gevraagd.

Het belangrijkste kenmerk — het Intent-mechanisme: de app heeft geen constante achtergrondtoegang tot gegevens. Elk lees- of schrijfverzoek wordt gecontroleerd door het besturingssysteem en de gebruiker kan op elk moment de toestemming intrekken via Instellingen — Privacy — Gezondheid zonder de app opnieuw te hoeven installeren.

Apple reguleert het gebruik van HealthKit strikt in de App Store Review Guidelines. De app mag HealthKit-gegevens niet zonder expliciete toestemming aan derden doorgeven, ze niet gebruiken voor reclame of targeting en ze niet langer bewaren dan nodig is voor de aangegeven functionaliteit.

Limieten en beperkingen

HealthKit heeft een aantal beperkingen: maximale databasegrootte op het apparaat — 1 GB, limiet op het aantal records in één query — 1000, minimaal interval tussen identieke gegevenstypen — 1 seconde. Het framework beperkt ook achtergrondupdates — niet meer dan 60 HKObserverQuery-activaties per dag.

Deze beperkingen worden gecompenseerd door prestaties: het lezen van 1000 records duurt gemiddeld 50–100 milliseconden en het schrijven van één record duurt minder dan 10 milliseconden. Voor grote hoeveelheden gegevens wordt aanbevolen HKStatisticsCollectionQuery met voorafgaande aggregatie te gebruiken in plaats van individuele records te selecteren. HealthKit verwerkt query’s asynchroon — de app wordt niet geblokkeerd tijdens het wachten op gegevens van HKHealthStore.

Veelgestelde vragen

Welke apparaten ondersteunen HealthKit?

HealthKit wordt ondersteund op alle apparaten met iOS 8 en nieuwer, inclusief iPhone, iPad en iPod touch. Apple Watch stuurt automatisch gegevens via de gekoppelde iPhone. Apparaten van derden — fitnessarmbanden, weegschalen, bloeddrukmeters — kunnen gegevens schrijven via de HealthKit API als ze een bijbehorende app hebben.

Kunnen gegevens uit HealthKit worden geëxporteerd?

Ja, de Gezondheid-app biedt de mogelijkheid om alle gegevens in XML-formaat te exporteren via de functie “Exporteer gezondheidsgegevens”. Ontwikkelaars kunnen via HKSampleQuery programmatisch alle toegestane typen uitlezen en naar hun eigen formaat exporteren. Gezondheidsgegevens mogen niet zonder expliciete toestemming van de gebruiker naar servers van derden worden verzonden.

Hoe gaat HealthKit om met het verwijderen van gegevens?

De gebruiker kan gegevens verwijderen via de Gezondheid-app of via de bron-app die ze heeft geschreven. Na verwijdering worden gegevens niet hersteld — HealthKit heeft geen prullenbak. De verwijderingsbewerking is onomkeerbaar, daarom wordt apps aangeraden om bevestiging te vragen voordat deleteObject wordt uitgevoerd.

Wat is het verschil tussen HealthKit en ResearchKit?

HealthKit is bedoeld voor het opslaan en uitwisselen van gezondheidsgegevens van de gebruiker, terwijl ResearchKit een framework is voor het uitvoeren van medisch onderzoek. ResearchKit gebruikt HealthKit als een van de gegevensbronnen, maar voegt modules toe voor geïnformeerde toestemming, vragenlijsten en actieve taken voor het verzamelen van onderzoeksgegevens.

Is een speciale vergunning nodig voor HealthKit in de App Store?

Ja, apps die HealthKit gebruiken, moeten voldoen aan de App Store Review Guidelines, sectie 5.1.1 — Medical and Health Data. Vereist zijn een duidelijke beschrijving van het gegevensgebruik in de app, een privacybeleid, een verbod op reclamegebruik van gegevens en versleuteling bij verzending via het netwerk.

Samenvatting

  • HealthKit — het standaard Apple-framework voor het beheren van gezondheidsgegevens in iOS, geïntroduceerd in 2014.
  • HKHealthStore — de centrale interface voor alle bewerkingen: opslaan, lezen en verwijderen van gezondheidsgegevens.
  • Het platform ondersteunt meer dan 100 gegevenstypen — van fysieke activiteit tot laboratoriumanalyses.
  • Gegevensprivacy wordt gegarandeerd door hardwarematige AES-256-versleuteling en granulaire machtigingen.
  • Synchronisatie tussen Apple-apparaten vindt plaats via iCloud met een vertraging van minder dan 30 seconden.
  • Integratie vereist het configureren van entitlement in Xcode en het verplicht aanvragen van autorisatie bij de gebruiker.
  • Beveiliging van HealthKit wordt beheerd via systeemprivacy-instellingen en App Store-beleid.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook