openG2P → openIMIS: Farmer & Social Registry Eligibility Verification Workflow
Properties
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.
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 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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. | |||||||||||||||
DCI Role Mapping | openIMIS = SP-MIS (consumer across all three standards) | |||||||||||||||
Exchange Pattern | Synchronous Search (openIMIS-initiated, on-demand query) : not Subscribe/Notify | |||||||||||||||
Actors |
| |||||||||||||||
Assumptions & Prerequisites |
| |||||||||||||||
Validations | openIMIS (SP-MIS) must validate:
OpenG2P (Social Registry / Farmer Registry) must validate:
|
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 |
|---|---|---|---|---|---|
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 |
|---|---|---|
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 |
|---|---|---|---|---|---|
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 |
|---|---|---|
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 |