Naar hoofdinhoud gaan

vitalera SDK v2 — Kotlin Multiplatform voor 30+ medische apparaten

De Vitalera SDK v2 is een Kotlin Multiplatform (KMP) bibliotheek die een uniforme API biedt voor integratie van medische apparaten op Android en iOS. Het vervangt de monolithische v1 SDK door een modulaire, provider-gebaseerde architectuur.

Belangrijkste functies

  • Modulair providersysteem: Voeg alleen de apparaatintegraties toe die uw app nodig heeft. Elke apparaatleverancier (Omron, Polar, Lifevit, Beurer, enz.) is een afzonderlijke providermodule.
  • Kotlin Multiplatform: Gedeelde codebasis voor Android en iOS met platformspecifieke BLE- en crypto-implementaties.
  • Getypeerde observaties: 30+ getypeerde observatieklassen (bijv. BloodPressureObservation, HeartRateObservation) vervangen het generieke Observation-model uit v1.
  • Flow-gebaseerde ontdekking: Apparaatscannen gebruikt Kotlin Flow (Android) en AsyncSequence (iOS) met ingebouwde time-outs en filtering.
  • DPoP-authenticatie: Organisatielicentiesleutels met DPoP-gebonden OAuth2-tokens. 7-daagse offline-respijtperiode met gecachte rechten.
  • Verbonden modus: Optioneel patienten oplossen en observaties rechtstreeks naar de Vitalera-backend posten.
  • Standaard BLE-fallback: Apparaten die standaard Bluetooth SIG-gezondheidsprofielen gebruiken (bloeddruk, hartfrequentie, enz.) werken automatisch zonder leverancierspecifieke provider.

Architectuur

Platformondersteuning

PlatformMin VersionDistribution
AndroidAPI 24 (Android 7.0)Maven (GitHub Packages)
iOS14.0Swift Package Manager

Modules

ModuleAndroid ArtifactiOS SPM ProductBeschrijving
Corecom.vitalera:sdk-coreVitaleraSdkCoreBuilder, auth, registry, observatietypen
BLEcom.vitalera:sdk-bleVitaleraSdkBleBLE-abstractie, standaardprofielen
Omroncom.vitalera:provider-omronVitaleraSdkProviderOmronBloeddruk, thermometer
Polarcom.vitalera:provider-polarVitaleraSdkProviderPolarHartfrequentie (H10, Verity Sense)
Lifevitcom.vitalera:provider-lifevitVitaleraSdkProviderLifevitBPM, oximeter, weegschaal
Beurercom.vitalera:provider-beurerVitaleraSdkProviderBeurerBPM, oximeter
Smart Peak Flowcom.vitalera:provider-smart-peak-flowVitaleraSdkProviderSmartPeakFlowAudio-gebaseerde peak flow
HealthKitN/AVitaleraSdkProviderHealthKitApple HealthKit (alleen iOS)
Health Connectcom.vitalera:provider-health-connectN/AAndroid Health Connect
Umbrellacom.vitalera:sdk-androidVitaleraSdkAlle providers inbegrepen

Snelstart

// 1. Initialize SDK with DPoP auth
val sdk = VitaleraSdk.builder()
.clientId("your-org-license-key")
.addProvider("omron")
.addProvider("polar")
.connectedMode(true)
.build()

// 2. Discover devices
val filter = DiscoveryFilter(
capabilities = setOf(DeviceCapability.BLOOD_PRESSURE)
)
sdk.devices.discover(filter, timeoutMs = 15_000L).collect { descriptor ->
println("Found: ${descriptor.name} (${descriptor.provider})")
}

// 3. Connect and collect typed observations
val device = sdk.devices.createDevice(descriptor)
device.connect()
device.collect().collect { observation ->
when (observation) {
is BloodPressureObservation ->
println("BP: ${observation.systolic}/${observation.diastolic}")
is HeartRateObservation ->
println("HR: ${observation.heartRate} bpm")
}
}
device.disconnect()

// 4. Cleanup
sdk.close()

Aan de slag

Support

Neem contact op met sdk@vitalera.com voor licentiesleutels of technische ondersteuning.