vitalera SDK v2 — Kotlin Multiplatform fuer 30+ Medizingeraete
Das Vitalera SDK v2 ist eine Kotlin Multiplatform (KMP)-Bibliothek, die eine einheitliche API fuer die Integration medizinischer Geraete auf Android und iOS bereitstellt. Es ersetzt das monolithische v1 SDK durch eine modulare, anbieterbasierte Architektur.
Hauptfunktionen
- Modulares Anbietersystem: Binden Sie nur die Geraeteintegrationen ein, die Ihre App benoetigt. Jeder Geraetehersteller (Omron, Polar, Lifevit, Beurer usw.) ist ein separates Anbietermodul.
- Kotlin Multiplatform: Gemeinsame Codebasis fuer Android und iOS mit plattformspezifischen BLE- und Kryptografie-Implementierungen.
- Typisierte Beobachtungen: Ueber 30 typisierte Beobachtungsklassen (z.B.
BloodPressureObservation,HeartRateObservation) ersetzen das generischeObservation-Modell aus v1. - Flow-basierte Erkennung: Geraeteerkennung nutzt Kotlin
Flow(Android) undAsyncSequence(iOS) mit integrierten Timeouts und Filterung. - DPoP-Authentifizierung: Organisations-Lizenzschluessel mit DPoP-gebundenen OAuth2-Tokens. 7-taegige Offline-Toleranzperiode mit gecachten Berechtigungen.
- Connected Mode: Optionale Aufloesung von Patienten und direktes Senden von Beobachtungen an das Vitalera-Backend.
- Standard-BLE-Fallback: Geraete, die Standard-Bluetooth-SIG-Gesundheitsprofile verwenden (Blutdruck, Herzfrequenz usw.), funktionieren automatisch ohne herstellerspezifischen Anbieter.
Architektur
Plattformunterstuetzung
| Plattform | Mindestversion | Distribution |
|---|---|---|
| Android | API 24 (Android 7.0) | Maven (GitHub Packages) |
| iOS | 14.0 | Swift Package Manager |
Module
| Modul | Android-Artefakt | iOS SPM-Produkt | Beschreibung |
|---|---|---|---|
| Core | com.vitalera:sdk-core | VitaleraSdkCore | Builder, Auth, Registry, Beobachtungstypen |
| BLE | com.vitalera:sdk-ble | VitaleraSdkBle | BLE-Abstraktion, Standardprofile |
| Omron | com.vitalera:provider-omron | VitaleraSdkProviderOmron | Blutdruck, Thermometer |
| Polar | com.vitalera:provider-polar | VitaleraSdkProviderPolar | Herzfrequenz (H10, Verity Sense) |
| Lifevit | com.vitalera:provider-lifevit | VitaleraSdkProviderLifevit | BPM, Oximeter, Waage |
| Beurer | com.vitalera:provider-beurer | VitaleraSdkProviderBeurer | BPM, Oximeter |
| Smart Peak Flow | com.vitalera:provider-smart-peak-flow | VitaleraSdkProviderSmartPeakFlow | Audiobasierter Peak Flow |
| HealthKit | N/A | VitaleraSdkProviderHealthKit | Apple HealthKit (nur iOS) |
| Health Connect | com.vitalera:provider-health-connect | N/A | Android Health Connect |
| Umbrella | com.vitalera:sdk-android | VitaleraSdk | Alle Anbieter enthalten |
Schnellstart
// 1. SDK mit DPoP-Auth initialisieren
val sdk = VitaleraSdk.builder()
.clientId("your-org-license-key")
.addProvider("omron")
.addProvider("polar")
.connectedMode(true)
.build()
// 2. Geraete erkennen
val filter = DiscoveryFilter(
capabilities = setOf(DeviceCapability.BLOOD_PRESSURE)
)
sdk.devices.discover(filter, timeoutMs = 15_000L).collect { descriptor ->
println("Found: ${descriptor.name} (${descriptor.provider})")
}
// 3. Verbinden und typisierte Beobachtungen erfassen
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. Aufraeumen
sdk.close()
Erste Schritte
- Android: Siehe die Leitfaeden Android-Uebersicht, Installation und Verwendung.
- iOS: Siehe die Leitfaeden iOS-Uebersicht, Installation und Verwendung.
- Migration von v1: Siehe den Migrationsleitfaden in der SDK-Referenzdokumentation.
- Geraeteunterstuetzung: Siehe die Geraeteintegrations-Leitfaeden fuer gereatespezifische Einrichtungsanweisungen.
Support
Kontaktieren Sie sdk@vitalera.com fuer Lizenzschluessel oder technischen Support.