Flowify AI: Automatic Result Interpretation for Rapid Tests

Jakob Huber
Liftric
Published in
10 min readMay 27, 2024

Flowify AI is an advanced software platform that enables the digitization of rapid tests (e.g. lateral flow assays (LFAs)). The key component of Flowify AI is a mobile application that transforms smartphones (Apple iOS & Android) into reader devices by running our state-of-the-art AI image evaluation algorithm. In this article, we explain how our solution is able to process and assist the evaluation for various result types of LFA rapid tests. A general description of the algorithm is part of a previous article and our website.

Fig. 1 illustrates the components of a singlexplex test having one viewport with one test line and a control line.

An LFA rapid test contains one or more viewports while each viewport typically belongs to a different LFA strip, i.e., each strip has its own sample drop. Therefore, it is possible to evaluate each viewport independently. The number of lines of each viewport (LFA) also depends on the specific product. An LFA usually has one control line and at least one test line. Hence, multiplexing is possible by relying on a test cassette containing multiple immunoassay strips and/or by adding several test lines to a single strip.

PFig. 2 shows a multiplex test cassette containing three separate LFAs. Each LFA has one control line and one (left), two (center), three (right) test lines.

Our algorithm detects and segments each viewport of a test cassette and subsequently computes the test result for each viewport independently. Beside the computation of a valid test result, the algorithm also identifies invalid test results and can detect if a specific LFA is still unused. Hence, if a test cassette contains multiple viewports, it is not a requirement to perform all tests or that all strips offer a valid results.

Fig. 3 shows viewport images of four exemplary products. The number of lines and its characteristics (e.g. color, width, position) depends on the products. The figure also highlights varying lines intensities of LFAs.

Relying on a reader for the objective evaluation of a rapid test has several advantages as the visual inspection is quite challenging for the human-eye and not properly trained staff:

  • The assessment of the visibility of a single line can be quite challenging. Users may mistake very faint lines as not visible which can lead to a false (e.g. negative) result.
  • A semi-quantitative or even quantitative result based on the intensity of a single test line cannot be reliably obtained without a reader device and limits possible applications of rapid tests. For instance, even the distinction between a negative and a positive results can depend on the line intensity and not only the visibility.
  • The test may be competitive, i.e., a visible line indicates a negative test result, and the user is not aware of this as it may be counter-intuitive.
Fig. 4 shows viewport images of positive tests having a rather weak test line that might be difficult to spot in some cases.

The previous points only refer to the challenges related to a single (test) line, but the interpretation of the result gets even more demanding if a test has multiple (test) lines:

  • The meaning of the lines (e.g. parameter) might be confused (e.g. control line as test line). In particular, if the test has multiple test lines (e.g. two or three) and also multiple viewports.
  • Some products provide results for more than ten distinct parameters. Remembering or documenting the value of each parameter within the specified reading time interval can be difficult.
  • A test result can depend on the combination of the (visibility) of multiple lines and certain combinations of (not) visible lines might indicate an invalid result. This has not to be limited to the visibility of the control line.

The usage of a (smartphone) reader addresses the aforementioned limitations as it not only offers an objective test evaluation in real-time but also includes a comprehensible documentation of the result.

Result Types

Flowify AI supports all common result types of LFA rapid tests. Our algorithm determines the intensity of each line and subsequently computes the result(s):

  • A qualitative result refers to binary test results, e.g., presence or absence of an analyte (positive or negative).
  • A semi-quantitative result refers to the assignment of a result to a specific group (e.g. {negative, low, medium, high}, {deficiency, insufficient, sufficient, excessive, toxic} or {<0.5 ng/ml, >= 0.5 ng/ml, >= 2 ng/ml, >= 10 ng/ml} ). It can be based on the signal intensity, a computed concentration, or a combination of visible lines.
  • A quantitative result refers to the intensity of a line or a computed concentration.
Fig. 5: All result types can be derived directly from the computed signal values and/or from a computed concentration.

Line Intensity and Visibility

