-
Notifications
You must be signed in to change notification settings - Fork 2
1. C4C Algorithm Engine

This algorithm is an essential component of the first client-facing tool in the Counseling for Choice (C4C) suite of tools. The algorithm informs a virtual assistant implementation (aka ‘chatbot’) that guides a user through a digital contraceptive counseling session so a short list of family planning methods can be recommended. The final recommendation is based on the answers given to a series of questions about personal preferences. The algorithm is based on PSI’s Choice Book, providing clients with self-guided contraceptive counseling that can be accessed digitally, on-demand, at their convenience, and in the digital format of their choice to prepare them before their visit with a health provider.

C4C Algorithm implementation on a Facebook chatbot, running in english

C4C Algorithm implementation on the Web App, running in english
To start, the client initiates a conversation via a messaging app-based channel and the virtual assistant introduces itself and the digital C4C tool. Once the client answers a few questions about her basic demographics including age and gender and consents to the tool’s terms and conditions, the client can answer a series of questions about her preferences to guide them to a recommendation of 2-3 contraceptive methods that may be right for them, along with further information about those methods. Following this digital C4C counseling session, the client can use the information learned to have a more informed conversation with the health provider during a subsequent visit to voluntarily obtain the method of choice.
C4C consists of three configuration files: questions, algorithm, and exceptions:
The questions file contains two main elements that are the source for the algorithm file construction: questions and options.
1. Questions
The questions file is just an inventory of all possible questions (and their possible answers) that may be asked to a user. They are not listed in any particular order, as that's controlled by the algorithm. Currently (Feb 2021) the questions flow is as follows:
Simple view of the algorithm
Full algorithm flow
Some of the questions can be omitted depending on the user's answers. All the paths end in a contraceptive method recommendation.
2. Options Each question contains at least two options to be presented to the user as possible answers. Their choice determines the path to follow: which question to ask next, or presenting the final result in the form of family planning methods recommendation.
Additionally, the questions and their options (answers) are directly connected to POEditor terms, the service used for localization.
The algorithm drives the logic of what question to ask next, based on the previous answer. All possible paths end with a family planning method list recommendation.
The exceptions file restricts the methods to be returned based on various criteria. Currently, they include country, age, and breast feeding.
This document was written to help developers and the algorithm owners to understand and maintain the structure of the C4C backend. It provides simple descriptions of the structure and content of the files used by the algorithm engine, and guidance on what can be changed and by whom. It also suggests tools that could be used to successfully update the different components. Additionally, it provides guidance on how to manage the localization using the POEditor service.
Please be aware, this is not an end-user manual.