USCT-01-Registration

USE CASE STEP 

USE CASE: Unconditional Social Cash Transfer

STEP: REGISTRATION 

TYPE: ON-DEMAND REGISTRATION

PRECONDITIONS 

(list of conditions that MUST be met in order to be able to successfully execute this process)

 

  • Data sharing agreement between Registration BB and respective registries where information is queried from has been signed (contract) and respective REST API services in Information Mediator has been opened to Registration BB.

  • Applicant has already been registered in a national identification system (ID BB).

  • Applicant has assigned National Identification Number (ID BB) used in the GovStack system to determine identity

  • Applicant has not yet been registered for USCT program

  • Applicant has the ability to accept payments as specified in the program (for example bank account)

  • Applicant has the ability to accept messages as specified in the program (for example email)

  • Applicant’s National Identification Number can be mapped to payment information coming from payments BB mapping.

 

DATA INPUTS 

Beneficiary 

  • First Name 

  • Second Name 

  • DOB 

  • National ID Number 

  • Place of residence

  • Contact info:

    • Email 

    • Phone Number 

    • Address

-Payment info Bank account-

  • Eligibility criteria [Data required for making decisions on enrollment, e.g. with using Proxy Means Test, can vary between countries]

    • number of children

    • marital status

    • type of settlement [town, village, etc.]

    • employment status

 

ACTORS 

Human: 

  • Applicant - Potential beneficiary willing to be enlisted for USCT program

  • Worker - Authorized SIRS app user that can approve beneficiary registration

System:

  • Register Application (Registration BB)

  • Digital Registries BB

  • Registration BB

  • Identity BB 

  • Consent BB 

  • Messaging BB

  • IM BB 

  • Population  Registry 

NORMAL COURSE 

The registration form screen for program provides a list of eligibility criteria required to participate in the program. (person verification, required documents).

Step 1: Applicant is authenticated. Requires ID [Identity BB]

Feature: Get authentication token Scenario: Applicant use credentials to get token  Given: Applicant has been registered in Fundational ID System    And Registration App is connected to Registry BB   When: Applicant enters data required for authentication   Then: The Identity BB returns Auth Token and National Identification Number

Relevant Identity BB endpoints:

  • /authorize

    • Used to redirect and authorize applicant

Relevant Digital Registry endpoints: 

  • /data/{registryname}/{versionnumber}/exists

    • Can be used just to confirm the identity of the applicant. 

  • /data/{registryname}/{versionnumber}/read

    • Can be used if we want to automatically pull all relevant applicant information available in population registry 

Step 2: Consent Agreement for fetching the relevant details and data processing is pulled and signed by applicant

Step 2.1: Fetch relevant consent agreement for USCT registration. 

Feature: Get Consent Agreement Scenario: Registration App retrieves Consent Agreement for applicant   Given an Agreement for beneficiary application registration exists in Consent BB And Registration App has Applicant's <ID> and auth token for the registration session   When Registration App fetches a Consent Agreement for user registration   Then Registration App gets a valid Draft Consent Agreement associated with Applicant's ID

Relevant Consent BB endpoints:

  • /service/agreement/{agreementId}/

    • Fetch agreement

  • /service/policy/{policyId}/

    • Get related policy 

  • /service/purpose/{purposeId}/

    • Get related purpose 

  • /service/agreement/{agreementId}/agreementdata/

    • Get related agreement data 

Step 2.2: Sign consent agreement digitally

Step 2.2.1 (optional): Create individual in Consent system 

Feature: Create Applicant entry in the Consent BB registry   Scenario: Registration App create Individual in Consent BB on behalf of the Applicant   Given Applicant is not recorded in Consent BB   When consent agreement is send     Then Consent BB creates new Individual entity in Consent system

Relevant Consent BB endpoints: 

  • /service/individual/ [POST]

    • Register Applicant in Consent system 

Step 2.2.2: Sign consent agreement for existing individual 

Relevant Consent BB endpoints: 

  • /service/individual/record/agreement/{agreementId}/

    • Create new ConsentRecord in the Consent system 

Step 3: When agreement is given core user information is pulled via API from the system (Digital Registry).  Applicant fills required data (Register application) for USCT for program eligibility decision, contact and payment.

Relevant Endpoints:

  • /data/{registryname}/{versionnumber}/read

    • Fetch data from Digital Registry

Step 4: Form with registration is sent to the Registration BB and validated. Applicant gets information about the success of submission. 

Relevant Endpoints:

  • /data/{registryname}/{versionnumber}/create

    • Save data in USCT Digital Registry

 