The Flowify AI algorithm computes a numeric value that reflects the intensity for the control line and each test line of an LFA. The values fall into the range from 0.00 to 1.00:

  • A line is not visible if the computed value is zero (respectively < 0.01).
  • A line is visible if the computed is greater than or equal to 0.01. An increasing value indicates a stronger signal.
Fig. 6: shows the signal values for various lines and products using different colloids.

Qualitative and semi-quantitative Test Results

The distinction between a invisible and visible line is crucial for most qualitative rapid tests. It is also a first example of a qualitative result based on the computed line intensity by setting one threshold (i.e. 0.01). By adding more thresholds, it is possible to obtain a semi-quantitative test result based on a single line. Hence, qualitative results can be interpreted as a special case of semi-quantitative results.

The number of semi-quantitative levels is not limited. For instance, defining the three thresholds [0.01, 0.15, 0.45] allows the distinction of four levels.

Tab. 1 provides an example for the computation of a semi-quantitative result by assigning a quantitative value (x) to a class using three thresholds ([0.01, 0.15, 0.45]).

It is possible to compute qualitative and semi-quantitative results based on signal values as well as derived concentrations. The label of the derived class/segment/level can be be completely arbitrary.

Manufacturers of rapid tests often provide a line intensity color card with their tests that illustrates the line colors for different intensities. A visual comparison is required to determine the test results. Our algorithm is able to replace those cards by assigning the signal intensities to distinct signal levels. A color scale in the mobile application can be used to highlight the segment into which a specific line falls.

Qualitative Tests

Qualitative tests are based on the visibility of the test line(s). In most cases, the test is positive if a weak line is visible, but it is also possible to set a higher threshold if the line needs to more clearly visible. Moreover, for competitive tests (e.g. substance / drug screen tests), the visibility of a test line implies a negative result and consequently an invisible line implies a positive result.

Fig. 7 shows the valid states of a LFA testing for two different analytes independently. The first test line (T1) is visible in the images (2) and (4). The second test line (T2) is visible in the images (3) and (4). The control line is visible in all images.
Fig. 8 shows the invalid states of a LFA testing for two different analytes independently, which is the case if the control line is not visible. The first example could also be classified as a new test because no lines are visible and the test might be unused.

An example for such a test would be a Influenza A/B test whereby T1 refers to FLU A and T2 refers to FLU B. Hence, a patient has FLU A (FLU B) if T1 (T2) is visible. The test result is only valid if the control line © is also visible.

Line Combinations

For certain tests having more than one test line, it is not sufficient to assess each test line independently to obtain the test results. Moreover, the presence of the control line is not a sufficient criteria to determine if the test result is valid as certain combinations of visible lines might also indicate an invalid test result. Hence, the result interpretation is more complex and the state of all lines needs to be considered.

Flowify AI allows to define a result state depending on the visibility of the lines. For instance, a test having two lines could test the specific type of a pathogen. In order to determine the result, it is necessary to consider the visibility of both test lines as outlined in the following table.

Tab. 2 provides an overview of the possible result of a test having two test lines. The value 0 (1) indicates a invisible (visible) line. The test is not only invalid if the control line is not visible but also if T1 is visible and T2 is invisible.

Another example that requires the consideration of multiple test lines is a semi-quantitative test that indicates the concentration range of an analyte by showing more visible test lines if the concentration is higher. However, the test lines have to be visible in ascending order. Otherwise, the test would be invalid. The label linked to a specific result state can be arbitrary as described earlier.

Fig. 9 shows a LFA that indicates the concentration of an analyte by showing more lines if the concentration is higher. All line combinations that are not shown indicate an invalid result.

Quantitative Test Results

The computed signal intensities already represent a quantitative result, but it is also possible to rely on concentrations functions (e.g. 4-PL) to compute the quantity of an analyte. The definition of the input of the concentration function is quite flexible:

  • It can be the intensity of a signal (e.g. T1).
  • It can be the ratio of a test line and the control line (e.g. T/C).
  • If a test has more than one test line, it can be the sum (e.g. T1 + T2) or weighted sum (1 * T1 + 2 * T2) of different lines. The (weighted) sum can also be divided by the intensity of the control line (e.g. (T1 + T2)/C).

