Software Extensibility Strategies for Health and Demographic Systems in Low-Income Countries

Software systems used by health research centers in low-income countries typically need to be maintained and upgraded by individuals who do not have formal Computer Science education. Without careful planning, these data management software systems can require years of technical assistance from highly trained specialists. This work proposes software design strategies to minimize the complexity of maintaining a Java based enterprise scale software application in low-income countries. In this paper we identify various extension mechanisms. The goal is to significantly reduce the complexity required for users to tailor the system to their own particular projects.