processHeartRateData

private fun processHeartRateData(dataPoint: DataPoint)

Procesa datos de frecuencia cardíaca (HR) y de intervalo entre latidos (IBI).

Este método es invocado cuando se reciben nuevos datos del sensor de frecuencia cardíaca a través del Samsung Health SDK. Se encarga de extraer, validar y estructurar los datos de HR y, crucialmente, los datos IBI.

Validación de Datos IBI según Samsung:

La validación de los datos IBI sigue las directrices oficiales de Samsung para asegurar la fiabilidad de las mediciones:

  1. Filtrado por Estado (IBI_STATUS_LIST): Solo se consideran válidos los valores IBI cuyo estado correspondiente en IBI_STATUS_LIST es 0 (indicando una medición fiable).

  2. Validación de Valores No Nulos: Se descartan los valores IBI que sean 0, ya que no representan un intervalo válido.

  3. Consistencia de Listas: Se verifica que las listas IBI_LIST (valores) y IBI_STATUS_LIST (estados) tengan el mismo tamaño. Si no coinciden, se considera una inconsistencia y no se procesan los IBIs de ese DataPoint.

Flujo de Procesamiento:

  1. Extrae HEART_RATE, HEART_RATE_STATUS, IBI_LIST y IBI_STATUS_LIST del DataPoint.

  2. Verifica que HEART_RATE y HEART_RATE_STATUS no sean nulos.

  3. Si existen datos IBI (IBI_LIST y IBI_STATUS_LIST no son nulos): a. Comprueba la consistencia del tamaño de las listas IBI. b. Itera sobre los valores IBI, aplicando los criterios de validación (estado 0 y valor no 0). c. Almacena los IBIs válidos en una nueva lista.