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.
| Wearable | Conexiune | Tipuri de date | Aflati mai multe |
|---|---|---|---|
| Garmin (toate modelele) | Garmin Health API (OAuth) | Antrenamente, frecventa cardiaca, somn, SpO2, stres, pasi, HRV | Integrare Garmin |
| Fitbit (toate modelele) | Fitbit Web API (OAuth) | Activitate, frecventa cardiaca, somn, SpO2, greutate | Contactati vanzarile |
| Apple Watch | HealthKit (pe dispozitiv) | Frecventa cardiaca, SpO2 | Referinta SDK |
| Polar | SDK (Bluetooth) | Frecventa cardiaca | Referinta SDK |
Dispozitive medicale (SDK -- Bluetooth)
| Furnizor | Modul (Android) | Modul (iOS) | Dispozitive |
|---|---|---|---|
| Omron | provider-omron | VitaleraSdkProviderOmron | Evolv BPM (HEM-7600T), MC-280B Thermometer |
| Polar | provider-polar | VitaleraSdkProviderPolar | H10, Verity Sense (heart rate) |
| Lifevit | provider-lifevit | VitaleraSdkProviderLifevit | BPM 160, BPM 260, Pulse Oximeter (OL750), Scale (BL2000), Thermometer (IT45B) |
| Beurer | provider-beurer | VitaleraSdkProviderBeurer | BM85 BPM, PO60 Pulse Oximeter |
| Smart Peak Flow | provider-smart-peak-flow | VitaleraSdkProviderSmartPeakFlow | Smart Peak Flow Meter |
| HealthKit | N/A | VitaleraSdkProviderHealthKit | Apple Watch (heart rate, SpO2) |
| Health Connect | provider-health-connect | N/A | Google Health Connect (Android) |
| Standard BLE | sdk-ble | VitaleraSdkBle | Any 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
- Prezentare SDK -- Arhitectura, module si pornire rapida.
- Utilizare SDK Android -- Exemple complete de cod Android.
- Utilizare SDK iOS -- Exemple complete de cod iOS.
- Dispozitive Suportate -- Lista completa de compatibilitate a dispozitivelor.