Long overdue update on the progress made on this item.
Currently done:
-
PPI models for Kenya and Tanzania
-
PPI endpoint that allows enabling, disabling of different PPI implementations (still requires running SQLs manually during setup)
-
retrieving and storing of the PPI questionnaire and responses in MifosX
-
Initial scoring and displaying of scores.
To be done:
-
Initial set of reports
-
Further integration in backend including new endpoints.
The current implementation can be pulled from Github branch https://github.com/Musoni/mifosx/tree/PPI-on-1.18.0. Please let me or [~cieyouraoul] know if you need any instructions on getting it up and running.
Background snapshots from initial discussions with keithwoodlock and johnwoodlock From an API point of view PPI uses a specific api /ppi for PPI.
An example question that might be in a PPI would be something like: How many household members are 18 and younger?
And this question might have a few options associated with it:
A) 4 or more B) 3 C) 2 D) 1 E) 0
Each of these answers will have a 'points score' associated
In datatables approach, the question can be the column name. But it might not be practical as some questions would be very long and exceed mysql column name limits so you might decide on a 'code label' that can later be translated by the UI:
CREATE TABLE `ppi_kenya` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `household_members_cv_q1_householdmembers` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
household_members part is the 'code' to be associated with this question cv part means that this is a special column where it expects the value of a 'code' to be put in q1_householdmembers - part can be a label that a UI can translate into english/french/etc How many household members are 18 and younger?
That along would do for building form with ten questions. The actual scoring is implemented by extending the code/code values feature to support 'scores'.
|