Skip to content

Measurements Quality Assurance

Conditions Check During Scan

As outlined in Get Conditions Check Result, to enhance user experience and ensure accurate measurements, you should check and visualize the scan conditions on the user interface, at least, before initiating the Vitals™ scan. After the Vitals™ scan has started, however, the 6 conditions are still continuously provided in the variable scanConditions by the callback function onVideoFrameProcessed. You have the option to continually check if all conditions are met throughout the scan, or assume that the users are already familiar with these requirements.

TIP

We highly recommend continuously monitoring the scan conditions during the process and stopping the scan if any condition fails during the Collecting Data stage.

Signal Quality

In the returned server response, a metric called Signal Quality is provided. This metric provides an insight into the quality of vital sign measurements. On how to interpret the Signal Quality result, please refer to the Interpreting Results page. Based on this Signal Quality value, you could choose to initiate a poor signal quality error, hide the vital sign measurement results, and/or perform other actions that suit your use cases.

Target SDK

JavaScript
React
Vue
Flutter
ReactNative
Android
iOS

TIP

You can refer to the sample code and the API Reference for more details. Most related API(s) include: VideoFrameProcessedEvent, ScanResult, Health, and ScanParameters.

You can check the signal quality from the JavaScript SDK through the onVideoFrameProcessed callback function. Use the event.healthResult?.health?.scanParameters?.signalQuality property from the callback function and display the error in any format you need in your product when it occurs.

typescript
/* Update the onload event handler function */
window.onload = () => {
    /* A reference of the camera that should have been created in the "Camera Setup" step. */
    const cam = createVitalSignCamera({ isActive: true, config, userInfo })

    /* Update the onVideoFrameProcessed callback function */
    cam.onVideoFrameProcessed = (event: VideoFrameProcessedEvent) => {
        // ...

        /* Print the signal quality value in the console if available. */
        const signalQuality = event.healthResult?.health?.scanParameters?.signalQuality;
        if (signalQuality) {
            console.log(`Signal Quality: ${signalQuality}`);
        }
    }
}
js
/* Update the onload event handler function */
window.onload = () => {
    /* A reference of the camera that should have been created in the "Camera Setup" step. */
    const cam = createVitalSignCamera({ isActive: true, config, userInfo })

    /* Update the onVideoFrameProcessed callback function */
    cam.onVideoFrameProcessed = (event) => {
        // ...

        /* Print the signal quality value in the console if available. */
        const signalQuality = event.healthResult?.health?.scanParameters?.signalQuality;
        if (signalQuality) {
            console.log(`Signal Quality: ${signalQuality}`);
        }
    }
}

The signal quality value would be available during the AnalyzingData stage when the JavaScript SDK receive a response from the Vitals™ Cloud Service.