openG2P → openIMIS: Farmer & Social Registry Eligibility Verification Workflow

openG2P → openIMIS: Farmer & Social Registry Eligibility Verification Workflow

 

Content

Properties

Reference

https://standards.spdci.org/standards/dci-standards/wip-social-registry-v1.0.0

https://standards.spdci.org/standards/dci-standards/wip-farmers-registry

 

https://openimis.atlassian.net/wiki/x/AYAjQAE

Sector

Social Protection

Components

openG2P, openIMIS

github

https://github.com/openimis/sandbox/tree/dci_insuree_backend/mosip_insuree

https://github.com/openimis/openimis-be-api_dci_py

Purpose

This workflow demonstrates how openIMIS, acting as a Social Protection Management Information System (SP-MIS), can verify a beneficiary's eligibility for a benefit program by querying OpenG2P's Farmer Registry and Social Registry (Household Register) through DCI-aligned standards.

The use case enrolls a farmer into a benefit program (Program X) conditioned on household composition (more than 3 children under 5) and farmer status. Rather than collecting and self-declaring this data, openIMIS verifies it in real time against authoritative registries — identity via MOSIP, household and poverty data via OpenG2P's Social Registry, and occupational status via OpenG2P's Farmer Registry.

Key objectives:

  • Enable automated eligibility verification across multiple authoritative registries before enrollment

  • Demonstrate multi-standard interoperability: openIMIS consumes an ID Standard (MOSIP), a Farmer Standard, and an SR Standard (both via OpenG2P) within a single enrollment flow

  • Validate a Sync Search pattern, where openIMIS actively queries OpenG2P's registries on demand at enrollment time

ℹ️ Note on implementation pattern: an asynchronous Subscribe/Notify pattern (OpenG2P proactively notifying openIMIS of new farmer registrations) was initially scoped but not implemented on the OpenG2P side. The implemented and tested pattern is a synchronous Search: openIMIS actively queries OpenG2P's registries on demand, at the time of enrollment.

image-20260622-071537.png

 


Trigger

An enrollment officer (or the enrollment process) in openIMIS initiates eligibility assessment for a beneficiary against Program X. openIMIS itself triggers the registry lookups.


Workflow Overview

Field

Value

Field

Value

Workflow Maturity

Implemented Sync Search pattern completed and tested end-to-end in sandbox, demonstrated live. Async Subscribe/Notify pattern not implemented on OpenG2P side.

Referenced Standards

DCI (Digital Convergence Initiative): https://spdci.org.
ID Standard (openIMIS ↔ MOSIP)
SR Standard / SPDCI (openIMIS ↔ OpenG2P Social Registry)
Farmer Standard (openIMIS ↔ OpenG2P Farmer Registry)

DCI Role Mapping

openIMIS = SP-MIS (consumer across all three standards)
MOSIP = ID Provider (producer, ID Standard)
OpenG2P = Social Registry + Farmer Registry (producer, SR Standard and Farmer Standard)

Exchange Pattern

Synchronous Search (openIMIS-initiated, on-demand query) : not Subscribe/Notify

Actors

 

Role

System

Description

SP-MIS

openIMIS

Consumer across all three standards. Initiates the eligibility assessment at enrollment time and calls each producer system synchronously to verify a distinct eligibility criterion before enrolling the beneficiary in Program X.

ID Provider

MOSIP

Producer for the ID Standard. Verifies the individual's identity prior to enrollment (see MOSIP/eSignet workflow).

Social Registry

OpenG2P (Household Register)

Producer for the SR Standard (SPDCI). Exposes a synchronous search endpoint returning household composition data — used to verify the number of children under 5 and the household's poverty status.

Farmer Registry

OpenG2P (Farmer Registry)

Producer for the Farmer Standard. Exposes a synchronous search endpoint to confirm active farmer status on request.

Assumptions & Prerequisites

  1. OpenG2P's Farmer Registry and Social Registry expose synchronous search endpoints reachable from the openIMIS sandbox environment.

  2. No Subscribe/Notify mechanism is available on the OpenG2P side; openIMIS cannot be proactively informed of new farmer registrations and must query on demand.

  3. MOSIP/eSignet identity verification (see the dedicated MOSIP → openIMIS workflow) is available as a prerequisite step in the same enrollment chain.

  4. Program X's eligibility rule is configured in openIMIS: household has more than 3 children under 5, and the individual holds active farmer status.

  5. The poverty status criterion is sourced from the same Social Registry query as the household composition check (single SR Standard call covering both).

Validations