Step 5: Application is submitted and awaiting approval

Relevant endpoints:

  • /processes/{processId}/start

    • Start process responsible for submitted form review

  • /data/{registryname}/{versionnumber}/update

    • Used by workflow to trigger ‘Needs Approval’ flag

Step 6: Registration form is approved by worker

Relevant Endpoints:

  • /processes/{processId}/start

    • Start process responsible for actions taken for approved form (sending data to external systems, etc.)

  • /data/{registryname}/{versionnumber}/update

    • Change registration status

Step 6.1 Workflow distributed data and notified applicant

Relevant Endpoints [MessagingBB]: 

  • /messaging/emails/single

    • Sends email to applicant 

ALTERNATIVE COURSE 

TBA (Worker didn’t approve registration form, workflow failed in the process)

DATA OUTPUT 

The successful completion of the registration process will result in validated Applicant data stored in digital-registry relevant for USCT decision making, new consent record for USCT enrollment purposes, confirmation and issuance of a program-specific ID that can be used by the Applicant future interactions with the program.

POST-CONDITIONS (SUCCESS CRITERIA)

Applicant can be enrolled in USCT program based on submitted registration data

EXCEPTIONS 

  1. Beneficiary is a foreigner, no option to verify or authenticate data/beneficiary in the national registry. 

  2. Beneficiary is local but has not been registered in the Population Registry/national registry. 

  3. Beneficiary has already been registered.

  4. Beneficiary does not accept the way of receiving the benefit used in the USCT plan (for example no bank account).

RELATED BBs

  • Digital Registries BB

  • Registration BB

  • Identity BB 

  • Consent BB 

  • Messaging BB

  • Payments BB

  • Workflow BB

SEQUENCE DIAGRAM

 

sequenceDiagram

actor A as Applicant

participant App as Registration App

participant IBB as Identity BB

participant RBB as Registration BB

participant DRBB as Digital Registries BB

participant CBB as Consent BB

participant PBB as Payments BB

participant MBB as Messaging BB

participant WBB as Workflow BB

actor B as Worker

A->>App: Start Registration

activate App

App->>IBB: Request person authentication

activate IBB

IBB->>A: Request ID and auth details

A->>IBB: Provide auth data

IBB->>IBB: Authenticate using population registry

Note right of IBB: More details in ID BB 6.3.1 Use Case

IBB->>App: Authentication token

deactivate IBB

App->>CBB: Request consent agreement

activate CBB

CBB->>A: Consent agreement

A->>CBB: Signed consent agreement

opt Individual doesn't exist

CBB->>A: ConsentBB Individual Form

A->>CBB: Filled ConsentBB Individual Form

CBB->>CBB: Create individual

end

CBB->>CBB: Create ConsentRecord

CBB->>App: ConsentRecord confirmation

deactivate CBB

App->>RBB: Request form template

activate RBB

RBB->>App: Form template

App->>DRBB: Request base personal data

activate DRBB

DRBB->>App: Base personal data

deactivate DRBB

App->>A: Partially filled form

A->>App: Filled form

App->>RBB: Submit form

loop Form Validation

RBB->>App: Request adjustments

App->>A: Request adjustments

A->>App: Adjustments

App->>RBB: Submit updated form

end

RBB->>App: Application submition confirmation

App->>A: Confirm registration submission

App--)WBB: Start registration form submition process

deactivate App

activate WBB

WBB->>DRBB: Change form status to `Needs Approval`

WBB->>MBB: Request worker notification

activate MBB

MBB--)B: Notify worker about new form awaiting approval

MBB->>WBB: Confirm notification sent

deactivate MBB

deactivate WBB

B->>App: Approve form

activate App

App--)WBB: Start form approval process

activate WBB

deactivate App

par Approve form

WBB->>DRBB: Save Application

activate DRBB

DRBB->>WBB: Confirmation

deactivate DRBB

and Save Payment details

WBB->>PBB: Save Payment method details

activate PBB

PBB->>WBB: Confirmation

deactivate PBB

and Save Messaging details

WBB->>MBB: Save communication method

activate MBB

MBB->>WBB: Confirmation

deactivate MBB

end

par Notify applicant

WBB->>MBB: Request applicant notification

activate MBB

MBB--)A: Send notification

MBB->>WBB: Confirm notificaiton sent

deactivate MBB

and Notify worker

WBB->>MBB: Notify worker about succesfull form approval

activate MBB

MBB--)B: Send notification

MBB->>WBB: Confirm notificaiton sent

deactivate MBB

end

deactivate WBB

 

 

 

LINK TO CODE