Zum Hauptinhalt springen

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 generische Observation-Modell aus v1.
  • Flow-basierte Erkennung: Geraeteerkennung nutzt Kotlin Flow (Android) und AsyncSequence (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

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

Module

ModulAndroid-ArtefaktiOS SPM-ProduktBeschreibung
Corecom.vitalera:sdk-coreVitaleraSdkCoreBuilder, Auth, Registry, Beobachtungstypen
BLEcom.vitalera:sdk-bleVitaleraSdkBleBLE-Abstraktion, Standardprofile
Omroncom.vitalera:provider-omronVitaleraSdkProviderOmronBlutdruck, Thermometer
Polarcom.vitalera:provider-polarVitaleraSdkProviderPolarHerzfrequenz (H10, Verity Sense)
Lifevitcom.vitalera:provider-lifevitVitaleraSdkProviderLifevitBPM, Oximeter, Waage
Beurercom.vitalera:provider-beurerVitaleraSdkProviderBeurerBPM, Oximeter
Smart Peak Flowcom.vitalera:provider-smart-peak-flowVitaleraSdkProviderSmartPeakFlowAudiobasierter Peak Flow
HealthKitN/AVitaleraSdkProviderHealthKitApple HealthKit (nur iOS)
Health Connectcom.vitalera:provider-health-connectN/AAndroid Health Connect
Umbrellacom.vitalera:sdk-androidVitaleraSdkAlle 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

Support

Kontaktieren Sie sdk@vitalera.com fuer Lizenzschluessel oder technischen Support.