Aller au contenu principal

vitalera SDK v2 -- Kotlin Multiplatform pour plus de 30 dispositifs medicaux

Le SDK Vitalera v2 est une bibliotheque Kotlin Multiplatform (KMP) qui fournit une API unifiee pour l'integration de dispositifs medicaux sur Android et iOS. Il remplace le SDK v1 monolithique par une architecture modulaire basee sur des fournisseurs.

Fonctionnalites cles

  • Systeme de fournisseurs modulaire : Incluez uniquement les integrations de dispositifs dont votre application a besoin. Chaque fabricant (Omron, Polar, Lifevit, Beurer, etc.) est un module de fournisseur separe.
  • Kotlin Multiplatform : Base de code partagee entre Android et iOS avec des implementations BLE et cryptographiques specifiques a chaque plateforme.
  • Observations typees : Plus de 30 classes d'observations typees (par ex. BloodPressureObservation, HeartRateObservation) remplacent le modele generique Observation de la v1.
  • Decouverte basee sur Flow : La recherche de dispositifs utilise Kotlin Flow (Android) et AsyncSequence (iOS) avec des delais d'expiration et un filtrage integres.
  • Authentification DPoP : Cles de licence d'organisation avec des jetons OAuth2 lies par DPoP. Periode de grace hors ligne de 7 jours avec mise en cache des habilitations.
  • Mode connecte : Resolvez optionnellement les patients et publiez les observations directement vers le backend Vitalera.
  • Repli BLE standard : Les dispositifs utilisant les profils de sante Bluetooth SIG standard fonctionnent automatiquement sans fournisseur specifique au fabricant.

Architecture

Prise en charge des plateformes

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

Modules

ModuleArtefact AndroidProduit SPM iOSDescription
Corecom.vitalera:sdk-coreVitaleraSdkCoreBuilder, auth, registre, types d'observations
BLEcom.vitalera:sdk-bleVitaleraSdkBleAbstraction BLE, profils standard
Omroncom.vitalera:provider-omronVitaleraSdkProviderOmronTensiometre, thermometre
Polarcom.vitalera:provider-polarVitaleraSdkProviderPolarFrequence cardiaque (H10, Verity Sense)
Lifevitcom.vitalera:provider-lifevitVitaleraSdkProviderLifevitTensiometre, oximetre, balance
Beurercom.vitalera:provider-beurerVitaleraSdkProviderBeurerTensiometre, oximetre
Smart Peak Flowcom.vitalera:provider-smart-peak-flowVitaleraSdkProviderSmartPeakFlowDebitmetre de pointe audio
HealthKitN/AVitaleraSdkProviderHealthKitApple HealthKit (iOS uniquement)
Health Connectcom.vitalera:provider-health-connectN/AAndroid Health Connect
Globalcom.vitalera:sdk-androidVitaleraSdkTous les fournisseurs inclus

Demarrage rapide

// 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()

Pour commencer

Support

Contactez sdk@vitalera.com pour les cles de licence ou le support technique.