vitalera SDK v2 — Kotlin Multiplatform per a més de 30 dispositius mèdics
El Vitalera SDK v2 és una biblioteca Kotlin Multiplatform (KMP) que proporciona una API unificada per integrar dispositius mèdics a Android i iOS. Substitueix el SDK v1 monolític amb una arquitectura modular basada en proveïdors.
Característiques principals
- Sistema modular de proveïdors: Incloeu només les integracions de dispositius que la vostra app necessita. Cada fabricant de dispositius (Omron, Polar, Lifevit, Beurer, etc.) és un mòdul de proveïdor separat.
- Kotlin Multiplatform: Codi base compartit entre Android i iOS amb implementacions específiques de plataforma per a BLE i criptografia.
- Observacions tipades: Més de 30 classes d'observació tipades (p. ex.,
BloodPressureObservation,HeartRateObservation) substitueixen el model genèricObservationde v1. - Descobriment basat en Flow: L'escaneig de dispositius utilitza Kotlin
Flow(Android) iAsyncSequence(iOS) amb temps d'espera i filtratge integrats. - Autenticació DPoP: Claus de llicència d'organització amb tokens OAuth2 vinculats amb DPoP. Període de gràcia fora de línia de 7 dies amb drets emmagatzemats.
- Mode connectat: Opcionalment resolveu pacients i envieu observacions directament al backend de Vitalera.
- Fallback BLE estàndard: Els dispositius que utilitzen perfils de salut estàndard Bluetooth SIG (pressió arterial, freqüència cardíaca, etc.) funcionen automàticament sense un proveïdor específic del fabricant.
Arquitectura
Suport de plataformes
| Plataforma | Versió mínima | Distribució |
|---|---|---|
| Android | API 24 (Android 7.0) | Maven (GitHub Packages) |
| iOS | 14.0 | Swift Package Manager |
Mòduls
| Mòdul | Artefacte Android | Producte iOS SPM | Descripció |
|---|---|---|---|
| Core | com.vitalera:sdk-core | VitaleraSdkCore | Builder, autenticació, registre, tipus d'observació |
| BLE | com.vitalera:sdk-ble | VitaleraSdkBle | Abstracció BLE, perfils estàndard |
| Omron | com.vitalera:provider-omron | VitaleraSdkProviderOmron | Pressió arterial, termòmetre |
| Polar | com.vitalera:provider-polar | VitaleraSdkProviderPolar | Freqüència cardíaca (H10, Verity Sense) |
| Lifevit | com.vitalera:provider-lifevit | VitaleraSdkProviderLifevit | BPM, pulsioxímetre, bàscula |
| Beurer | com.vitalera:provider-beurer | VitaleraSdkProviderBeurer | BPM, pulsioxímetre |
| Smart Peak Flow | com.vitalera:provider-smart-peak-flow | VitaleraSdkProviderSmartPeakFlow | Flux espiratori basat en àudio |
| HealthKit | N/A | VitaleraSdkProviderHealthKit | Apple HealthKit (només iOS) |
| Health Connect | com.vitalera:provider-health-connect | N/A | Android Health Connect |
| Umbrella | com.vitalera:sdk-android | VitaleraSdk | Tots els proveïdors inclosos |
Inici ràpid
// 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()
Primers passos
- Android: Consulteu la Descripció d'Android, Instal·lació i guies d'Ús.
- iOS: Consulteu la Descripció d'iOS, Instal·lació i guies d'Ús.
- Migració des de v1: Consulteu la guia de migració a la documentació de referència del SDK.
- Suport de dispositius: Consulteu les Guies d'integració de dispositius per a instruccions de configuració per dispositiu.
Suport
Contacteu amb sdk@vitalera.com per a claus de llicència o suport tècnic.