assessRiskLevel

private fun assessRiskLevel(psi: Float?, workLoad: Float): HeatStressRiskLevel

Evalúa el nivel de riesgo de estrés térmico basándose en el Índice de Tensión Fisiológica (PSI) y la carga de trabajo actual.

Los umbrales de PSI para cada nivel de riesgo se ajustan dinámicamente según la carga de trabajo. Una carga de trabajo más alta reduce los umbrales, lo que significa que se alcanza un nivel de riesgo más alto con un PSI más bajo.

La lógica es la siguiente:

  • Si PSI no está disponible, el riesgo es UNKNOWN.

  • Se calcula un ajuste basado en workLoad. El ajuste puede reducir los umbrales de PSI hasta 0.5 puntos cuando workLoad es máximo (1.0). Por ejemplo, el umbral para riesgo LOW (normalmente < 2.5) se convierte en (< 2.5 - workLoad * 0.5).

  • Se determina el nivel de riesgo comparando el psiValue con los umbrales ajustados:

  • LOW: psiValue< (2.5 - ajuste)

  • MODERATE: psiValue< (5.0 - ajuste)

  • HIGH: psiValue< (7.5 - ajuste)

  • CRITICAL: en cualquier otro caso (psiValue >= 7.5 - ajuste)

Return

El HeatStressRiskLevel evaluado.

Parameters

psi

El Índice de Tensión Fisiológica calculado. Puede ser nulo si faltan datos.

workLoad

La carga de trabajo actual, un valor flotante entre 0.0 y 1.0.