Journal of Software Engineering and Applications
Vol.11 No.12(2018), Article ID:89486,16 pages

Design of an Interactive Mobile Application for Maternal, Neonatal and Infant Care Support for Tanzania

Bernard P. Mramba, Shubi F. Kaijage

Department of Communication Science and Engineering, Nelson Mandela African Institution of Science and Technology, Arusha, Tanzania

Copyright © 2018 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

Received: October 20, 2018; Accepted: December 24, 2018; Published: December 27, 2018


Reducing maternal and infant deaths’ rates in the developing countries, particularly in sub-Sahara Africa, remain a big challenge. Despite efforts by governments, the reductions have been unsatisfactory. To accelerate the reduction in maternal and infant deaths, m-health has been proposed as a viable, economical and effective intervention, able to reach the low income and disadvantaged groups. Mobile phone-based applications are among the m-health interventions that have been found to have positive outcomes for different healthcare challenges, such as improving clinical attendance and skilled delivery, and reducing perinatal mortality. However, the adoption of smartphone-based applications for health in Tanzania has been slow. Some of the likely contributing factors might be low technology exposure by the majority of the population and English language skills’ limitations. In this work, we developed a mobile application for providing interactive support to users, thus complementing other solutions available such as SMS and other smartphone apps. The main advantage of this app is the presence of interactive features that enable patient-provider communication. We adopted the Rapid application development (RAD) model for developing the application. We used UML modeling language tools for designing the application. The mobile application’s technical architecture uses various technologies and system development tools such as PHP programming language for the web application, MySQL database management system and Android Studio mobile application development platform.


e-Health, m-Health, Interactive Mobile Application, Rapid Application Development (RAD)

1. Introduction

Maternal mortality is the deaths of women during pregnancy, delivery or within 42 days after delivery. Infant mortality is the deaths of infants of less than one year of age. Maternal mortality and infant mortality remain among the major healthcare challenges in the developing countries. For example, during the year 2015, the average number of maternal deaths per 100,000 live births in the developing countries was 239, versus 12 in the developed countries [1] . Moreover, during the year 2016, estimated 4.2 million infants died during their first year of life, accounting for 75% of deaths of children aged less than 5 years ( [2] , p. 71-98). Further, it is estimated that 99% of these maternal and infant deaths occur in developing (low-and middle-income) countries, particularly in sub-Sahara Africa where Tanzania is located. Recent statistics by the Tanzania demographic, health, and malaria indicator survey of 2015-2016 revealed that maternal and infant mortality were 556 per 100,000 and 43 per 1000 live births respectively [3] . This shows that the number of maternal and infant deaths in Tanzania is much higher compared to the average figures of the developing countries.

Consequently, a number of interventions have been used throughout the healthcare system to reduce maternal and infant deaths worldwide. Among them is E-health interventions. E-health has been identified as potentially effective, economical and viable solution that may have a significant impact in healthcare. One of these e-health solutions is the application of mobile phones or mobile health (m-health). WHO [4] defined m-health as, “medical and public health practice supported by mobile devices, such as mobile phones, patient monitoring devices, personal digital assistants (PDAs), and other wireless devices” (p. 6). M-health may improve patient-provider communication, healthcare information management, drug reminders, etc. [5] . Generally, in applying m-health, healthcare providers extend their services to more users, hence achieve m-health goal of making healthcare services accessible anywhere, anytime [6] .

M-health has received attention from both researchers in academia and industries alike. Several studies in the developed countries have shown the usefulness of m-health through improving provider-patient communication and assisting in disease management [7] . Similarly, m-health studies from developing countries have also shown positive outcomes. For example, SMS application has been found to significantly reduce perinatal mortality [8] and improve antenatal care attendance [9] .

M-health has been applied in several projects in Tanzania. A desk review conducted by Barnett & Srivastava [10] , identified 31 active m-health services in Tanzania. Three programmes were identified for promoting maternal/child health. These were Wired Mothers Initiative, Child Count++, and “Healthy Pregnancy, Healthy Baby” (HPHB). Wired Mothers Initiative and Child Count++ programmes were SMS based programmes that aimed at linking mothers to healthcare providers and assisting communities in improving child survival. The scope of these programmes was small, targeting only one geographic area. HPHB is an ongoing Programme funded by Center for Disease Control (CDC), USAID, John Hopkins and other donors. HPHB runs the “Wazazi Nipendeni” campaign (Swahili for “Parents love me”), which provides free text messages in Swahili to pregnant women, mothers with newborns up to 16 weeks old and their supporters.

