Skip to content

SDNN

The SDNN value is sent as part of the final results.

The application can receive the SDNN result by implementing the VitalSignsListener:

Swift
func onFinalResults(results: VitalSignsResults) {
    DispatchQueue.main.async {
        if let sdnn = results.getResult(of: VitalSignTypes.sdnn) as? VitalSignSDNN {
            print("SDNN: \(sdnn.value)")
            print("Confidence Level: \(sdnn.confidence?.level ?? ConfidenceLevel.unknown)")
        }
    }
}
func onFinalResults(results: VitalSignsResults) {
    DispatchQueue.main.async {
        if let sdnn = results.getResult(of: VitalSignTypes.sdnn) as? VitalSignSDNN {
            print("SDNN: \(sdnn.value)")
            print("Confidence Level: \(sdnn.confidence?.level ?? ConfidenceLevel.unknown)")
        }
    }
}
Objective-C
- (void)onFinalResultsWithResults:(BNHVitalSignsResults *)results {
    dispatch_async(dispatch_get_main_queue(), ^{
        BNHVitalSignSDNN *sdnn = (BNHVitalSignSDNN *)[results getResultOf:BNHVitalSignTypes.sdnn];
        if (sdnn != nil) {
            NSLog(@"SDNN: %ld", (long)sdnn.value);

            BNHVitalSignConfidence *confidence = sdnn.confidence;
            if (confidence != nil) {
                NSLog(@"Confidence Level: %ld", (long)confidence.level);
            }
            else {
                NSLog(@"Confidence Level: %d", 0);
            }
        }
    });
}
- (void)onFinalResultsWithResults:(BNHVitalSignsResults *)results {
    dispatch_async(dispatch_get_main_queue(), ^{
        BNHVitalSignSDNN *sdnn = (BNHVitalSignSDNN *)[results getResultOf:BNHVitalSignTypes.sdnn];
        if (sdnn != nil) {
            NSLog(@"SDNN: %ld", (long)sdnn.value);

            BNHVitalSignConfidence *confidence = sdnn.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.