Skip to content


AHI have made a commitment to refrain from the collection and storage of our partner's user data. Because of this, AHI do not persist/store user scan result data. Therefore:

ATTENTION: it is the responsibility of AHI partner to persist the scan result data.


Occasionally, results from scans would have outliers, values that were not consistent and seemingly wrong / not as expected. This has been defined as an issue relating to "repeatability", the expectation that doing multiple scans in a row should yield similar/same results.

The solution is to "smooth" scan results with respect to prior scan results to yield more repeatable and stable results. However, due to AHI not persisting scan result data, the App must implement and provide a persistence delegate that the AHI SDK can invoke to retrieve prior scan data for the smoothing algorithm to be able to run.

IMPORTANT: An app should use _adj_ measurement values from the scan result where possible, and fallback to using the _raw_ values. For example:

var waistCM = result["cm_adj_waist"] ?? result["cm_raw_waist"]

Persistence Delegate

MultiScan SDK provides a protocol/interface class specification that an App must implement for smoothing algorithm to invoke. This implementation, referred to as the "persistence delegate", should be registered with MultiScan SDK for scan modules to utilize.

If a persistence delegate is not provided, smoothing will not run, and only the _raw_ measurement values (see schema) will be present.

Scan Extra

Some scan modules can provide extra measurement data, not returned during the initial scan result. This can be due to many factors, such as for performance reasons or level of importance. Once such example is the generation of the 3D mesh artifact from a BodyScan result.

For scan extra to work, it is expected that the scan result is in the same format as returned, per result schema.