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 generiekeObservation-model uit v1. - Flow-gebaseerde ontdekking: Apparaatscannen gebruikt Kotlin
Flow(Android) enAsyncSequence(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
| Platform | Min Version | Distribution |
|---|---|---|
| Android | API 24 (Android 7.0) | Maven (GitHub Packages) |
| iOS | 14.0 | Swift Package Manager |
Modules
| Module | Android Artifact | iOS SPM Product | Beschrijving |
|---|---|---|---|
| Core | com.vitalera:sdk-core | VitaleraSdkCore | Builder, auth, registry, observatietypen |
| BLE | com.vitalera:sdk-ble | VitaleraSdkBle | BLE-abstractie, standaardprofielen |
| Omron | com.vitalera:provider-omron | VitaleraSdkProviderOmron | Bloeddruk, thermometer |
| Polar | com.vitalera:provider-polar | VitaleraSdkProviderPolar | Hartfrequentie (H10, Verity Sense) |
| Lifevit | com.vitalera:provider-lifevit | VitaleraSdkProviderLifevit | BPM, oximeter, weegschaal |
| Beurer | com.vitalera:provider-beurer | VitaleraSdkProviderBeurer | BPM, oximeter |
| Smart Peak Flow | com.vitalera:provider-smart-peak-flow | VitaleraSdkProviderSmartPeakFlow | Audio-gebaseerde peak flow |
| HealthKit | N/A | VitaleraSdkProviderHealthKit | Apple HealthKit (alleen iOS) |
| Health Connect | com.vitalera:provider-health-connect | N/A | Android Health Connect |
| Umbrella | com.vitalera:sdk-android | VitaleraSdk | Alle 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
- Android: Zie de Android-overzicht, Installatie en Gebruik gidsen.
- iOS: Zie de iOS-overzicht, Installatie en Gebruik gidsen.
- Migreren van v1: Zie de migratiegids in de SDK-referentiedocumentatie.
- Apparaatondersteuning: Zie de Apparaatintegratiegidsen voor installatie-instructies per apparaat.
Support
Neem contact op met sdk@vitalera.com voor licentiesleutels of technische ondersteuning.