An Android Application for Blood Finding and Information Management System
Tashi wangchuk*1, Passang Gyem2, Kinley Wangmo3, Ugyen Wangchuk4, Parshu Ram Dhungyel5
Information Technology, College of Science and Technology, Royal University of Bhutan,
E-mail: firstname.lastname@example.org*1, email@example.com 2, firstname.lastname@example.org , Lumbou1992@gmail.com4, Sharmad99@gmail.com5
Finding a blood donor at right time is a big issue around the globe. Though the issue is a major concern even in our country Bhutan, it is left unaddressed until now. The survey has been conducted to find the current practices and the issues faced by the Bhutanese people in finding a right donor at right the time. The data were collected from around 210 people around Bhutan either using online questionnaires or through paper-based interviews. The survey analysis showed that there is difficulty in finding a right donor at the right time. The study also found that majority of the people dominantly uses the platform of social media to find blood donor in Bhutan. The respondents unanimously supported the urgent need of easier technology that would ease the problem. There is an expectation that blood is always available when it is in need but in reality it is difficult to find a willing blood donor especially during the emergency situations.
Thus, the use of mobile application has been proposed as a solution to address the current issue to find the blood donor in Bhutan. A mobile App called ‘24*7Blood’ can be used by the user to find the blood donor as well as if the user is willing to donate the blood he or she can use the App to inform other people who is in need of blood.
Keywords: Blood Bank, Blood Donor, Blood Finder, Blood Group, Blood Information.
Blood is the most precious fluid which is the saver of all mortal lives and blood donation is the most valuable contribution that a person can make towards society. Across the globe, every day there remains an urgent need for all types of blood groups. A large amount of blood is needed in emergency situations like accidents and major surgeries, but the lack of blood availability in a specific Hospitals seem to be a major problem. Most of the people collect blood from within their relatives, friends and even strangers but when blood of a rare group is needed, people face problems to find the required blood in the Hospital or from donors. In a developing country like Bhutan, there are hardly any dedicated organizations that can manage blood donation processes. Since human beings are usually driven by certain values and ethics, there are plenty of willing donors but the problem is finding a prepared donor at the hour of need due to lack of a proper medium (Snigdha, Varsha Anabhavane, Pratiksha lokhande, Siddhi Kasar, Pranita, 2016).There is a need for a mobile application which can have direct contact with willing donors and the receiver. There are various mobile applications based on blood bank and donation but none of them would be applicable in Bhutan, since Bhutan does not have a separate blood bank. This app could act as an important role in saving lives of human beings by finding a willing blood donor at the right time with the theme, “The problem is not insufficient number of donors, but finding a willing donor at the right time”. The app Blood Finding and Information Management System or “24*7Blood” is developed so that users can view information about registered blood donors and blood finders such as the name, address, and other such personal information along with their details of blood group and other medical information of donor. The blood finders can find the shortest distance to the donor with the help of donor’s current location and directly contact by calling. Since the availability of the blood in the blood bank is not disclosed to the public, the application restricts the availability of blood to public users where it is available only to the concerned people (Admin).
The app also has a login page where in the user is required to register and search for a willing donor. Login page is mainly to allow only the registered user to login and thereby preventing unauthorized access. This app requires internet access and thus there is a disadvantage of internet failure. Thus, this application helps to select the right donor online instantly using medical details along with the blood group. The main aim of developing this application is to reduce the time and resources to a great extent that is spent in searching for the right donor. Moreover, with the help of this application, the users will be provided with the platform for direct interconnection between the willing donor and the blood finder with the help of direct calling facilities. Thus, this application provides the required information in no time and also helps in quicker decision making.
The main motivation for developing this application is keeping in mind the experiences of how Bhutanese are finding it difficult to look for blood in emergencies. At present, people usually panic when immediate blood is required where they call each and every relative and friends asking them to be a donor. The frequent email sent to organizations like colleges and schools in search for blood donors and posts on social media about the need for blood donors has been the motivation behind the creation of this application. The application intends to introduce a new medium to search for blood donors. Modernization has led more and more people to use smart phones and it has become part of people’s lives. Since majority of the Bhutanese people own a smart phone, there is feasibility in implementing such an application.
Fig.1 Methodology of the project
First the problem statement of finding a willing blood donor at the right time during emergency and more time consumption and resource utilization in finding a willing donor is understood. After fully understanding the problem statement, literature review is done widely. While concluding literature review, all the requirement gatherings are made to produce an application that best serves the interest of the people. The gathered requirements are analyzed, verified, validated and the requirements are documented. Interviews with people will be simultaneously carried out about the app development to best understand about the development platform (android studio) and hardware requirements and read, compare various resources as well. Questionnaire is another way to do the required gathering.
Taking CST and residence of the Phuentsholing town as the sample size the study will conduct a survey, so that the vitality of the Blood Finding and Information management system is realized. If there is any glitch in the requirement gathering during the analysis process, the requirement gathering is repeatedly done till refined gathering is documented. After completing the requirement gathering, the prototyping software model to develop the App will be developed.
Before starting with the development of the application, it is very important to have concrete design of the interfaces to have idea on how the application would look like. Based on the feasibility study and data collected, a prototyping design using the Mock Plus which include features such as donor page, receiver page, admin page, required functionalities will be created. This will also include a mock demo done to get feedback on color combination and other requirements from the reviewer.
Fig.2 Sample prototype using Mock Plus.
Fig.3 Methodology of the project
Feasibility study is extensively done, then we develop a prototype and put it through series of tests. After multiple reviews from different users, we design both interface and database. The design is implemented into programming codes and finally into a functional product. The product is again reviewed with the users, then the final prototype is developed. Until the required standard of the product is met, the redesigning, coding and testing will be continued. The product will be put through a series of tests, checking its vulnerability to an atomic level. The model first undergoes unit testing. This test is done by the programmer to test all the individual module and solve if there are any issues. All the specified functionality is ensured at the end of functional testing. Subsequently we will do the system testing, to ensure that by putting our application in different environment (e.g., operating system), the system still works. Performance testing will be done to assess the speed and effectiveness of the system and to make sure it is generating result within a specified time. Finally, a usability testing to look at the end-user usability aspect of the software will be carried out. It will ensure the user-friendly GUI, learnability, efficiency, satisfaction, memorability and errors. The full product will then be deployed at last.
Prototyping software model was chosen to develop 24*7Blood app because of the following benefits suitable for developing a web application:
- Errors can be detected easily
- Missing functionality can be identified easily
- Quicker user feedback is available leading to better solutions.
- Users are actively involved in the development.
We have used Android Studio for the development of front-end. Android Studio provides the fastest tool for building apps on every type of android devices. Android Studio is the integrated development environment (IDE) officially supported by Google for the development of Android applications based on IntelliJ IDEA (Snigdha, Varsha Anabhavane, Pratiksha lokhande, Siddhi Kasar, Pranita, 2016). It was first publicized at Google I/O conference on May 16, 2013 and was made public on December 2014 with starting version 0.1 (Akshay Singh, Sakshi Sharma, Shashwat Singh, 2016). Google offers Android Studio for the Windows, Mac OS X, and Linux platforms (Friesen, 2016).
Laravel is a free and open source framework for the development of the web applications based on MVC (model view and control) founded by Taylor Otwell in the year 2011 (Bhavsar, n.d.). The Laravel framework attempts to eliminate the pain of development by facilitating the common tasks used many of the web applications. The main aim of the Laravel is to foster the development process smooth, pleasant and to make the developer works easily without compromising the functionality of the application. Laravel is one of the most popular and widely used framework for the development of the web application (Gupta, 2017). Laravel framework comes under PHP which is the tending framework for most of the web developers. The birth of the Laravel framework is mainly to maximize the effectiveness of the work of the PHP developers to user different tools when the technology and requirement of the software becomes more complex. PHP is also a free open source programming language created for the development of web application and manly focus on server side programming and today 80% of the web application are developed with PHP (Nilsson, 2017). Laravel is a powerful tool that helps in development for the large and robust applications (Vishal V. Parkar, Prashant P. Shinde, Sanket C. Gadade,Prasad M. Shinde).
MySQL is a freely offered open source relational database management system (RDBMS) based on Structured Query Language (SQL). SQL is a common language that aids in adding, retrieving and handling content in a database. For every open source application, MySQL acts as a vital part for storing the data (What is MySQL Tutorial, n.d.). MySQL is a relational database that stores data in a separate table instead of jumbling up all the data in a one massive directory where tables are related to each other with certain linked relationships. The feature of linked relationship helps in flexible management of the data. MySQL can be run on almost all platforms which includes Linux, UNIX and Windows. Despite its ability to be used in widespread applications, it is mostly popular with the web-based applications (Prof. Snigdha, Varsha Anabhavane, Pratiksha lokhande, Siddhi Kasar, Pranita, 2016).
According to the interface design, we have designed and implemented the ideas into our application. The following screenshots show the overall view of how the application works.
Login and Registration
Fig.4 Login (left) and registration (right) activity.
The user has to login or register to get started with the Android application. After Clicking “Login” button, the entered password and the entered username will be sent to the backend database and the user will be granted access if he is registered within the system. On clicking “signup” button, the user will be directed to the registration form as shown in the Fig.3.
Fig.5 Home activity.
Fig.5 shows the home page with following options:
- I want to be a donor (donor)
- I want to find a donor (receiver)
- Navigation drawer for easy navigation to different activities.
Fig.6 Donor activity.
Fig.6 shows that when the user clicks on “I want to be donor” button, the user will be directed to the donor page where they can view their own profile as well as others profile. They can also check the blood request made by the blood finders and also invite their friends to use this app.
Fig.7 Request activity.
App users can also request for the blood by filing in few credentials as shown in Fig.5. The request can be view by the blood donor and they can contact the receiver.
Fig.8 Request list (left) and view request detail (right)
Fig.8 shows the request list, where donors can view the list and contact with the receiver.
Fig.9 Receiver activity.
When the user clicks on “I want to find a donor” button of Fig.9, they will be directed to the Receiver Page where they can also update their profile, can check the Donor list and also can invite their friends to use this app.
Fig.10 permission (left) and Updating profile (right).
Users can update their profile after allowing some of the permissions as shown in Fig.10.
Donor list and profile
Fig.10 Donor list (left) and profile activity (right).
The users have the privilege to view the list of all the donors. Anyone who is registered into the app becomes the blood donor by default and anyone who is in need of blood can visit the donor list activity and view the individual profile and they can contact them as shown in Fig.10.
Fig.11 Calling activity.
The Fig.11 shows the direct contact between the donor and the reciever.
Fig.12 shows where the application will notify when a new donor or the new request is made. The admin will also be notifying the users about the blood related campaigns and event associated with the blood.
Any user can give necessary feedbacks/comment about this application as shown in the Fig.13.
- Login Module
Fig.11 Login Page.
First the admin needs to login to make any changes to the system and proceed further as shown in Fig.11.
- Admin dashboard
Fig.12 Home Page.
Fig.12 shows the home page of backend with following options:
- Notification: Admin will post the notification related to blood like blood donation camp and other events.
- Feedback: Admin can view feedback that is provided by the app users.
- Blood Availability: The availability of the blood in the blood bank is not disclosed to public and can be view only by the concern people in the hospital. Admin can keep the records of the blood in the system instead of recording manually.
Fig.13 Notification page.
The admin can post any notice related to Blood such as blood campaign. The admin also has the privileged to delete and edit the notifications posted earlier.
Fig.14 Post Notification
Fig.14 shows posting of the notification by providing the title and the body of the notification.
The admin can view, edit and delete all the feedbacks provided by the users as shown in Fig.15.
Availability of blood
Fig.16 Blood Information.
The admin has to keep the record of blood such as blood type, quantity, units and types of blood. The admin can also edit and delete the blood availability.
Fig.17 Manage User Page
The admin has the right to view the list of all the users. He also has privilege delete the registered users.
Blood is vital for the survival of all mortal beings and blood donation is the most precious contribution for helping others and saving the existing lives. Across the globe, there is an urgent requirement of any blood group. In any emergency situations such as accidents, major surgeries and delivery, a large quantity of blood is needed. Therefore, a requirement for a proper medium for finding blood donors with greater efficiency inevitable. Finding a blood donor in a critical situation is strongly correlated with the medium people use for finding a blood donor. Understanding the difficulty of finding the right blood donor across the globe, even in Bhutan is left unaddressed to this date. Studies show that people dominantly use social media as a medium to look for blood donors in emergency cases. The challenges with the current situation are difficulty in finding the right donor at the right time. Therefore, the current strategies are not efficient and there is a need to create a separate medium for this purpose.
Bhutan being a religious country where people gain happiness by giving and being compassionate, it is only natural that such a platform will benefit people in need immensely. Therefore, this app with the theme “The problem is not insufficient number of donors but finding a willing donor at the right time,” called 24*7Blood can be used by the user to find the right blood donor at the right time.
This application would help in finding the right donor in a convenient way with minimum wastage of time and energy. This application will serve as a platform for users to directly contact willing donors with the use of calling facilities.
We would like to take this opportunity to thank our guides, Mr. Parshu Ram Dhungyel and Mr.Gagan Deep Singh, for their immense guidance, help and support rendered towards us during the entire project. Without their help and guidance, this project would not have taken any form. We are thankful to Department of Information and Technology, especially the reviewers for giving us valuable feedbacks after each review without which we won’t be able to take forward. We are much indebted to all the feedbacks and suggestions provided after various presentation. Especially, we would like to thank the College of Science and Technology for providing the necessary facilities such as lab and internet which is an important component of the project to be successful. We are grateful to BE4IT students for giving us the necessary support, feedback and for cooperating to teach and learn from each other. This project would not have been possible if we did not have the support of many individuals and organizations. Therefore, we would like to extend our sincere gratitude to all of them.
Akshay Singh, Sakshi Sharma, Shashwat Singh. (2016). Android Application Development using Android Studio and PHP Framework. International Journal of Computer Applications, 5-8.
Bhavsar, S. (n.d.). What is Laravel framework? Retrieved June Saturday, 2018, from Quora: https://www.quora.com/What-is-Laravel-framework
Friesen, J. (2016, August). Android Studio for beginners, Part 1: Installation and setup. Retrieved June Tuesday, 2018, from JAVAWORLD: https://www.javaworld.com/article/3095406/android/android-studio-for-beginners-part-1-installation-and-setup.html
Gupta, S. (2017, December). What is Laravel framework? Retrieved from Quora: https://www.quora.com/What-is-Laravel-framework
Nilsson, J. (2017, August). What is Laravel framework? Retrieved from Quora: https://www.quora.com/What-is-Laravel-framework
Prof. Snigdha, Varsha Anabhavane, Pratiksha lokhande, Siddhi Kasar, Pranita. (2016). Android Blood Bank. nternational Journal of Advanced Research in Computer and Communication Engineering, 5(4), 612-618.
Snigdha, Varsha Anabhavane, Pratiksha lokhande, Siddhi Kasar, Pranita. (2016, April). Android Blood Bank. International Journal of Advanced Research in Computer and Communication Engineering, 5(4), 612-618. Retrieved June Tuesday, 2018
Vishal V. Parkar, Prashant P. Shinde, Sanket C. Gadade,Prasad M. Shinde. (n.d.). Utilization of Laravel Framework for Development of Web Based Recruitment Tool. IOSR Journal of Computer Engineering , 36-41.
What is MySQL Tutorial. (n.d.). Retrieved from SiteGround: https://www.siteground.com/tutorials/php-mysql/mysql/