opencrvs / opencrvs-core

A global solution to civil registration
https://www.opencrvs.org
Other
90 stars 73 forks source link

Standards-based interoperability between the civil registration function of OpenCRVS and identity management systems #1751

Closed euanmillar closed 3 years ago

euanmillar commented 4 years ago

Introduction:

This will allow us to design and build the standards-based interoperability between the civil registration function of OpenCRVS and identity management systems (both functional and foundational).

This includes a technical proof of concept, with MOSIP - the Modular Open Source Identity Platform (www.mosip.io).

Deliverables:

This interoperability is very important to ensure that the legal identity established at birth is then utilised as a foundational identity to access other services (e.g. health, education, financial inclusion, passport, mobile phone etc.) and to ensure that we leave no one behind.

High Level Approach:

Define Webhook standard & FHIR payload for the following OpenCRVS events:

Develop and secure an OpenCRVS Webhook. Using Redis Pub/Sub allow an authenticated system (ie MOSIP) to subscribe to one of these events - Suggest Birth registration MOSIP development to subscribe to OpenCRVS Webhook, and convert Birth registration FHIR payload into a MOSIP registration.

FHIR Composition for Birth registration example: https://github.com/jembi/opencrvs-fhir-templates/blob/master/birth-registration/fhir-document.jsonc

On event OpenCRVS publishes the agreed data to the Webhook. Develop and secure a MOSIP Webhook for OpenCRVS use. OpenCRVS subscribes. MOSIP publishes a successful ID creation, returns ID and FHIR Composition ID. OpenCRVS stores the ID into the correct record using the FHIR Composition ID. Document the process. Review and publish.

euanmillar commented 4 years ago

These may help:

https://docs.developers.optimizely.com/rollouts/docs/webhooks

https://medium.com/@ridwanfajar/using-redis-pub-sub-with-node-js-its-quite-easy-c9c8b4dae79f

https://github.com/roccomuso/node-webhooks#readme