AmericaSCORESBayArea / AmericaSCORESBayArea/salesforce-data-api

Contact endpoints can return mapped values for demographic fields based on an external system argument in the request

Open
#132 0 comments 0 reactions 1 assignee Claimed by @archana-llamas View on GitHub
enhancement help wanted
Dominant language
DataWeave
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

*Problem:*
Different external systems supported by the Sync Robot accept different values for ethnicity, gender etc. Registration forms and other related inputs must depend on simplified option lists.
The Robot needs to transmit the values for fields that can be accepted by those systems.

*Solution*
API based rules provide mappings based on an option value in the request:External_System (String)
Maintaining the mappings in a single place where it is appropriate and can be managed through a prop file or equivalent, under version control.

*Example*
1. A parent of a new Scores Student is required to select an ethnicity to register. (required by that same school district).
2. They select "Hispanic/Latinx" from the form provided by Scores
3. Publishing this record to that student's home schools district, the system accepts only the following: "Latino/Latina", "Hispanic of European Descent", "Central or South American"
4. The sync robot sends a request for the contact record using the contact ID and an argument string identifying the destination mapping "DCYF" (example)
5. The API retrieves the record, as stored, and based on the correct mapping rule for that field, returns, "Latino/Latina" which is acceptable to that system and agreed by system stakeholders (Program and District officials)
6. When the record is updated/PATCH, the system has a reverse mapping rule that stores the value "Hispanic/Latinx" based on the source system argument and value sent "Latino/Latina"
7. A log event reports the mapping took place including original and mapped values.

*Dependencies*
https://github.com/AmericaSCORESBayArea/student-registration/issues/197

https://github.com/AmericaSCORESBayArea/External-Sync-Robot/issues/166

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.