Social Performance Management Framework

Target release15.06
Epic MIFOSX-1936 - Getting issue details... STATUS
Document statusDRAFT
Document ownerMarkus Geiss (Deactivated)
DesignerMarkus Geiss (Deactivated)
DevelopersMarkus Geiss (Deactivated)


To allow the administration and usage of surveys to measure the social performance and impact we need to provide a framework to cover various Social Performance Management tools, e.g. PPI, MPAT or USAID-PATs.

Background and strategic fit

Resources used for research:

Requirements/User Stories

#TitleUser StoryImportanceNotes
MIFOSX-1961 - Getting issue details... STATUS Create new surveyAs an administrator I want to create a new survey to collect SPM data.Must Have


MIFOSX-1962 - Getting issue details... STATUS Add general informationAs an administrator I want to add additional fields to a survey to collect general information.Must Have 
MIFOSX-1963 - Getting issue details... STATUS Add questions to a surveyAs an administrator I want to add questions with their related answers and options to a survey
to create a questionnaire.
Must Have 
MIFOSX-1964 - Getting issue details... STATUS Add look-up tablesAs an administrator I want to add look-up tables to a survey to map scores to well known KPIs.Must Have 
MIFOSX-1965 - Getting issue details... STATUS Assign default look-up tableAs an administrator I want to assign a look-up table as default to allow KPI viewing an client info.Must Have 
MIFOSX-1966 - Getting issue details... STATUS Enable surveyAs an administrator I want to enable a survey per tenant to allow collecting of SPM data.Must Have 
MIFOSX-1967 - Getting issue details... STATUS Enforce surveyAs an administrator I want to enforce the collection of SPM data to report data.Must Have 
MIFOSX-1968 - Getting issue details... STATUS Fill surveyAs a staff I want to collect SPM data provided by a survey to track my clients.Must Have 
MIFOSX-1969 - Getting issue details... STATUS View surveyAs a staff I want to view collected SPM data to benchmark my clients.Must Have 
MIFOSX-1970 - Getting issue details... STATUS Report targetsAs a manager I want to compare SPM data with targets to track my impactMust Have 

Business Rules


SurveyA Survey is a collection of general information, and specific questions. 
QuestionA Question has answers and options assigned and is used as the basis of all
needed or wanted KPI computation 
ScorecardHolds the results of a questionnaire 
Look-up TablesDefine KPIs for certain ranges retrieved through the scorecard 

Domain Model for Survey

Domain Model for Questions

Domain Model for Scorcards

Domain Model for Look-up Tables

Security and Permissions

  • Administration
    • read, write and delete permissions for surveys and their related entities
  • Configuration
    • read, write and delete permissions to enable surveys per tenant
  • Survey
    • read and write permissions for surveys to collect data

Mifos Functionality Enhancements

New Screens

  • New area Surveys
    • List all available surveys
      • allow enabling survey for tenant
    • View details of survey
    • Action to create new surveys
  • Wizard to create new surveys
    • Steps:
      • General information, e.g. key and name
      • Add headers
      • Add components
        • Allow component nesting
      • Add questions
        • Add Answers
          • Add Options
      • Add look-up tables
  • New area reports
    • List all available reports
    • View/ execute a report
    • Action to create new reports based on a superset of selections
  • Wizard to fill survey
    • Steps:
      • Collect general information
      • Collect questions per component or in a single step

Changes to Existing Screens

  • Admin > System
    • Add new entry 'Manage Surveys'
  • Client view
    • Add selected KPI to client info
  • Reports
    • Add new entry 'Surveys'

Changes/Enhancements to Batch Jobs


Changes/Enhancements to Accounting Entries


User interaction and design

Exception Handling


  • History of SPM data per client
  • Benchmark client vs clients
  • Benchmark office vs offices


HTTP MethodResourceQuery ParameterRequest BodyResponse BodyError codes
POST/surveysn/aSurveysurveyId400, 404, 500
GET/surveyskey, name, countryCoden/aList<Survey>400, 500
GET/surveys/{id}n/an/aSurvey400, 404, 500
POST/surveys/{id}/lookUpTablesn/aLookUpTablesurveyId, lookUpTableId400, 404, 500
GET/surveys/{id}/lookUpTableskeyn/aList<LookUpTable>400, 500
GET/surveys/{id}/lookUpTables/{id}n/an/aLookUpTable400, 404, 500
POST/surveys/{id}/scorecardsn/aScorecardsurveyId, scorecardId400, 404, 500
GET/surveys/{id}/scorecardsclientId, createdBy, createdOnn/aList<Scorecard>400, 500
GET/surveys/{id}/scorecards/{id}n/an/aScorecard400, 500





Below is a list of questions to be addressed as a result of this requirements document:


Out of Scope

  • Upload of Excel or ODF spreadsheets