Absence of programmes that have targeted smartphones in Tanzania may indicate that smartphones are still considered items for the middle income and the rich. However, during the recent years, smartphones prices have rapidly decreased to as low as $50 per piece. Consequently, many people with low-income in both rural and urban areas own smartphones. Recent studies such as those by Neumann [11] and Poushter [12] have found that smartphones ownership and internet penetration continues to grow rapidly Tanzania.

Despite the worldwide rapid proliferation of m-health mobile applications [13] , very few of them are in use in Tanzania. Majority of these applications are developed, maintained and updated according to the requirements of the developed countries. Very few of these applications are aimed at resolving the critical healthcare challenges of the developing countries. Barriers to the slow adoption include limited understanding of English language and technological exposure. Majority of Tanzanians can communicate only in Swahili, making the available mobile applications accessible to only few [14] . Furthermore, very few m-health apps on google store have Swahili language support.

In addition, the available mobile applications in Tanzania have adopted very few functions of smartphones leaving many interactive features unutilized. Interactivity includes real time or delayed time communication, which allows sharing of text, audio, images, location, video etc. An Interactive mobile application may have discussion forum, m-learning with questions and answers, context awareness such as location context and nearby hospitals discovery [15] . Interactive features makes it easier for patients to communicate with healthcare professionals in real or delayed time, discover nearby hospitals and services offered, set reminders, and interact with other users through discussion forum and questions and answers.

In this study, we developed an interactive mobile application for providing support for pregnancy, antenatal and infant care. The mobile application has six modules namely, live chat, directory, healthcare information portal, reminders, latest news, and discussion forum. This application aims to enhance support services using interactive features. It provides users with interactive features that allow healthcare providers to engage with patients before they arrive at a health facility, define reminders of important events, discover health centers nearby, and engage in discussions relevant to pregnancy, neonatal and infant care. Moreover, it allows the user to choose default language after installing the mobile application on his/her mobile phone.

2. Methods

To implementation the proposed application, Rapid Application Development (RAD) model was used. RAD is agile based software development methodology. RAD model emphasizes on creating a working prototype of the software or module and user feedback over strict planning of requirements used in Waterfall models. The objectives of RAD are to obtain high quality systems much faster and at lower cost [16] . RAD uses an incremental and prototyping approach to generate phased deliverables. Prototyping allows the development of the system in an iterative manner. Developers after the initial investigation develop a working prototype of the system and then discuss it with the users for further enhancement. The process is repeated several times until the users are satisfied with the system. Figure 1 shows the Rapid Application Development Model used to develop this mobile application.

To create the initial prototype, brainstorming was used. Initial user’s preferences obtained using a questionnaire at two hospitals in Dar es Salaam, Tanzania, were translated into modules of the initial prototype of the mobile application. Brainstorming leads to better problem understanding and feeling of common ownership [17] . Initially, a list of features was drawn from the user’s preferences by the software development team. This list was further discussed and arranged into possible modules of the initial prototype. Eleven modules were initially proposed by the team. The initial modules were user accounts, live chat, directory, map navigation, m Learning, reminders, news, alerts, discussion forum, personalization, and settings. After consultation with selected healthcare professionals, these modules were re-arranged into eight modules as described in the functional requirements in the next sections of this paper.

2.1. System Modeling

System modeling is a process of creating abstract models of the system. Each model is used to present a view of the system according to some perspective ( [18] , p. 139). System modeling for this study uses context and interaction models represented graphically using Unified Modeling Language (UML). The models help clarify the requirements to users and explain the system to other stakeholders. System models can also be used to auto generate full or partial classes of the system and database tables.

Figure 1. Rapid Application Development (RAD) Model used in the development of an Interactive Mobile Application for Maternal and Infant care Support.

2.1.1. Use Case Modeling

