Salt la continutul principal

Integrarea dispozitivelor -- Wearable-uri, dispozitive Bluetooth si magazine de sanatate

Aceasta sectiune explica cum sa integrati surse de date de sanatate cu vitalera -- de la wearable-uri de consum precum Garmin si Fitbit (API cloud) la dispozitive clinice Bluetooth precum tensiometre si glucometre (SDK).

Wearable-uri de consum (bazate pe API)

Conectati wearable-uri de consum populare prin integrari API server la server. Nu este necesar SDK mobil pentru acestea -- utilizatorii isi asociaza conturile o singura data prin OAuth, iar datele curg automat.

WearableConexiuneTipuri de dateAflati mai multe
Garmin (toate modelele)Garmin Health API (OAuth)Antrenamente, frecventa cardiaca, somn, SpO2, stres, pasi, HRVIntegrare Garmin
Fitbit (toate modelele)Fitbit Web API (OAuth)Activitate, frecventa cardiaca, somn, SpO2, greutateContactati vanzarile
Apple WatchHealthKit (pe dispozitiv)Frecventa cardiaca, SpO2Referinta SDK
PolarSDK (Bluetooth)Frecventa cardiacaReferinta SDK

Dispozitive medicale (SDK -- Bluetooth)

FurnizorModul (Android)Modul (iOS)Dispozitive
Omronprovider-omronVitaleraSdkProviderOmronEvolv BPM (HEM-7600T), MC-280B Thermometer
Polarprovider-polarVitaleraSdkProviderPolarH10, Verity Sense (heart rate)
Lifevitprovider-lifevitVitaleraSdkProviderLifevitBPM 160, BPM 260, Pulse Oximeter (OL750), Scale (BL2000), Thermometer (IT45B)
Beurerprovider-beurerVitaleraSdkProviderBeurerBM85 BPM, PO60 Pulse Oximeter
Smart Peak Flowprovider-smart-peak-flowVitaleraSdkProviderSmartPeakFlowSmart Peak Flow Meter
HealthKitN/AVitaleraSdkProviderHealthKitApple Watch (heart rate, SpO2)
Health Connectprovider-health-connectN/AGoogle Health Connect (Android)
Standard BLEsdk-bleVitaleraSdkBleAny device using standard Bluetooth SIG health profiles

Consultati pagina Dispozitive Suportate pentru lista completa de dispozitive.

Fluxul de lucru general

Pentru toate dispozitivele BLE, integrarea urmeaza trei pasi:

1. Discover

Scanati dispozitive BLE din apropiere utilizand DiscoveryFilter pentru a filtra dupa furnizor, capacitate sau numele dispozitivului:

// Android (Kotlin)
val filter = DiscoveryFilter(
capabilities = setOf(DeviceCapability.BLOOD_PRESSURE)
)
sdk.devices.discover(filter, timeoutMs = 15_000L).collect { descriptor ->
println("Found: ${descriptor.name} (${descriptor.provider})")
}
// iOS (Swift)
let filter = DiscoveryFilter(
providers: nil,
capabilities: [DeviceCapability.bloodPressure],
namePrefix: nil
)
for try await descriptor in sdk.devices.discover(filter: filter, timeoutMs: 15_000) {
print("Found: \(descriptor.name) (\(descriptor.provider))")
}

2. Connect

Creati un dispozitiv din descriptor-ul descoperit si conectati-va:

// Android
val device = sdk.devices.createDevice(descriptor)
device.connect(timeoutMs = 10_000L)
// iOS
let device = sdk.devices.createDevice(descriptor: descriptor)
try await device.connect(timeoutMs: 10_000)

3. Collect

Cititi observations tipizate de la dispozitivul conectat:

// Android
device.collect().collect { observation ->
when (observation) {
is BloodPressureObservation ->
println("BP: ${observation.systolic}/${observation.diastolic}")
is HeartRateObservation ->
println("HR: ${observation.heartRate} bpm")
}
}
device.disconnect()
// iOS
for try await observation in device.collect() {
if let bp = observation as? BloodPressureObservation {
print("BP: \(bp.systolic)/\(bp.diastolic) mmHg")
} else if let hr = observation as? HeartRateObservation {
print("HR: \(hr.heartRate) bpm")
}
}
try await device.disconnect()

Note specifice per dispozitiv

Tensiometre

  • Beurer BM85: Asigurati-va ca dispozitivul este incarcat si oprit inainte de scanare. Porniti dispozitivul dupa ce incepe scanarea si asteptati descoperirea Bluetooth.
  • Lifevit BPM 160/260: Porniti dispozitivul, apoi incepeti scanarea. Odata conectat, apelati read si asteptati observatia.
  • Omron Evolv (HEM-7600T): Porniti dispozitivul si incepeti scanarea. SDK-ul gestioneaza asocierea automat.

Pulsoximetre

  • Lifevit OL750 / Beurer PO60: Plasati degetul in pulsoximetru si porniti-l, apoi incepeti scanarea. Datele curg continuu pana cand deconectati.

Termometre

  • Lifevit IT45B / Omron MC-280B: Porniti termometrul, incepeti scanarea si efectuati o masurare. Observatia este returnata dupa finalizarea citirii.

Cantare

  • Lifevit BL2000: Urcati pe cantar cand este solicitat. Observatia de greutate este returnata odata ce citirea se stabilizeaza.

Glucometre

  • Contour Next: Dispozitivul trebuie sa fie pre-asociat prin setarile Bluetooth ale sistemului inainte de scanarea din SDK.

Senzori de frecventa cardiaca

  • Polar H10: Purtati banda toracica, incepeti scanarea si SDK-ul transmite date de frecventa cardiaca continuu.

Lecturi suplimentare