This application is called “Kana Kanje”, which means “my precious child”. It aims at providing parents with premature babies a tool to monitor their baby’s growth and keep in touch with the baby’s paediatrician or Community Health Worker in case they leave in areas where doctors are not close by. Premature babies need special care and any slight change related to their health has to be monitored due to the baby’s health which is still fragile.
According to Trachtenbarg and Golemon , in their paper “Care of the Premature Infant: Part I. Monitoring Growth and Development”, published in American Family Physician magazine in May 2005; a baby is considered premature when they are born before 37 weeks of gestational age and they weigh less than 2,500g (5lb, 8oz). According to a survey released by the World Health Organization in 2012, 15 Million babies are born prematurely and 7.3% of them die every year due to complications. Most premature babies have problems feeding and breathing.
Therefore we thought about building an application that could help parents their baby’s growth especially if they are gaining weight normally, capture various milestones such as baby posture, a routine check to see if their baby can hear. The recorded data can be transferred to the doctor in charge of following up the baby’s growth or if the parents stay in a remote area where the doctor does not reach often, they can also communicate with the Community Health Worker who can provide basic advices and alert in case they see that the baby needs medical intervention.
This application was designed by Lynn Kirabo and Josephine Mukesha, MSIT students at the Carnegie Mellon University in Rwanda for the Java for Smartphone Development Course (18416). The project had 4 milestones that allowed setting the structure of the project. The first parts which consisted of the project requirements and design submission were done collaboratively. The development phase had to be divided in order to meet the deadline. Lynn worked on the main features of the application as well as the GUI. Josephine worked on the data part of the project as well as entities linking the database to the application.
The team used to meet every other day and discuss on the progress of the project. These meetings also helped clear challenges met and discuss new features or design approaches. The meetings also helped consolidating the project in order to avoid different codes and create massive work at the end when the two pieces were to be integrated together.
1 Geo-location: this feature is used to show all health care facilities located in the same area as the current location of the user. It knows where the parent is located and shows all healthcare facilities within a 100000 miles radius. We chose a big radius because in rural areas, there are few facilities and parents need to know about them especially in case of an emergency. The information provided for each healthcare facility includes the name of the facility; the latitude and longitude coordinates; the physical address as well as the contact number.
2 Accelerometer: this feature allows the parents to take the leaning position of their baby. This is done through the use of the camera on the device as well as the accelerometer sensor also found in the device. The information presented is the angle and the direction the device’s compass is pointing at and indicates if it is leaning to the left or the right.
3 Temperature: This feature checks for the current temperature in the room. Unfortunately this feature could not be tested since our current devices (Nexus 7) do not have an inbuilt temperature sensor and with the time left, it was hard to get a device that has this feature.
4 Bluetooth: this is another option presented to the parent allowing them to share their baby’s evolution report with their physician. This can be used especially in remote areas where there is no Internet coverage.
5 Cloud: This is another mean given to the parent for sharing with the doctor their kids report. Because emails can be full or the doctor might miss a report, creating a shared folder on the cloud where both the parents and the doctor will be accessing is an added value especially when the baby was born with complications and requires close follow up by the doctor. Since all the files are kept in one place, the doctor can go back in time and compare data to come up with the best treatment fit for a particular case.
6 Email services: this feature is used as one of the options given to the parent for sharing the infant’s report with the physician. This feature uses the default email address of the email application installed on the device.
7 SQLite: this is an inbuilt database and it is used to hold all the information entered by the parent regarding a baby.
8 Access to external storage: Photos and videos are stored on the SD-Card of the device.
9 Swipe gestures: this feature allows for easy navigation between menus giving the user an easy way to navigate through the application.
10 Data visualization using graph: this feature allows showing how the baby’s weight increases. Since the measurements are taken on a weekly basis, the graph provides a better and fast way to present the baby’s weight evolution.
11 Photo: this is a cool feature allowing the parents to record their baby’s evolution as well as share them with their families and friends. It allows the parents to keep not only the health-related information but also their baby’s souvenirs. It can also be used to give the doctor detailed information when the baby has a skin rash for example. Sometimes the parents’ description can be misleading and therefore a picture can help especially in case the doctor is far away or very busy to see the baby immediately. Photos can also help in case the doctor prescribed a medication and at the local pharmacy they do not have it. In this case, the parents can take the picture of the alternative medicine and ask for advice.
12 Video: along with the photo this allows to keep souvenirs about the baby.
13 Internationalization: this feature allows for easy translation. This will be an added value especially within the East African Community. The string file can be easily translated into any language allowing the application to be used by many users speaking different languages.
14 Use of fragments: fragments have many advantages. They ease screen flow in an application. Activities are more static whereas fragments provide dynamism.
15 Support of multiple versions of android OS, precisely KITKAT 4.4 and JellyBean 4.22.
16 Support of multiple screen resolutions: HDPI (for example Samsung Galaxy Granduos) as well as XXHDPI (Nexus 7)
17 Writing into a file: The report shared with the doctor is a text file and it contains the latest consolidated information related to the baby.
Some highlights of what was learned by coding this app.
1 Use of interfaces: we used google places API to locate nearest healthcare facilities.
2 Encapsulation: Most of the interfaces in android are encapsulated and the user is given the liberty to implement them according to their applications requirements.
3 Abstract classes:
4 Exception handling: using try and catch blocks
5 MVC design pattern: we separated the model, view and controller. Each class is put in the appropriate package.
6 Java collection: Array list
7 Concurrency using multithreading: this gives the user the impression of multitasking.
8 Code refactoring: during design phase, we had static menus and when the new design was finished, these old features were kept within the code but kept from the user to avoid confusion. This allowed working on different module without compromising the screen flow.
The Cool and fun side of working on this project:
- Accelerometer: this feature was cool to implement and challenging as well because it involved integrating the camera to the accelerometer.
- Thermometer: although this feature could not be tested, we found it very interesting to implement.
- Generating a report and share it with the physician using multiple sharing tools available on most user devices while even considering the users who cannot access the Internet.
- Swipe gestures: this feature allows navigating easily through the application; the user is given multiple ways of reaching a given menu within the application.
- Geo-location: although the background map could not appear, the location of health facilities on the map is another feature that will come handy especially if the parents are in an unfamiliar place and have an emergency. Limitations
- The small JellyBean 4.2.2 android OS does not retrieve reports. We will investigate into that and by the presentation day we hope to have solved this issue.
- The visualization graph only takes double values for the X and Y axis and our dates are taken very closely to each other and therefore representing them on the graph poses some challenges. The Y-axis corresponds to the right values of the baby weights but the X-axis does not show the dates. The graph also uses the real values.
- Temperature sensor could not be tested although the code was written.
- Due to time constraint, we were unable to get full access to the inbuilt calendar and mark the important dates as we had planned.  David T.E., & Thomas. B. G (1998). Care of the premature infant: Part I. Monitoring growth and development. American family physician, 57(9), 2123-2130.