Use cases diagrams explain how one or more actors interact with the system. Use cases describes what the system does i.e. its functional requirements in response to user inputs ( [19] , p. 74). To generate the use cases, first we identified the actors on the mobile application. An actor represents a role played by someone who interacts with the system. Any actor of the mobile application has some access rights on some functions. Based on the access rights, we generated three types of users, administrators, healthcare professionals and normal users. After identifying the actors, we categorized them according to the expected functions the user needs from the system. A normal user can usually access the mobile application’s basic functions such as chatting, health information portal, discussion forums, and healthcare directory. Some functions require the user to log in to the system. Before logging in, a user must create an account in the mobile application. A healthcare professional has more functions than those available for a normal user. A healthcare professional is the main content creator for discussion forums and health information portal. A healthcare professional like a normal user, has to create an account in the mobile application in order to manage information in the mobile application. An administrator has access rights to perform critical system functions, thereby making the mobile application convenient to use by other types of users. An administrator mainly performs management of mobile application’s modules. Figures 2(a)-(c) show the normal user, healthcare professional and administrator use case diagrams respectively.

(a) (b) (c)

Figure 2. Use case diagrams (a) Normal user; (b) Healthcare professional; (c) Administrator, for an Interactive Mobile Application for Maternal and Infant care Support.

2.1.2. Data Flow Diagram

Data flow diagram (DFD) is a system-modeling tool used to depict graphically the flow of information between actors in an information system. Context level DFD shows communication between the entire system and external entities. This context level DFD is further expanded to show more details as of the systems and its components, thus generating DFD level 1, 2, etc. until enough details are revealed. For this mobile application, we present the context level DFD. We focus on the flow of information between users, administrator, and healthcare professionals.

Users, administrators and healthcare professionals have accounts in the mobile application, namely “User details”. These details are created when a user interacts with the application using the “User Registration” module. A user is registered by filling a registration form with necessary details to create an account. After registration, any type of user may log in to the system using the “Login” functionality.

Any person can install the application and get access to the general information available on the mobile application. However, registered users and healthcare professional can interact with other registered users through main modules namely “Live Chat”, “Discussion forum” and “Health centers directory”. The interaction, which is the main objective of this study, empowers users to get specific and timely responses from healthcare professionals based on their needs. Live chat, apart from text and images, enables a user to share his/her location, which may further improve the way healthcare providers handle emergency cases for patients. Discussion forum enables healthcare professionals to share useful information related to pregnancy and childcare using the application. Healthcare centers directory adds to the interactivity of the application by enabling users to locate nearby health centers and the services offered at these centers on a map. This function may improve decision making on which center to go for a particular service by the patient. Figure 3 shows the context level-data flow diagram for the mobile application.

2.2. Requirements Analysis

Requirements of a system are the descriptions of the services that the system should provide and the constraints on its operations. The term user requirements, is used to mean the high-level abstract user statements in natural language or diagrams of the services expected from the system by a user. On the other hand, system requirements are the detailed description of the software’s functionalities, services and constraints ( [18] p. 102). Requirements analysis specifications involve functional and non-functional requirements. Functional requirements state the expected system behavior in particular situations, system response to certain inputs, and form of services, tasks or functions of the system. On the other hand, non-functional requirements capture required properties and constraints of the system that apply to the system as a whole rather than any individual system feature. These constraints are usually imposed by standards ( [18] p. 102).

Figure 3. Context Level Data Flow Diagram for an Interactive Mobile Application for Maternal and Infant care Support.

2.2.1. Functional Requirements

In this study, we designed eight modules namely, User Accounts, Live Chat, Directory, Health Information, Latest News, Discussion Forum, and Settings. Table 1 provides the functional requirements for the modules of an interactive mobile application for maternal and infant care support.

2.2.2. Non-Functional Requirements

In this study, the non-function requirements of the mobile application include security, privacy, scalability, operational requirements, robustness, performance and compliance to local standards. Table 2 provides the non-functional requirements.

3. System Design and Results

System design is technical translation of output of the analysis phase aiming to produce a more technically elaborate proposed solution. Mainly the functional requirements and constraints form the major inputs to the system design phase of the software. Design phase of this mobile application was done on three components which are system architecture, database and user interfaces.

3.1. Application Architecture

Application architecture defines the interactions between different components of the mobile application. The main components are the mobile application, web and database server and web services, users and access devices. Information such as user’s details, hospitals directory details, and healthcare professionals are stored in the databases. Some information such as healthcare professionals may be obtained from external hospital management database. Web services are used to transfer information between the mobile application and the web application. The app mobile application provides different interfaces for users to do some activities on the system. Figure 4 describes high-level architecture of the mobile application for maternal, neonatal and infant care support. The mobile application connects users at health centers and hospitals to users who may be located far away from the health facility. The system has two major components, which are the mobile application and a web application.

3.1.1. Android Mobile Application

