Integracao de dispositivos -- Wearables, dispositivos Bluetooth e lojas de saude
Esta seccao explica como integrar fontes de dados de saude com vitalera -- desde wearables de consumo como Garmin e Fitbit (API cloud) ate dispositivos clinicos Bluetooth como tensiometros e glucometros (SDK).
Wearables de consumo (baseados em API)
Conecte wearables de consumo populares atraves de integracoes API servidor a servidor. Nao e necessario SDK movel para estes -- os utilizadores vinculam as suas contas uma vez via OAuth, e os dados fluem automaticamente.
| Wearable | Ligacao | Tipos de dados | Saber mais |
|---|---|---|---|
| Garmin (todos os modelos) | Garmin Health API (OAuth) | Treinos, frequencia cardiaca, sono, SpO2, stress, passos, HRV | Integracao Garmin |
| Fitbit (todos os modelos) | Fitbit Web API (OAuth) | Atividade, frequencia cardiaca, sono, SpO2, peso | Contacte vendas |
| Apple Watch | HealthKit (no dispositivo) | Frequencia cardiaca, SpO2 | Referencia SDK |
| Polar | SDK (Bluetooth) | Frequencia cardiaca | Referencia SDK |
Dispositivos medicos (SDK -- Bluetooth)
| Provedor | Modulo (Android) | Modulo (iOS) | Dispositivos |
|---|---|---|---|
| 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 |
Consulte a pagina Dispositivos Suportados para a lista completa de dispositivos.
Fluxo de trabalho geral
Para todos os dispositivos BLE, a integracao segue tres passos:
1. Discover
Pesquise dispositivos BLE proximos utilizando DiscoveryFilter para filtrar por provedor, capacidade ou nome do dispositivo:
// 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
Crie um dispositivo a partir do descriptor descoberto e conecte:
// 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
Leia observations tipadas do dispositivo conectado:
// 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()
Notas especificas por dispositivo
Tensiometros
- Beurer BM85: Certifique-se de que o dispositivo esta carregado e desligado antes de pesquisar. Ligue o dispositivo apos iniciar a pesquisa e aguarde a descoberta Bluetooth.
- Lifevit BPM 160/260: Ligue o dispositivo e depois inicie a pesquisa. Uma vez conectado, chame read e aguarde a observacao.
- Omron Evolv (HEM-7600T): Ligue o dispositivo e inicie a pesquisa. O SDK gere o emparelhamento automaticamente.
Oximetros de pulso
- Lifevit OL750 / Beurer PO60: Coloque o dedo no oximetro e ligue-o, depois inicie a pesquisa. Os dados fluem continuamente ate desconectar.
Termometros
- Lifevit IT45B / Omron MC-280B: Ligue o termometro, inicie a pesquisa e efetue uma medicao. A observacao e retornada apos a leitura terminar.
Balancas
- Lifevit BL2000: Suba na balanca quando solicitado. A observacao de peso e retornada assim que a leitura estabilizar.
Glucometros
- Contour Next: O dispositivo deve ser pre-emparelhado atraves das definicoes Bluetooth do sistema antes de pesquisar a partir do SDK.
Sensores de frequencia cardiaca
- Polar H10: Vista a banda toracica, inicie a pesquisa e o SDK transmite dados de frequencia cardiaca continuamente.
Leitura adicional
- Visao geral do SDK -- Arquitetura, modulos e inicio rapido.
- Utilizacao do SDK Android -- Exemplos completos de codigo Android.
- Utilizacao do SDK iOS -- Exemplos completos de codigo iOS.
- Dispositivos Suportados -- Lista completa de compatibilidade de dispositivos.