Saltar al contenido principal

Integración de dispositivos — Wearables, dispositivos Bluetooth y health stores

Esta sección explica cómo integrar fuentes de datos de salud con vitalera — desde wearables de consumo como Garmin y Fitbit (API en la nube) hasta dispositivos clínicos Bluetooth como tensiómetros y glucómetros (SDK).

Wearables de consumo (basados en API)

Conecte wearables de consumo populares mediante integraciones API servidor a servidor. No se requiere SDK móvil para estos — los usuarios vinculan sus cuentas una vez vía OAuth, y los datos fluyen automáticamente.

WearableConexiónTipos de datosMás información
Garmin (todos los modelos)Garmin Health API (OAuth)Entrenamientos, frecuencia cardíaca, sueño, SpO2, estrés, pasos, HRVIntegración Garmin
Fitbit (todos los modelos)Fitbit Web API (OAuth)Actividad, frecuencia cardíaca, sueño, SpO2, pesoContactar ventas
Apple WatchHealthKit (en dispositivo)Frecuencia cardíaca, SpO2Referencia del SDK
PolarSDK (Bluetooth)Frecuencia cardíacaReferencia del SDK

Dispositivos médicos (SDK — Bluetooth)

ProveedorMódulo (Android)Módulo (iOS)Dispositivos
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

Consulte la página de Dispositivos compatibles para la lista completa de dispositivos.

Flujo de trabajo general

Para todos los dispositivos BLE, la integración sigue tres pasos:

1. Descubrir

Escanee dispositivos BLE cercanos usando DiscoveryFilter para filtrar por proveedor, capacidad o nombre de 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. Conectar

Cree un dispositivo a partir del descriptor descubierto y conéctese:

// 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. Recopilar

Lea observaciones tipadas del 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 específicas por dispositivo

Tensiómetros

  • Beurer BM85: Asegúrese de que el dispositivo esté cargado y apagado antes de escanear. Encienda el dispositivo después de iniciar el escaneo y espere el descubrimiento Bluetooth.
  • Lifevit BPM 160/260: Encienda el dispositivo y después inicie el escaneo. Una vez conectado, llame a read y espere la observación.
  • Omron Evolv (HEM-7600T): Encienda el dispositivo e inicie el escaneo. El SDK gestiona el emparejamiento automáticamente.

Pulsioxímetros

  • Lifevit OL750 / Beurer PO60: Coloque su dedo en el pulsioxímetro y enciéndalo, después inicie el escaneo. Los datos se transmiten continuamente hasta que desconecte.

Termómetros

  • Lifevit IT45B / Omron MC-280B: Encienda el termómetro, inicie el escaneo y tome una medición. La observación se devuelve después de que la lectura se complete.

Básculas

  • Lifevit BL2000: Suba a la báscula cuando se le indique. La observación de peso se devuelve una vez que la lectura se estabiliza.

Glucómetros

  • Contour Next: El dispositivo debe estar pre-emparejado a través de la configuración Bluetooth del sistema antes de escanear desde el SDK.

Sensores de frecuencia cardíaca

  • Polar H10: Colóquese la cinta de pecho, inicie el escaneo y el SDK transmitirá datos de frecuencia cardíaca continuamente.

Lectura adicional