Since 2011, Android has been the leading Operating System (OS) for smartphone devices worldwide with more than 70% of market share [20] . Android is the most powerful and flexible open source platforms for smartphones and other mobile devices. Due to the absence of extra costs for an OS, many mobile phones manufacturers have preferred Android OS for their devices. Thus, mobile phones with Android OS are cheaper and available in many markets worldwide. Furthermore, Android, being open source, makes it easier for developers to make and deploy applications. Currently, millions of applications have been developed for Android smartphones. Android applications use XML and Java programming languages.

Table 1. Functional Requirements for an Interactive Mobile Application for Maternal and Infant Care Support.

Table 2. Non-functional Requirement for an Interactive Mobile Application for Maternal and Infant Care Support.

Figure 4. The Application Architecture for an Interactive Mobile Application for Maternal and Infant care Support.

In this study, the mobile application uses JavaScript Object Notation (JSON) format of data transmitted from the web server to the mobile application to create a user’s view on his/her mobile phone. JSON [21] represents text data based on key-value pairs of unordered lists. JSON is supported by most major programming languages and is used commonly as a preferred information exchange format between web clients and servers.

3.1.2. Web Application and Database

The web application part is implemented using PHP programming language. PHP is the most widely used programming language for web applications. It is open source programming language, therefore freely available for use. It supports many databases including MySQL used in this study [22] .

MySQL is a robust, free and reliable Database Management System (DBMS). It uses the standard Structured Query Language (SQL). It enables developers to deploy high performance and cost effective database driven systems. MySQL provides developers with flexibility to implement many features for high system performance such as replication, clustering and indexing as well as ability to implement outstanding security features on the database [23] .

3.2. Database Design

Database design for this application followed the Entity-Relationship (ER) model. ER model shows graphically how entities are related to each other within a database or an information system. An entity represents things of interest that may have one or more attributes. A relationship is an association between these entities. ER model is a graphical representation of the database of a system also called ER diagram [24] . Relational databases can be represented graphically using Entity-Relationship diagrams. Figure 5 shows the ER diagram of the database for mobile providing interactive support for maternal, perinatal and infant care.

3.3. User Interfaces

User interfaces of a software seek to promote rich, engaging interactions between users and the software. The mobile application provides users with interfaces that make it usable. These interfaces enable users navigate different functions of the application intuitively. Figures 6(a)-(e) show the interfaces of the mobile application.

4. System Testing

The mobile application went through three tests, namely unit testing, integration testing, and user interface (UI) testing. We employed both manual and automated testing techniques.

We employed functional testing technique to perform unit testing of the mobile application throughout the project during implementation of each module. We use functional testing to verify that each functional part of the software as well as business rules conforms to the requirements specification. For this application, functional testing was done using a combination of manual tests and using automated test scripts generated using JUnit available on Android Studio ( [25] , pp. 15-24).

Figure 5. ER Diagram for an Interactive Mobile Application for Maternal and Infant Care Support.

(a) (b) (c) (d) (e)

Figure 6. User interfaces showing (a) Login and registration; (b) Main interface; (c) Live chat options; (d) Healthcare portal topics and (e) Nearby health centers map.

Integration testing was used to test the collective working of the modules of the mobile application. User interface testing was also done using various test cased on the graphical user interface such login screen, chatting interface, discussion forum etc.

The mobile application is yet to be tested at a real user environment where various acceptance tests shall be conducted. The researcher is awaiting approval from two centers where the tests are to be conducted.

5. Conclusions

This mobile application for maternal, neonatal and infant care support provides pregnant women and infant mothers with a range of interactive features which address the challenges of inadequate support they receive before they physically arrive at a health facility. The application takes advantage of the rapid growth of smartphones’ ownership and internet penetration in Tanzania. It gives users the ability to communicate with healthcare professionals, access knowledge portal, set reminders of important events such as infant vaccination and clinical attendances, discover healthcare directory on an interactive map and engage in discussion forums.

Therefore, this application adds on the other interventions especially m-health related interventions aimed at reducing the high maternal and infant deaths in Tanzania. It is developed by considering local environment and challenges. These challenges are such as language barrier which is addressed by ability to switch language, and local content ownership, where doctors and healthcare professionals in Tanzania hospitals and health centres are the main content creator in Swahili language. The mobile application is able to link healthcare service providers and patients in both real and delayed times, allowing patients to learn and communicate.

Conflicts of Interest

The authors declare no conflicts of interest regarding the publication of this paper.

Cite this paper