openIMIS (SP-MIS) must validate:

  • Successful identity verification via MOSIP before proceeding to registry checks

  • Successful, well-formed synchronous responses from both OpenG2P registries (Social Registry, Farmer Registry)

  • Aggregation logic: all four criteria (identity, child count, farmer status, poverty status) must pass before enrollment is finalized

  • Timeout / no-response handling for synchronous calls (registry unavailable at query time)

OpenG2P (Social Registry / Farmer Registry) must validate:

  • Authentication/authorization of the requesting consumer (openIMIS) per the relevant DCI standard

  • Data completeness of the household/farmer record being queried

⚠️ Current sandbox limitation: The asynchronous Subscribe/Notify pattern remains unimplemented on the OpenG2P side, openIMIS cannot yet be proactively notified of new farmer registrations and relies entirely on on-demand Sync Search at enrollment time.

Diagram

Workflow Steps

Step 1 — Enrollment Initiated in openIMIS

An enrollment officer (or the enrollment process) initiates eligibility assessment for a beneficiary against Program X within openIMIS. This is the entry point of the workflow — no external trigger from OpenG2P is involved.


Step 2 — Identity Verification (ID Standard)

openIMIS triggers identity verification for the individual against MOSIP, confirming the person's identity before any eligibility check proceeds.

Transaction: openIMIS (consumer) → MOSIP (producer), ID Standard


Step 3 — Household Composition & Poverty Status Check (SR Standard, Sync Search)

openIMIS performs a synchronous search against OpenG2P's Social Registry (Household Register) to retrieve household composition data, verifying:

  • Number of children under 5 (eligibility threshold: more than 3)

  • Household poverty status

Transaction: openIMIS (consumer) → OpenG2P Social Registry (producer), SR Standard (SPDCI), synchronous request/response


Step 4 — Farmer Status Confirmation (Farmer Standard, Sync Search)

openIMIS performs a synchronous search against OpenG2P's Farmer Registry to confirm the individual holds active farmer status.

Transaction: openIMIS (consumer) → OpenG2P Farmer Registry (producer), Farmer Standard, synchronous request/response


Step 5 — Eligibility Aggregation & Enrollment

openIMIS aggregates the results of the four checks (identity, child count, farmer status, poverty status). If all criteria are satisfied, the individual is enrolled in Program X.

Transaction: Internal SP-MIS processing

 

Interaction Table

#

Interaction

From

To

FHIR Resource / Action

Reference

#

Interaction

From

To

FHIR Resource / Action

Reference

1

Initiate eligibility assessment

Enrollment Officer

openIMIS (SP-MIS)

Internal

2

Verify identity

openIMIS (SP-MIS)

MOSIP (ID Provider)

ID Standard

Sync

3

Search household composition & poverty status

openIMIS (SP-MIS)

OpenG2P (Social Registry)

SR Standard (SPDCI)

Sync Search

4

Search & confirm farmer status

openIMIS (SP-MIS)

OpenG2P (Farmer Registry)

Farmer Standard

Sync Search

5

Aggregate eligibility & enroll

openIMIS (SP-MIS)

openIMIS (SP-MIS)

Internal

Resources Summary

Resource / Object

System

Purpose

Resource / Object

System

Purpose

Farmer Registry record

OpenG2P

Source record confirming farmer registration and status, retrieved via Sync Search

Household Register record

OpenG2P (Social Registry)

Source record for household composition (children under 5) and poverty status, retrieved via Sync Search

Sync Search endpoint (Social Registry)

OpenG2P

Synchronous query interface returning household composition data on request

Sync Search endpoint (Farmer Registry)

OpenG2P

Synchronous query interface returning farmer status data on request

Program X enrollment record

openIMIS

Target record created once all eligibility criteria are confirmed

Eligibility Criteria Summary

#

Criterion

Verified Against

Standard

Pattern

Threshold

#

Criterion

Verified Against

Standard

Pattern

Threshold

1

Identity

MOSIP

ID Standard

Sync

Valid, verified identity

2

Household composition

OpenG2P Social Registry

SR Standard (SPDCI)

Sync Search

More than 3 children under 5

3

Farmer status

OpenG2P Farmer Registry

Farmer Standard

Sync Search

Active farmer status confirmed

4

Poverty status

OpenG2P Social Registry

SR Standard (SPDCI)

Sync Search

Household meets poverty threshold

Known Gaps & Next Steps

Gap

Priority

Owner

Gap

Priority

Owner

Implement Subscribe/Notify (async) pattern on OpenG2P side, once available

High

Community / OpenG2P team

Evaluate senior-citizen (above 75) eligibility criterion for a future iteration

Low

Community review

Formalize error/timeout handling for synchronous calls (e.g. Social Registry available, Farmer Registry unavailable or slow)

Medium

Sandbox team

 

Documents