RapidPro iHRIS Data Import¶
There are two types of data integration that we need. One is for “flows” and one is for “contact fields.”
- Some existing code is in iHRIS Common, in particular:
Flows¶
- Each workflow captures data. Flows are accessible in the API here:
There should be a service in iHRIS that let’s you select a workflow and it will query the RapidPro at the above API. It should:
look at the “rulesets” to extract the data fields and then dynamically create a form like “rapidpro_flow_$UUID” based on the the data fields extracted from the rulesets.
have the form be a child form of person
be able to specify if there is only one such child form or multiple
the name of the form should be the name of the workflow
- Once the dynamic form has been created, then there should be some data import functionality. This would use the API here:
Data Import Individual¶
There should be a link on the person page which will take you to a page where you can:
select a workflow
the RapidPro ID is looked up for that person (code to this already exists in ihris-common)
the data collected from the ?most recent? run of the flow are saved in the child form
Data Import Bulk¶
There should be a link under the mHero bulk page where you select a workflow and then for all person forms, the individual data import is performed
Contact Fields¶
- A form “rapidpro_contact_fields” should be created as a unique child form of person. The fields in this form can be dynamically pulled using the RapidPro API:
- The data for these fields should be populated using the RapidPro API:
Data Import Individual¶
There should be a link on the person page which will take you to a page where you can import the RapidPro contact fields data.
Data Import Bulk¶
There should be a link under the mHero bulk page where you select a workflow and then for all person forms, the individual data import is performed