Skip to content

Commit

Permalink
GITBOOK-19: Suseela's Dec 12 changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Suseela-S authored and gitbook-bot committed Dec 13, 2023
1 parent 9084923 commit 92a3022
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 36 deletions.
19 changes: 7 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
---
cover: .gitbook/assets/Screenshot 2023-12-13 at 3.29.08 PM.png
coverY: 0
layout:
cover:
visible: true
size: hero
title:
visible: true
description:
Expand All @@ -25,22 +20,22 @@ layout:

</div>

[OpenG2P](https://openg2p.org) OpenG2P is an open-source social benefits registry and delivery platform that enables governments and humanitarian organisations the ability to deliver digital cash transfers and critical benefits directly to those who need them. It offers interoperable components for digitizing and automating service delivery and enables inclusive and efficient delivery of benefits.&#x20;
[OpenG2P](https://openg2p.org) is an open-source social benefits registry and delivery platform that enables governments and humanitarian organisations the ability to deliver digital cash transfers and critical benefits directly to those who need them. It offers interoperable components for digitizing and automating service delivery and enables inclusive and efficient delivery of benefits.&#x20;

OpenG2P is a Digital Public Good recognised by the [DPGA](https://digitalpublicgoods.net/) and a significant building block of a country's digital public infrastructure ([DPI](https://docs.cdpi.dev/dpi/readme)). Its modular and interoperable technology augments existing systems in countries, without discarding what works or starting from scratch.&#x20;
OpenG2P is a Digital Public Good recognised by the [DPGA](https://digitalpublicgoods.net/) and a significant building block of a country's Digital Public Infrastructure ([DPI](https://docs.cdpi.dev/dpi/readme)). In order to digitize the process of the social benefits delivery chain, countries can augment their existing systems with OpenG2P's modular and interoperable technology. OpenG2P facilitates the existing systems to operate without impacting their present build and the process.&#x20;

The OpenG2P code is currently available on [GitHub](https://github.com/openg2p) under an MPL 2.0 licence. It is currently housed in the International Institute of Information Technology, Bangalore ([IIITB](https://www.iiitb.ac.in/)), a non-profit research university.
The OpenG2P code is currently available on [GitHub](https://github.com/openg2p) under MPL 2.0 licence. It is currently housed in the International Institute of Information Technology, Bangalore ([IIITB](https://www.iiitb.ac.in/)), a non-profit research university.

OpenG2P offers several modules and tools to digitize processes of the social benefit delivery chain
OpenG2P offers several modules and tools to digitize the processes of the social benefits delivery chain



<figure><img src="https://github.com/OpenG2P/openg2p-documentation/raw/1.2/.gitbook/assets/social-protection-delivery-chain.png" alt=""><figcaption></figcaption></figure>
<figure><img src="https://github.com/OpenG2P/openg2p-documentation/raw/1.2/.gitbook/assets/social-protection-delivery-chain.png" alt=""><figcaption><p>End-to-End process of the Social Benefits delivery chain</p></figcaption></figure>

OpenG2P is built on a bedrock of good practices and principles that drive our work towards empowering populations around the world through technology.\
OpenG2P is built on a bedrock of good practices and principles that drive our work towards empowering populations to reach out their social benefits around the world through technology.\


<figure><img src=".gitbook/assets/guiding-principles.png" alt="" width="375"><figcaption></figcaption></figure>
<figure><img src=".gitbook/assets/guiding-principles.png" alt="" width="375"><figcaption><p>OpenG2P principles and its vision</p></figcaption></figure>



2 changes: 1 addition & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
* [📦 Releases](releases/README.md)
* [1.1.0](releases/1.1.0/README.md)
* [Release Notes](releases/1.1.0/release-notes.md)
* [↔ REST API](api.md)
* [Getting Started with OpenG2P REST APIs](api.md)
* [⚒ Testing](testing.md)
* [👥 Community](community/README.md)
* [Contributing](community/contributing-to-openg2p.md)
Expand Down
12 changes: 11 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# ↔ API
---
description: >-
OpenG2P REST APIs allows you to create, update and retrieve individual/group
information.
---

# ↔ Getting Started with OpenG2P REST APIs

OpenG2P REST APIs consist of the following end points.



## User authentication

Expand Down
4 changes: 2 additions & 2 deletions architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Introduction

OpenG2P has a flexible architecture that allows governments and social benefit delivery systems to choose modules per their needs. Using the OpenG2P platform, governments can digitalize the benefit delivery end-to-end and gain significantly in terms of efficiency, ease of administration, speed, cost, and convenience for the beneficiaries. The platform is built for inclusion and has supporting features. For example, beneficiaries in remote areas without network connectivity can be registered offline.
OpenG2P has a flexible architecture that allows governments and social benefit delivery systems to choose modules per their needs. Using the OpenG2P platform, governments can digitalize the benefit delivery systems end-to-end and gain significantly in terms of efficiency, ease of administration, speed, cost, and convenient for the beneficiaries. The platform is built for inclusion and has supporting features. For example, in remote areas, beneficiaries can be registered offline without network connectivity.

## Functional architecture

{% embed url="https://miro.com/app/board/uXjVNGpmGPw=/?share_link_id=873269042816" %}

## Technical architecture

<figure><img src="https://github.com/OpenG2P/openg2p-documentation/raw/010947477bc4c70effbe42ce936e3813ecbfb648/.gitbook/assets/technical-architecture.png" alt=""><figcaption></figcaption></figure>
<figure><img src="https://github.com/OpenG2P/openg2p-documentation/raw/010947477bc4c70effbe42ce936e3813ecbfb648/.gitbook/assets/technical-architecture.png" alt=""><figcaption><p>OpenG2P technical architecture</p></figcaption></figure>
6 changes: 3 additions & 3 deletions secure-registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ According to the World Bank, registration is a series of three processes - intak

In the OpenG2P platform, intake is carried out via offline/online forms, and recording via form submission. Verification (authentication) of registrants can be done prior to intake or after recording depending on the mode of registration (online/offline).

Registration aims to collect detailed records in the [Registry](registry.md) for [Eligibility Assessment](../beneficiary-management/eligibility.md). It must be noted that at this stage, the people are referred to as applicants or registrants. Once the applicants/registrants pass the eligibility criterion, they become eligible to enrol in the program and are referred to as beneficiaries.
Registration aims to collect detailed records from the [Registry](registry.md) for [Eligibility Assessment](../beneficiary-management/eligibility.md). It must be noted that at this stage, the people are referred to as applicants or registrants. Once the applicants/registrants pass the eligibility criterion, they become eligible to enrol in the program and are referred to as beneficiaries.

A high-level view of the administrator-driven registration in offline mode is given below:

Expand All @@ -27,7 +27,7 @@ Whether applicants registered themselves individually (on-demand) or registered

**Continuous vs. time-bound**

Whether applicants could register at the time of their choosing (on-demand) or had to apply in a specific time window (administrator-driven)
Whether applicants could register at the time of their choice (on-demand) or have to apply in a specific time window (administrator-driven)
{% endhint %}

## Registration interfaces
Expand All @@ -52,7 +52,7 @@ The registrant's information is encrypted at rest and during transit to secure t

#### **Privacy-preserving**

The platform allows consent forms to be filled out and recorded before starting the intake. The recorded information is not used for purposes other than the explicitly stated purpose in the consent form.
The platform allows the applicants to fill the consent forms and record them before the intake process. The recorded information is used only for the specific purposes stated in the consent forms.

#### Customizable intake

Expand Down
6 changes: 5 additions & 1 deletion secure-registry/registration-methods/api-interface.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# API Interface

OpenG2P offers a rich set of REST APIs for use by an external entity. System integrators can build their UI using these APIs to register the applicants.&#x20;
OpenG2P offers a rich set of REST APIs. It allows the external application to make use of REST APIs. System integrators can build their UI using these APIs. These APIs used to&#x20;

* Create/Register new individual/group information
* Update individual/group KYC data
* Retrieve the registered individual/group information

Learn more about OpenG2P Rest APIs [here](../../api.md).
41 changes: 30 additions & 11 deletions secure-registry/registration-methods/offline-registration.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,27 @@

OpenG2P platform uses the ODK Collect App to collect and manage the registrant information. The app can be used offline to carry out field registrations in areas without Internet connectivity. The registrant details are uploaded to ODK Central once the agent moves to an area with internet connectivity.

The app also has an integrated QR code scanning application to scan the ID card of the registrant. The scanning application automatically populates the KYC data of the registrant in the ODK form and verifies the digital signature to establish the card's authenticity.&#x20;
The app also has an integrated QR code scanning application to scan the ID card of the registrant. The scanning application automatically populates the KYC data of the registrant in the ODK form and verifies the digital signature to establish the card's authenticity.

## ODK

ODK is an open-source toolkit that uses offline forms to collect data. ODK Collect is the client-side app, and ODK Central is the server-side app. Learn more about ODK [here](https://docs.getodk.org/).

## Registration process

Registration using the ODK Collect App is a three-step process.
The three steps involved in the registration process using the ODK Collect App are:

* ODK Central Configuration
* Field Registration
* Create ODK MTS Connector

#### ODK Central Configuration

This step is performed by a program administrator/manager. To enable the field registration agent to collect information on the ODK Collect App, the program administrator/manager has to do these necessary configurations:
A program administrator/manager performs the configuration. The program administrator/manager must do these necessary configurations to enable the field registration agent to collect information on the ODK Collect App.

* Program creation - To learn the steps, click [here](../../guides/user-guides/create-a-program.md).
* Create ODK form in ODK Central - To learn the steps, click [here](../../guides/user-guides/create-odk-form.md).
* Provide ODK form access to the field agent- To learn the steps, click [here](../../guides/user-guides/provide-form-access-to-field-agent.md).
* Provide ODK form access to the field registration agent- To learn the steps, click [here](../../guides/user-guides/provide-form-access-to-field-agent.md).

#### Field registration

Expand All @@ -29,21 +33,36 @@ The field registration agent downloads the ODK form using the ODK Collect App. T
After downloading the app, the agent visits the field and follows these steps for registration:

* Captures the registrant's consent and records it
* Scans the ID card of the registrant to populate the KYC data of the registrant
* Scans the ID card of the registrant to populate his/her KYC data
* Records further information such as household size, income, and home size
* Submits the registrant's information&#x20;
* Submits the registrant's information

The submitted forms are uploaded to ODK Central once the agent moves to an area with internet connectivity.&#x20;
The submitted forms are uploaded to ODK Central once the agent moves to an area with internet connectivity.

#### Create ODK MTS Connector

A program administrator must create an [ODK MTS Connector](../../integrations/integration-with-mosip/mts-connector.md) to map the ODK forms in ODK Central to the OpenG2P registry. MTS Connector is the glue that holds ODK Central, MTS, and OpenG2P Registry together.&#x20;
Based on the business scenario, a program administrator must create an [ODK MTS Connector](../../integrations/integration-with-mosip/mts-connector.md) for individual/group to map the ODK forms available in the ODK Central to the OpenG2P registry.&#x20;

**Business Scenario 1:** The verification process is not required on the individual/group information captured using ODK forms.

**Business Scenario 2:** The verification process is required on the individual/group information captured using ODK forms.

**Business Scenario 1:**

1. A program administrator creates an ODK MTS Connector for individual/group to map the ODK forms available in the ODK Central.
2. The ODK MTS Connector regularly queries the ODK Central for submitted forms. Whenever forms are available, the MTS Connector maps the individual/group KYC data from them.
3. The ODK MTS Connector then calls OpenG2P Rest APIs to populate the OpenG2P registry with the individual/group KYC data.&#x20;

&#x20; _Note: The OpenG2P registry accepts the individual/group KYC data only in JSON format._

<figure><img src="https://github.com/OpenG2P/openg2p-documentation/raw/e9fdceeedd6e483eb45098b9a72f013a331451cf/.gitbook/assets/offline-registration-process.png" alt=""><figcaption></figcaption></figure>
**Business Scenario 2:**

The ODK MTS Connector regularly queries the ODK Central for submitted forms. Whenever forms are available, the MTS Connector maps the KYC data from them to send to MTS. MTS outputs an authentication token for each KYC data after performing [ID verification](../id-verification.md#registrant-authentication-using-mts). The authentication token is the proof of the registrant's authentication by the MOSIP ID Authentication system.
1. A program administrator creates an ODK MTS Connector for individual/group to map the ODK forms available in the ODK Central.
2. The ODK MTS Connector regularly queries the ODK Central for submitted forms. Whenever forms are available, the MTS Connector maps the individual/group KYC data from them and sent to MTS (MOSIP Token Seeder).
3. MTS outputs an authentication token for each individual/group KYC data after performing ID verification. The authentication token is the proof of the registrant's authentication by the MOSIP ID Authentication system.
4. Post authentication, the MTS Connector maps the registrant information from the submitted form and the authentication token in the JSON format accepted by OpenG2P. The ODK MTS connector then calls OpenG2P Rest APIs to populate the OpenG2P registry with the registrant’s information in JSON object.&#x20;

Post authentication, the MTS Connector maps the registrant information from the submitted form and the authentication token in the JSON format understood by OpenG2P. The connector then calls OpenG2P Rest APIs to populate the OpenG2P registry with the JSON object.
&#x20; _Note: The OpenG2P registry accepts the individual/group KYC data only in JSON format._

To learn the steps to create an ODK MTS Connector, click [here](../../guides/user-guides/create-mts-connector/create-odk-mts-connector.md).

Expand Down
10 changes: 5 additions & 5 deletions secure-registry/registration-methods/self-service-portal.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

Self-Service Portal allows a registrant seeking assistance to register from any place and device with internet connectivity. The registrant logs in using a foundational or functional ID and then applies for a program. For self-registration, an OTP or QR code is typically used in addition to a unique ID number for logging in. For assisted registration, the assisting officer uses a biometric device connected to the machine hosting the Self-Service Portal for biometric authentication.
Self-Service Portal allows a registrant seeking assistance to register from any place and any device with internet connectivity. The registrant logs in using a foundational or functional ID and then applies for a program. For self-registration, an OTP or QR code is typically used in addition to a unique ID number to log in. For assisted registration, to do biometric authentication, the assisting officer uses a biometric device connected to a machine which has access to Self-Service Portal.

The Self-Service Portal registration process assumes that an authentication service is available for ID verification. The portal allows an individual to perform the following functions:

Expand All @@ -11,20 +11,20 @@ The Self-Service Portal registration process assumes that an authentication serv
* Track the status of the application
* Update demographic information
* Upload supporting documents
* View the programs the registrant is enrolled into&#x20;
* View the registrant's enrolled programs
* View all the demographic information submitted across programs

Depending on the program implementation, the registrant can also apply for the same program multiple times to seek assistance multiple times. An example of such a case is seeking medical assistance for different treatments. It is assumed that program administrators will apply mechanisms to prevent cases of double-dipping.
Depending on the program implementation, the registrant can seek assistance to apply for the same program multiple times. For example, a registrant seeks medical assistance for different treatments. It is assumed that program administrators will apply mechanisms to prevent cases of double-dipping.

## Registration process

A program administrator has to carry out these steps to allow registrants to apply for a program:
A program administrator must do these steps to allow registrants to apply for a program:

* Create a program: To learn the steps, click [here](../../guides/user-guides/create-a-program.md).
* Create a Self-Service Portal form: To learn the steps, click [here](../../guides/user-guides/create-portal-form.md).
* Map Self-Service Portal form: To learn the steps, click [here](../../guides/user-guides/map-self-service-portal-form.md).

Registrant's ID verification takes place during the login. The registrant also provides consent to share demographic details with the Self-Service Portal. Upon successful ID verification, the Self-Service Portal can automatically fill in the registrant's demographic details based on the consent provided during login. The registrant fills in the rest of the details and applies for a program. Learn more about self-registration [here](../../guides/user-guides/self-register-online.md).
Registrant's ID verification takes place during the login. The registrant also provides consent to share demographic details with the Self-Service Portal. Upon successful ID verification, the Self-Service Portal can automatically populates the registrant's demographic details based on the consent provided during login. The registrant fills in the rest of the details and applies for a program. Learn more about self-registration [here](../../guides/user-guides/self-register-online.md).

## OpenID Connect integration

Expand Down

0 comments on commit 92a3022

Please sign in to comment.