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  . 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 (  , 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  . 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  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.  . 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  .
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  . Similarly, m-health studies from developing countries have also shown positive outcomes. For example, SMS application has been found to significantly reduce perinatal mortality  and improve antenatal care attendance  .
M-health has been applied in several projects in Tanzania. A desk review conducted by Barnett & Srivastava  , 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  and Poushter  have found that smartphones ownership and internet penetration continues to grow rapidly Tanzania.
Despite the worldwide rapid proliferation of m-health mobile applications  , 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  . 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  . 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.
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  . 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  . 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 (  , 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 (  , 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 (  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 (  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  . 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.
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  .
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  .
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  . 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 (  , 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.
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.