Appearance
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.