# Registration Processor

## Overview

Registration Processor processes the data (demographic and biometric) of an Individual for quality and uniqueness and then issues a Unique Identification Number (UIN). It also provides functionality to update demographic and biometric data and issue a new UIN if lost. The source of data are primarily from

* MOSIP Registration Client
* Existing ID system(s) of a country

Important considerations are as follows:

* Once the packet is received on the server packets should not be lost.
* MOSIP defines and implement the basic registration packet processing flow. However, every country will have their own processing requirements like integration with their existing ID system and fetch data for validation. Registration processor provides options to add such stages.
* Registration processor has the capability to integrate with multiple ABIS providers.
* Each processing stage is scalable independently based on the load.
* Each stage in the processor is independent of other stages such that logic of a stage can be changed to improve efficiency without affecting the overall flow.

## Detailed functionality

[Registration Processor Functionality](https://docs.mosip.io/1.1.5/modules/registration-processor/registration-processor-functionality)

## Process flow

### Packet Pre-Processing

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-5e92a02523cf21801c80493c9a44f68393186867%2Freg_proc_process_flow-packet_pre-processing_part_1.png?alt=media)

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-81a7ccbdd1c7b35b6eb892ac634e3b065b954fba%2Freg_proc_process_flow-packet_pre-processing_part_2.png?alt=media)

### New Packet Processing

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-d9f809f393687ac128c96ae30835c0201fb40f69%2Freg_proc_process_flow-new_packet_processing_part_1.png?alt=media)

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-fdcf832ef9497cbffcc0f06a3d7c414265903c54%2Freg_proc_process_flow-new_packet_processing_part_2.png?alt=media)

### Update Packet Processsing

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-f014bd9389b7af25b86fb4fabb8e12a4c8360244%2Freg_proc_process_flow-update_packet_processing_part_1.png?alt=media)

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-47d224452eec7c08f061eadaeac65b1ac6c90351%2Freg_proc_process_flow-update_packet_processing_part_2.png?alt=media)

### Lost UIN Packet Processing

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-b9bd22a5016df8dc8514546b399b904c778dbd21%2Freg_proc_process_flow-lost_uin_packet_processing_part_1.png?alt=media)

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-c0a6b13cbfcee796729599236cbc3e2bbecf7f7b%2Freg_proc_process_flow-lost_uin_packet_processing_part_2.png?alt=media)

### Activate/De-Activate Packet Processing

![](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-358c628e434024efb1a40792a76bb7248a5c2e76%2Freg_proc_process_flow-activate_deactivate_uin.png?alt=media)

## Logical View

![Registration Processor Logical view](https://306789431-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M1R77ZUwR6XwtPjJIVm%2Fuploads%2Fgit-blob-37359ae1f16f7ecc00735ad2ca8d38bea28af6f1%2Freg-proc-logical-view.png?alt=media)

## Services

For detailed description of Registration Processor Services refer to [registration processor repo](https://github.com/mosip/registration/tree/master/registration-processor).

For high level and low level design refer to [registration processor repo](https://github.com/mosip/registration/tree/master/registration-processor)

## Build and deploy

Refer to build and deploy instructions in [registration processor repo](https://github.com/mosip/registration/tree/master/registration-processor).

## APIs

[Registration Processor APIs](https://docs.mosip.io/1.1.5/apis/registration-processor-apis)
