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 generiqueObservationde la v1. - Decouverte basee sur Flow : La recherche de dispositifs utilise Kotlin
Flow(Android) etAsyncSequence(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
| Plateforme | Version minimale | Distribution |
|---|---|---|
| Android | API 24 (Android 7.0) | Maven (GitHub Packages) |
| iOS | 14.0 | Swift Package Manager |
Modules
| Module | Artefact Android | Produit SPM iOS | Description |
|---|---|---|---|
| Core | com.vitalera:sdk-core | VitaleraSdkCore | Builder, auth, registre, types d'observations |
| BLE | com.vitalera:sdk-ble | VitaleraSdkBle | Abstraction BLE, profils standard |
| Omron | com.vitalera:provider-omron | VitaleraSdkProviderOmron | Tensiometre, thermometre |
| Polar | com.vitalera:provider-polar | VitaleraSdkProviderPolar | Frequence cardiaque (H10, Verity Sense) |
| Lifevit | com.vitalera:provider-lifevit | VitaleraSdkProviderLifevit | Tensiometre, oximetre, balance |
| Beurer | com.vitalera:provider-beurer | VitaleraSdkProviderBeurer | Tensiometre, oximetre |
| Smart Peak Flow | com.vitalera:provider-smart-peak-flow | VitaleraSdkProviderSmartPeakFlow | Debitmetre de pointe audio |
| HealthKit | N/A | VitaleraSdkProviderHealthKit | Apple HealthKit (iOS uniquement) |
| Health Connect | com.vitalera:provider-health-connect | N/A | Android Health Connect |
| Global | com.vitalera:sdk-android | VitaleraSdk | Tous 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
- Android : Consultez les guides Apercu Android, Installation et Utilisation.
- iOS : Consultez les guides Apercu iOS, Installation et Utilisation.
- Migration depuis v1 : Consultez le guide de migration dans la documentation de reference du SDK.
- Dispositifs compatibles : Consultez les Guides d'integration des dispositifs pour les instructions de configuration par dispositif.
Support
Contactez sdk@vitalera.com pour les cles de licence ou le support technique.