This page shows how OpenSPP vocabulary codes map to PublicSchema canonical values. If you work with OpenSPP and spot an error, please report it.
19 vocabularies covered: 15 value mapping, 4 same standard.
Vocabularies
| Vocabulary | System name | Relationship | Coverage | Gaps |
|---|---|---|---|---|
| country | Same standard | All values | ||
| currency | Same standard | All values | ||
| education-level | Education Level (ISCED 2011) | Value mapping | 9/10 mapped | |
| event-severity | HazardIncidentSeverity | Value mapping | 5/5 mapped | 1 not covered |
| gender-type | ISO 5218: Gender | Value mapping | 3/4 mapped | |
| group-role | Group Membership Type | Value mapping | 1/1 mapped | 12 not covered |
| group-type | Group Type | Value mapping | 2/2 mapped | 2 not covered |
| identifier-type | ID Type | Value mapping | 4/4 mapped | 16 not covered |
| language | Same standard | All values | ||
| marital-status | MaritalStatus | Value mapping | 6/6 mapped | |
| occupation | Same standard | All values | ||
| payment-status | Value mapping | 6/6 mapped | 4 not covered | |
| relationship-type | Value mapping | 10/10 mapped | 6 not covered | |
| sex | ISO 5218: Gender | Value mapping | 4/4 mapped | |
| sp/benefit-modality | Value mapping | 2/2 mapped | 4 not covered | |
| sp/eligibility-status | Value mapping | 1/1 mapped | 4 not covered | |
| sp/enrollment-status | Value mapping | 4/4 mapped | 2 not covered | |
| sp/entitlement-status | EntitlementState | Value mapping | 8/8 mapped | 2 not covered |
| sp/grievance-status | Value mapping | 6/6 mapped | 2 not covered |
Documented gaps
PublicSchema items that OpenSPP does not model, with the documented reason.
| PublicSchema item | Reason |
|---|---|
| benefit-frequency | OpenSPP does not have a vocabulary or selection enum for benefit delivery frequency. Cycle recurrence in OpenSPP is configured via date ranges and the Odoo recurrence infrastructure (RRULE), not a controlled vocabulary. |
| event-certainty | No OpenSPP vocabulary or selection for data certainty or confidence level on recorded attributes. |
| conditionality-type | OpenSPP does not expose a conditionality classification vocabulary. Whether a program is conditional or unconditional is implicit in program configuration, not a controlled vocabulary field. |
| delivery-channel | OpenSPP does not have a delivery channel vocabulary. Payment delivery mechanism is determined by the FSP (Financial Service Provider) configuration, not a separate enumeration. |
| grievance-type | OpenSPP GRM does not have a structured grievance category vocabulary in the extracted data. Ticket categorization is done through configurable category records (spp.grm.ticket.category), not a fixed selection enum, making a code-level mapping impossible without deployment-specific data. |
| hazard-type | OpenSPP spp_hazard module defines hazard incidents but does not expose a hazard type classification vocabulary or selection in the extracted data. Hazard types would be configured per deployment. |
| referral-status | OpenSPP does not have a referral module or referral lifecycle vocabulary in the extracted data. The spp_case_base module tracks intake source (including 'referral') but not outbound referral status. |
| targeting-approach | OpenSPP does not have a controlled vocabulary for targeting methodology. Targeting is implemented through configurable filter rules and scoring models (spp_scoring), not a classification vocabulary. |
| script | No OpenSPP vocabulary for writing scripts (ISO 15924). OpenSPP language vocabulary uses ISO 639 codes only. |
| region | No OpenSPP vocabulary for UN M49 geographic regions. Country selection uses ISO 3166-1; regional groupings are not exposed as a controlled vocabulary. |
Help improve this page
Highlight any text on this page to leave an annotation. Join our review group to get started.
If you have a GitHub account, click the feedback icon next to any section heading to report a specific issue.