Configuring an Instance and creating a Program - global-121/121-platform Wiki

This page contains a functional description of how to configure an Instance of the 121 Platform and create a Program.

An Instance refers to an "installation" of the 121 Platform software on a (virtual) Server. The idea is that an organization runs one Instance of the 121 Platform and can use that for all their Programs. However, at the moment the 121 Platform only supports running one Program per Instance.

With installing an Instance comes the configuration of that Instance. And with creating a Program comes the configuration of that Program. Configuration of an Instance and creation of a Program are currently handled together by loading a so-called "seed script". A seed script is a text-based document that the 121 Platform reads to configure an Instance and create a Program. At the moment it is not possible for a Portal User to configure an Instance or create a Program. This has to be done by an Administrator (technical person) via an API Call.

This page contains functional descriptions of the configuration options of an Instance and the options when creating a Program. A User may create a document in plain language describing the desired options. An administrator then needs to manually transform this document into a seed script.

Configuration of an Instance

  1. Available languages: set which languages are available in PA-app. For each language a full translation of all text has to be made, processed and reviewed.
  2. Organization name
  3. Organization logo: the logo that is shown in the PA-app and AW-app.
  4. Organization favicon: the small logo that is shown in the browser tab for all interfaces.
  5. Data policy: Data policy accessible from PA-app.***
  6. 'About program' description: accessible from PA-app.***
  7. Contact details (optional): organization contact details. If provided, will appear in beginning of PA-app right after language-selection.***
  8. Monitoring question (optional): post-registration survey question on e.g. ease of registration. If provided will appear at very end of PA-app***

*** This might in a future multi-program setup be program-specific and therefore be switched from instance-data to program-data.

Configuration of audio in PA-app

  1. Audio files can be supplied for each text-element in the PA-app. If provided, a button appears that upon click will read the text. If not provided, no button appears.

Creating a Program

Main configurations

  1. Program includes validation: can have value true or false, configuring if the Validation functionality is enabled for this Program. If enabled, then the tab in the Portal "Registration" becomes "Registration and Validation", People Affected can get the statuses Selected for Validation and Validated, a Person Affected can scan a QR code during Registration or can have a QR code generated on their device for linking the Registration data to the Validation process, Portal Users can download a Validation list, Aid Worker accounts can be created/managed and the Aid Worker App (AW App) is available for validating the data of People Affected.
  2. Inclusion criteria: a collection of questions that a Person Affected needs to answer during Registration in the PA App. Some people refer to Inclusion criteria as a Vulnerability Assessment or Program Questions. A Program can have any number of criteria. See separate section below for the types and parameters that a criterium can have.
  3. Other Person Affected custom attributes: these are not attributes that are asked to the Person Affected in the PA-app, but are program-specific attributes to keep track of. This can be something that is known in advance, like 'which local partner organization the Person Affected is with', or it can be something to keep track off later, like 'has the PA completed a milestone'. It's possible to configure these attributes to be shown in the table in the Portal by setting the 'phases' property. Per attribute it's also possible to enable editing of it by setting the 'editableInPortal' property to true.
  4. Financial Service Providers: a collection of the Financial Service Providers that are available for this Program, including any configuration parameters the FSP needs. See separate section below for more details.

Configurations that change functionality

  1. Distribution duration: the number of Payments that will be done during the Program. Can be updated during a program by admin-user if needed.
  2. Transfer value: the default transfer value per PA for each Payment. Can be changed manually before each Payment.
  3. Payment amount multiplier formula: A formula can be entered, such that the 'payment amount multiplier' is automatically calculated based on the answers to some questions. The format should be 'A + B * question1 + C * question2 (etc.)', e.g. '0 + 1 * householdSize'. If this formula is filled in, then any manual updating of this multiplier is disabled. If the formula-attribute is not used, then manual entry/updating of the multiplier is enabled and expected.
  4. Meeting documents: a list of documents that a Person Affected should bring to their validation appointment. The PA App shows this list of documents text at the end of the Registration.
  5. Notification messages: a collection of notification messages that the Platform automatically sends via SMS or Whatsapp, for example after a Person Affected finished Registration or when a digital voucher is available.
  6. Notification-number example value: an example of the phone number format a Person Affected needs to input during registration, for receiving notifications via SMS. The example should include the country code.

Configurations that do not change functionality

  1. Location: the geographical location of the Program. Is only shown in the Dashboard and has no effect on any functionality.
  2. Title: the title of the Program, as shown for selection to a Person Affected during Registration in the PA App and in the Portal.
  3. NGO: The name of the NGO running the Program. Is only shown in the Dashboard and has no effect on any functionality.
  4. Start date: start date of the program. Is only shown in the Dashboard and has no effect on any functionality.
  5. End date: end date of the program. Is only shown in the Dashboard and has no effect on any functionality.
  6. Currency: the currency in which the People Affected are paid out. Is only shown in the Dashboard and has no effect on any functionality.
  7. Distribution frequency: the interval with which payments will be done in the Program. Is only shown in the Dashboard and has no effect on any functionality.

Configurations currently not implemented

  1. Inclusion calculation type: not implemented, has no effect on functionality.
  2. Minimum score needed: not implemented, has no effect on functionality.
  3. Top X highest scores included: not implemented, has no effect on functionality.
  4. Description: Cash Type: the type of cash transfer for this Program. The value has no effect on functionality.
  5. Description: general: ?
  6. Description: location: ?
  7. Description: Humanitarian objective: ?

Create Inclusion Criteria

An Inclusion Criterium (also called Program Question or Vulnerability Assessment Question) can have the following parameters:

  • Name: the named ID the Platform internally uses to refer to this criterium
  • Label: the question as the Person Affected sees it during Registration. This is a collection of labels, one per language.
  • Answer Type: how a Person Affected can answer this criterium, being: as text, radio buttons or a phone number.
  • Placeholder: the format in which the Person Affected needs to answer the question, the Person Affected sees the Placeholder before answering.
  • Options: a collection of answering options, if the Answer Type is radio buttons.
  • Scoring: a collection of numerical scores attached to each of the answering options, intended for calculating an Inclusion Score (also called a Vulnerability Score)
  • Persistence: yes or no, indicated if the answer will be saved after validation. To protect privacy the Platform deletes all non-persistent answers after Validation is completed and final Inclusion Score calculated.
  • Export: a collection of export types for which this answer will be exported. This only works if the answer is Persistent.
  • Phases: a collection of phase names for which this question should be shown in the table.
  • EditableInPortal: a boolean (true/false) whether the question should be editable in the edit pop-up/page.

Add Financial Service Provider(s)

  1. You can include one or more Financial Service Providers
  2. Per Financial Service Provider:
  3. FSP name: as displayed in 121-portal.
  4. FSP name: as displayed in PA-app (where PA chooses this FSP)
  5. List of attributes.
  6. Per attribute:
  7. Attribute label: as displayed in PA-app
  8. Placeholder value:
  9. Answertype: Determines for example validation on input (e.g. "telephone" type checks if phone-number exists)
  10. Options: Create options in case of multiple choice question (answertype="dropdown")
  11. Phases: a collection of phase names for which this attribute should be shown in the table.