Mramba, B.P. and Kaijage, S.F. (2018) Design of an Interactive Mobile Application for Maternal, Neonatal and Infant Care Support for Tanzania. Journal of Software Engineering and Applications, 11, 569-584.


  1. 1. WHO (2015) Trends in Maternal Mortality: 1990-2015: Estimates from WHO, UNICEF, UNFPA, World Bank Group and the United Nations Population Division: Executive Summary.

  2. 2. WHO (2015) Health in 2015: From MDGs, Millennium Development Goals to SDGs, Sustainable Development Goals. World Health Organization, 204.

  3. 3. NBS (2015) Demographic and Health Survey and Malaria Indicator Survey 2015-16. Dar es Salaam.

  4. 4. World Health Organization (2011) mHealth: New Horizons for Health through Mobile Technologies. Observatory, 3, 66-71.

  5. 5. Anshari, M. and Almunawar, M.N. (2016) Mobile Health (mHealth) Services and Online Health Educators. Biomedical Informatics Insights, 8, 19-27.

  6. 6. Beratarrechea, A., Lee, A.G., Willner, J.M., Jahangir, E., Ciapponi, A. and Rubinstein, A. (2014) The Impact of Mobile Health Interventions on Chronic Disease Outcomes in Developing Countries: A Systematic Review. Telemedicine and e-Health, 20, 75-82.

  7. 7. Berrouiguet, S., Baca-García, E., Brandt, S., Walter, M. and Courtet, P. (2016) Fundamentals for Future Mobile-Health (mHealth): A Systematic Review of Mobile Phone and Web-Based Text Messaging in Mental Health. Journal of Medical Internet Research, 18, e135.

  8. 8. Lund, S., et al. (2014) Mobile Phone Intervention Reduces Perinatal Mortality in Zanzibar: Secondary Outcomes of a Cluster Randomized Controlled Trial. Journal of Medical Internet Research, 16, e15.

  9. 9. Lund, S., et al. (2014) Mobile Phones Improve Antenatal Care Attendance in Zanzibar: A Cluster Randomized Controlled Trial. BMC Pregnancy Childbirth, 14, 29.

  10. 10. Barnett, I. and Srivastava, S. (2017) Desk-Review: Determinants of Undernutrition and Existing m-Health Services in Tanzania.

  11. 11. Neumann, M. (2015) Relative Smartphone Penetration in Tanzania.

  12. 12. Poushter, J. (2016) Smartphone Ownership and Internet Usage Continues to Climb in Emerging Economies. Pew Research Center, 22, 1-44.

  13. 13. Research2Guidance (2017) mHealth App Economics 2017: Current Status and Future Trends in Mobile Health.

  14. 14. O’ Connor, Y. and O’ Donoghue, J. (2015) Contextual Barriers to Mobile Health Technology in African Countries: A Perspective Piece. Journal of Mobile Technology in Medicine, 4, 31-34.

  15. 15. Blasco-Arcas, L., Hernandez-Ortega, B.I. and Jimenez-Martinez, J. (2014) Collaborating Online: The Roles of Interactivity and Personalization. The Service Industries Journal, 34, 677-698.

  16. 16. Pawar, R.P. (2015) A Comparative Study of Agile Software Development Methodology and Traditional Waterfall Model. IOSR Journal of Computer Engineering, 1-8.

  17. 17. Paetsch, F., Eberlein, A. and Maurer, F. (2003) Requirements Engineering and Agile Software Development. 12th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, Linz, 11 June 2003, 308-313.

  18. 18. Sommerville, I. (2016) Software Engineering. 10th Edition, Pearson Education Limited, Boston.

  19. 19. Gomaa, H. (2011) Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge University Press, Cambridge.

  20. 20. Giachetti, C. and Marchi, G. (2017) Successive Changes in Leadership in the Worldwide Mobile Phone Industry: The Role of Windows of Opportunity and Firms’ Competitive Action. Research Policy, 46, 352-364.

  21. 21. Bray, T. (2017) The Javascript Object Notation (json) Data Interchange Format.

  22. 22. The PHP Group (2017) PHP: What Is PHP?—Manual.

  23. 23. Reese, G., Yarger, R.J., King, T. and Williams, H.E. (2002) Managing and Using MySQL.

  24. 24. Earp, R. and Bagui, S. (2012) Database Design Using Entity-Relationship Diagrams.

  25. 25. Nolan, G. (2015) Android Unit Testing. Springer, Berlin, 15-24.