For tests having multiple test lines, it is also possible to define a specific concentration function for each line. Moreover, concentrations functions can also be selected based on the intensities of all lines. For instance, similar to the semi-quantitative test that relies on multiple lines to infer the concentration level as described in the previous section, it can be reasonable to rely on a concentration function that is only based on the second test line if the first test line is saturated and the third test line is invisible.

For a quantitative test, a manufacturer determines a detection range of the test (e.g. 3 ng/ml — 100 ng/ml). The lower bound typically indicates the sensitivity of the test, i.e, the concentration that causes a visible line. In particular, for signal values that are close to the bounds of the detection range, it can be tricky to determine parameters that appropriately reflect the test characteristics. Flowify AI allows to address those challenges in various ways:

  • Calculated concentrations that are outside the detection range can be display as smaller than the lower bound (e.g. < 3 ng/ml) or larger than the upper bound (e.g. > 100 ng/ml).
  • It is possible to set a maximum concentration if a test line is invisible (e.g. 0 ng/ml or a value smaller than the lower bound of the detection range).
  • Similarly, it is possible to set a minimum concentration if a test line is visible (e.g 3 ng/ml or a value higher than the lower bound).

Based on the computed concentration, it is also possible to derive an semi-quantitative results which can be helpful with respect to the interpretation of the quantitative value. Additionally, it is possible to derive a confidence interval (e.g. +/- 10%).

Example

We explain the features outlined in the previous section with a brief example using a 4-PL concentration function. Other concentration functions (e.g. 5-PL, linear) are also supported or can be easily implemented if it is required for a specific test. Consider a test having one test line and a detection range from 0.5 µg/ml to 50 µg/ml. The lower bound implies that the concentration is at least 0.5 mg/ml if the test line is visible, i.e., signal value is at least 0.01.

A 4-PL function having the following parameters could have been fitted for this test in order to compute a concentration based on the signals:

  • minimum / lower asymptote (a): -0.001
  • maximum / upper asymptote (d): 0.890
  • inflection point (c) : 12.395
  • slope (b): 0.966

We notice that the function is only defined within the interval (-0.001, 0.890). Therefore, we need to limit the signal values that fall into the interval [0.0, 1.0] to this range. However, this is not a problem as the computed concentration already exceeds the detection range for signal values above 0.70.

Fig. 10 shows the calculated concentration (y-axis) against the signal values (x-axis).

With respect to the lower detection bound, the computed concentrations do not reflect the actual sensitivity of the test. Hence, the values for the signal values have to be overwritten:

Tab. 3 provides the calculated and displayed concentrations.

If the test line is invisible (signal value = 0.00), the concentration has to be smaller than the lower detection limit of the test. If the test line is visible (signal value >= 0.01), the concentration cannot be smaller than the detection limit. Moreover, if the signal value is above 0.7, the calculated concentration exceeds the detection range.

Summary

Flowify AI enables the objective evaluation of rapid tests using mobile devices in real-time. We provided an overview of typical result types of LFA rapid tests that can be obtained by just adjusting the configuration of our algorithm. Other results types are already supported or can be easily incorporated.

Flowify AI does not only reduce the human error related to the test interpretation but also maintains a result history that allows monitoring certain parameters and can also be enriched with additional meta-data (e.g. location). The result history can be shared (e.g. data export) and the creation of (printable) test certificates is also possible.

The Flowify AI mobile application also offers assistance related to the test execution. It incorporates timers which ensure that the runtime and reading time are respected and also validates the captured images of a rapid test. Optionally, the specific product can be automatically detected if a barcode is present on the test cassette. Flowify AI also incorporates product and batch management allowing manufacturers to persist all relevant information required for the test interpretation (e.g. expiry date of a batch, status of the batch (released, revoked), parameters of a concentration function, etc.). Hence, Flowify AI is a complete solution for the digitization of rapid tests and empowers instant diagnostics.

Flowify AI: Empowering Instant Diagnostics

--

--