Skip to content
On this page

RRi

The RRi values are sent as part of the final results.

The application can receive the RRi result by implementing VitalSignsListener:

Swift
func onVitalSign(vitalSign: VitalSign) {
    if (vitalSign.type == VitalSignTypes.rri) {
        if let rri = vitalSign as? VitalSignRRI {
            rri.value.forEach { rriValue in
                print("RRI Value: \(rriValue.timestamp): \(rriValue.interval)")
            }
        }
    }
}

func onFinalResults(results: VitalSignsResults) {
    if let rri = results.getResult(VitalSignTypes.rri) as? VitalSignRRI {
       rri.value.forEach { rriValue in
            print("RRI Value: \(rriValue.timestamp): \(rriValue.interval)")
        }
    }
}
Swift
func onFinalResults(results: VitalSignsResults) {
    DispatchQueue.main.async {
        if let rri = results.getResult(of: VitalSignTypes.rri) as? VitalSignRRI {
           rri.value.forEach { rriValue in
                print("RRI value: \(rriValue.timestamp): \(rriValue.interval)")
            }

            print("Confidence Level: \(rri.confidence?.level ?? ConfidenceLevel.unknown)")
        }
    }
}
Objective-C
- (void)onFinalResultsWithResults:(BNHVitalSignsResults *)results {
    dispatch_async(dispatch_get_main_queue(), ^{
        BNHVitalSignRRI *rri = (BNHVitalSignRRI *)[results getResultOf:BNHVitalSignTypes.rri];
        if (rri != nil) {
            for (BNHRRI *rriValue in rri.value) {
                NSLog(@"RRI value: %f: %ld", rriValue.timestamp, (long)rriValue.interval);
            }

            BNHVitalSignConfidence *confidence = rri.confidence;
            if (confidence != nil) {
                NSLog(@"Confidence Level: %ld", (long)confidence.level);
            }
            else {
                NSLog(@"Confidence Level: %d", 0);
            }
        }
    });
}

For general information about vital signs see the Vital Signs and Health Indicators Information Page.

For a list of supported vital signs per platform and measurement mode (face/finger) see the Supported Vital Signs Page.

Important

Note that vital signs are sent on a background thread. The application must switch to the UI thread in order to perform UI updates.