Saltar al contingut principal

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èric Observation de v1.
  • Descobriment basat en Flow: L'escaneig de dispositius utilitza Kotlin Flow (Android) i AsyncSequence (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​

PlataformaVersió mínimaDistribució
AndroidAPI 24 (Android 7.0)Maven (GitHub Packages)
iOS14.0Swift Package Manager

Mòduls​

MòdulArtefacte AndroidProducte iOS SPMDescripció
Corecom.vitalera:sdk-coreVitaleraSdkCoreBuilder, autenticació, registre, tipus d'observació
BLEcom.vitalera:sdk-bleVitaleraSdkBleAbstracció BLE, perfils estàndard
Omroncom.vitalera:provider-omronVitaleraSdkProviderOmronPressió arterial, termòmetre
Polarcom.vitalera:provider-polarVitaleraSdkProviderPolarFreqüència cardíaca (H10, Verity Sense)
Lifevitcom.vitalera:provider-lifevitVitaleraSdkProviderLifevitBPM, pulsioxímetre, bàscula
Beurercom.vitalera:provider-beurerVitaleraSdkProviderBeurerBPM, pulsioxímetre
Smart Peak Flowcom.vitalera:provider-smart-peak-flowVitaleraSdkProviderSmartPeakFlowFlux espiratori basat en àudio
HealthKitN/AVitaleraSdkProviderHealthKitApple HealthKit (només iOS)
Health Connectcom.vitalera:provider-health-connectN/AAndroid Health Connect
Umbrellacom.vitalera:sdk-androidVitaleraSdkTots 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​

Suport​

Contacteu amb [email protected] per a claus de llicència o suport tècnic.