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 sdk@vitalera.com per a claus de llicència o suport tècnic.