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
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.
/* 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}`);
}
}
}
/* 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.