Demo
Contents
Demo#
Module: spp_dci_demo
Overview#
DCI Demo: Birth Verification for Child Benefit Enrollment
Purpose#
This module is designed to:
Demonstrate DCI birth verification: Add birth verification via DCI to the "Add Member" change request workflow, querying a CRVS registry (e.g., OpenCRVS) to verify birth registration numbers.
Auto-create verified registry IDs: When a birth is verified, automatically create a BRN registry ID on the new individual with verification metadata.
Auto-enroll in programs: After a member is added and verified, automatically enroll the household and its members in a configured program.
Module Dependencies#
Dependency |
Purpose |
|---|---|
|
Demo Generator V2 for SP-MIS programs with fixed stories ... |
|
Base DCI client infrastructure with OAuth2 and data sourc... |
|
Configuration-driven change request system with UX improv... |
|
Manage cash and in-kind entitlements, integrate with inve... |
Key Features#
Birth Verification on Change Requests#
Extends the "Add Member" change request detail (spp.cr.detail.add_member) with birth verification fields:
Field |
Type |
Description |
|---|---|---|
|
Char |
BRN entered by the social worker |
|
Selection |
unverified, verified, not_found, or error |
|
Boolean |
Whether DCI response data matches CR fields |
|
Datetime |
When verification was performed |
|
Text |
Raw JSON response for audit |
|
Many2one |
CRVS data source to verify against |
A "Verify Birth" button triggers a DCI search by BRN against the configured CRVS registry. Editing verified fields (name, DOB, gender, BRN) automatically invalidates the verification.
Data Match Verification#
After a successful DCI lookup, the module compares the returned person data against the change request fields:
Given name (case-insensitive)
Family name (case-insensitive)
Birth date
Gender/sex
Mismatches are logged and flagged for manual review.
Change Request Reviewer UX#
The main change request form (spp.change.request) is extended with computed DCI verification fields:
Field |
Description |
|---|---|
|
Pulled from the detail record's birth verification status |
|
HTML summary with status badge, BRN, and match indicator |
|
Whether the DCI data matches |
Verified BRN Registry ID#
When the change request is applied and the birth was verified, a spp.registry.id record is created on the new individual with:
The BRN as the identifier value
Status set to
validVerification method set to
dci_apiVerification source from the data source name
Raw verification response stored for audit
Auto-Enrollment#
After applying the change request, if a program is configured via the spp_dci_demo.enrollment_program_id system parameter, the household and all its members (including the newly added child) are automatically enrolled.
Integration#
spp_dci_client: Uses
DCIClientto perform DCI search queries against configured CRVS data sources.spp_change_request_v2: Extends
spp.cr.detail.add_memberwith verification fields andspp.cr.apply.add_memberwith post-apply logic for BRN creation and auto-enrollment.spp_programs: Creates
spp.program.membershiprecords for auto-enrollment of households and members.spp_mis_demo_v2: Depends on demo data for the target enrollment program (Conditional Child Grant).
openspp.org