1|Page Table of contents I. Present and Justify a Problem and Solution Requirements • • • • • Egypt Grand Challenge(S). Problem to be solved. Research. Other solutions already tried. Design Requirements. II. Generating and Defending a Solution • • Selection of Solution. Selection of prototype. III. Constructing and Testing a Prototype • • • Materials and Methods. Test Plan. Data Collection. IV. Evaluation, Reflection, Recommendations • • • Discussion. Recommendations. Learning outcomes. 2|Page Chapter 1 I. 3|Page . Present and Justify a Problem and Solution Requirements Egypt grand challenges • Urban congestion • Recycle garbage and waste • Alternative energy • Public health issues/disease • Industry and agricultural in Egypt • Population growth (over population) • Arid areas • Clean water • The scientific and technological environment for all • Climatic change • Pollution fouling our air, water and so. We will briefly discuss our change and the related ones only: Public health: The challenge addressed this semester is the public health, which has been suffering hard recently due to various factors. Firstly, the declining quality of hospitals and medical serves as the healthcare expenditures range from 3 % to 5 % of Egypt's GDP. Secondly, the frequent pollution increments which increased the rate of the lower respiratory infections with 23.7% in the last 10 years in Egypt. Finally, the increasing rates of disease emergency cases like heart attack which increased with 33.5% and strokes which increased with 25.7% recently. 4|Page ✓ We will briefly discuss our change and the related ones only: I. Public health: The challenge addressed this semester is the public health, which has been suffering hard recently due to various factors. Firstly, the declining quality of hospitals and medical serves as the healthcare expenditures range from 3 % to 5 % of Egypt's GDP. Secondly, the frequent pollution increments which increased the rate of the lower respiratory infections with 23.7% in the last 10 years in Egypt. Finally, the increasing rates of disease emergency cases like heart attack which increased with 33.5% and strokes which increased with 25.7% recently. As shown in figure (1). Figure (1) 5|Page II. Pollution: Egypt has been suffering from pollution as Cairo is recognized as one of the top 10 polluted cities all over the world. The major types of pollution found in Egypt are the air and water pollution. And unfortunately, they are strongly related to the public health issues in Egypt Air pollution is directly related to the lower respiratory system infractions which contribute with 23% of dieses rate in Egypt 2017.in addition, over 43000 Egyptian died from air pollution, WHO said in its report. Water pollution is a severe problem in Egypt, it contributes in many diseases especially parasitic disease like Bilharzia. In addition, untreated drinking water and fecal contamination of water is the major cause of diarrhea which is the 14th major disease-causing death in Egypt III. Urban congestion: One of the related challenges to the public health. Traffic congestion in Egypt has many causes: fuel subsidies result in cheap petrol and diesel, which in turn result in more private cars on the streets, meanwhile the lack of parking areas results in cars having to turn back or park incorrectly on the streets prompting further traffic jams. Although the number of metro commuters is high, the metro only reaches a limited number of places in the city. Also, public transport buses are few in number and outdated, thus prompting people to use other buses and taxis to get by. However, the latter generally need to be cleaner, safer and be able to better load and unload passengers. There are also few areas for pedestrians to cross the streets and street peddlers often occupy these areas and the sidewalks, making things worse. Moreover, there are many problems related to the construction of roads where there are few street lights, stop signs and crossroads; people also find awful corners and U-turns that are either very sharp turns or are very narrow thus not allowing drivers to make smooth U-turns. Drivers also behave badly and irresponsibly added to the poor implementation of traffic laws, which causes the public to undermine traffic regulations. Economic costs incurred due to traffic congestion in Cairo may reach almost a 4% loss from the Egypt's annual gross domestic product (GDP). Not only are but also these economic costs limited to an increase in the amount of time taken to get from one place to another, but also include a rise in costs due to excessive fuel consumption as well as having negative effects on people's health due to air pollution, accidents and economic production effects. Combined, the economic cost resulting from traffic congestion reaches about 4% of Egypt's GDP. As shown in figure (2). 6|Page Figure (2) Problem to be solved The challenge we are addressing this semester is the public health. Public health: “Communities and countries and ultimately the world are only as strong as the health of their populations.” If you thought about this quote, you will find how it is very true, and we can see today. There is big relation between countries GDP and income and their population’s. Because as the health deceases the productivity of the population decreases leading to lower incomes and works. Vice versa.as the income the country decreases the percentage of unhealthy people and sever deaths increases as shown in figure (3), (4). 7|Page Figure (3) Figure (4) But what is exactly the public health? Public health generally is the health of the population holistically, especially as the subject of government regulation and support. In Egypt, Medical care offered by the public health insurance system is generally of poor quality. Government hospitals are known to be rife with negligence and generally provide minimal care, in addition, Healthcare expenditures range from 3 percent to 5 percent of GDP. And unfortunately, with this low care, accidents and disease victims are increasing daily with no noticeable change in the public health care. Worthy to say that that no communicable diseases (NCDs), including cardiovascular diseases, diabetes, cancer, and chronic respiratory diseases, are currently the leading national cause of death in Egypt. NCDs are estimated to account for 82% of all deaths in Egypt and 67% of premature deaths. These conditions which are very common in Egypt aren’t fully treated yet. Figure (5) shows the percentage of increases deaths due to the commonest diseases. 8|Page Figure (5) But disease is not the only factor of deaths or lowered health in Egypt when it comes to the public health, the daily accidents plays their role and this problem is mainly related to traffic in Egypt and high speeds people drive with in some roads and not following the rules. Egypt loses about 12 000 lives due to road traffic crashes every year. It has a road traffic fatality rate of 42 deaths per 100 000 population. Majority (48%) of those killed are passengers of four-wheelers though pedestrians also constitute a significant proportion (35%) of these fatalities. According the Egyptian ambulance system, the ambulance orders per day increase recently with 20%.in case of accidents Egypt’s ambulance is really doing their job well but the problem here is these 3 factors (these factors are our main focus in the application): 1-ambulance can be late at most of the times, due to the high traffic gam especially if the patient is very far and keep mind that the time of treatment is as important as the treatment (a delay may lead to death in some times, in heart attacks for example) 2-Actions of the lack experience people which sometimes to sever complications 9|Page How is this? in Egypt, if someone fainted or anything people instantly give him a cup of water and sugar and may give him any drug with not knowing the condition, they may also carry him in a wrong way and unfortunately although it sounds simple as this seems, it is not .in some cases id someone was hit in his back a wrong way of carrying can cut his spinal cord. This actually happened before 3-low awareness of the first aids and what to do in the common cases which can rescue people’s life or let it go at second. Ex: in heart attacks as shown in figure (6): 1- Try to keep the patient calm and prevent him from moving 2- If his breathing suddenly stops, instantly do CPR for him to refresh his heart and make it beat Figure (6) EX: In case fire is catching someone as shown in figure (7): 1- Never try to atop the fire using water as it will just make a shock to the body and patient may die 2- Never let him run as oxygen in air is making the fire worse 3- Instead make him/ her roll on the floor and it will be okay and the fire will stop ➢ In addition to the simple aids like the normal burns Figure (7) 10 | P a g e Public health issues in Egypt: 1234- Low money spent in the health care Disease and availability of their risk factors Pollution Low qualified hospitals and serves. 1) Low money spent in the health care: A county’s GDP is Gross Domestic Product (GDP) is the monetary value of all finished goods and services made within a country during a specific period. GDP provides an economic snapshot of a country, used to estimate the size of an economy and growth rate. As we said before Egypt spend from 3% to 5.6% according to WHO (world health organization) of its GDP. Worthy to say that Egypt is not a poor country tough as shown in the figure (8). Figure (8) 11 | P a g e 2) Disease and availability of their risk factors: We mentioned before (previous pages) how Egypt is suffers from many diseases and how they contribute in most of the deaths (87%). But the problem is not only the disease, but also the wife availability of their commonest risk factors, according to WHO and ministry of population survey: • 24% prevalence of smoking and a growing use of shisha tobacco. • one of the most overweight populations in the world, with 66% of women overweight and 42% obese and almost three quarters of the population not involved in vigorous activity. • 17% prevalence of diabetes. • 40% prevalence of hypertension. Egyptians have an average daily salt intake of 9 grams, nearly double the recommended allowance. Recognizing the significant burden and continued negative impact NCDs (Noncommunicable diseases (NCDs), including cardiovascular diseases, diabetes, cancer, and chronic respiratory diseases,) can have on social and economic development, the government of Egypt has made positive progress through the establishment of an NCD Unit within the MoHP. 3) Pollution: Pollution is playing a big role in raising the health issues in Egypt. Through all its types. The main types of pollution in Egypt are: ➢ Air pollution ➢ Water pollution 12 | P a g e • Air pollution: This kind of pollution is directly related to the lower respiratory system infractions which contribute with 23% of dieses rate in Egypt 2017.in addition, over 43000 Egyptian died from air pollution, WHO said in its report. The common disease in Egypt to the lower the acute lower respiratory, chronic obstructive pulmonary, strokes and ischemic heart dieses and Figure (9) lung cancer, which if you looked up in figure (5), you will find them taking the 1st ,2nd and 5th place among the most common patients killers and infectors in Egypt recently. Air pollution in Egypt is mainly due to the small particles of dust and smoke coming out from industries, vehicles especially the public ones which are very common and open-air waste burning which is also very common.one additional reason is the windblown dust from aired areas which are about 96% of Egypt’s total area. Suspended dust (measured as PM10 and TSP) can be seen to be a major air pollution problem in Egypt. PM10 concentrations can exceed daily average concentrations during 98% of the measurement period. The Exceedances are highest in industrial areas. On the other hand, it seems that the natural background of PM10 in Egypt may be close to or around the Air Quality Limit value. In addition to particles, also SO2 in urban areas and in industrial areas, as well as NO2 and CO in the streets may exceed the Air Quality Limit value. Figure (10) Figure (9) shows the percentage of exceedance of PM10 to air quality limit value of Egypt during 2009. Figure (10) shows the death rates due to air pollution in Egypt. 13 | P a g e • Water pollution: Water pollution is a severe problem in Egypt, it contributes in many diseases especially parasitic disease like Bilharzia. In addition, untreated drinking water and fecal contamination of water is the major cause of diarrhea which is the 14 th major disease-causing death in Egypt as shown in figure (5). 4) Low qualified hospitals: It is known that Medical care offered by the public health insurance system is generally of poor quality. Government hospitals are known to be rife with negligence and generally provide minimal care. But, is this true? Unfortunately yes, most of Egypt public hospitals are so bad and low qualified, this is mainly due to the bad management and the very low amount of money spent to improve the devices and equipment needed.in contrast the private hospitals and the free ones (charity) in Egypt are very well like Magdy Yakoub’s hospital, 57357 and private hospitals and few public ones. but as poverty is very wide common Egypt as it was said by State-owned Central Agency for Public Mobilization and Statistics (CAMPAS) (2019) that who live in extreme poverty, rose to 32.5 in 2018 from 27.8 percent in 2015, with an increase of 4.7 percent, mentioned that the highest percentage of poverty among 99 million Egyptians was recorded in Upper Egypt, mainly in Assuit and Sohag, with 66.7 percent and 59.6 percent respectively, the survey revealed, adding that poverty rates ranged from 80 to 100 percent in about 46 villages in these two governorates. Anyway, what happens is that mostly the public hospitals are the used ones, and this is the serves they give: (Kidney dialysis center in Helwan): Figure (11) 14 | P a g e Figure (12) ❖ The common problem facing the public hospitals in Egypt due to the low quality: • • Pollution every where Very old beds and equipment, even hospitals in some regions often lack the equipment and means to treat the cases they receive and so transfer them to this hospital Some basic devices are not even available. The lack of security in the hospitals also means that thugs bring altercations into the hospital A lot of doctors get infected while treating patients due to the low level of infection prevention • • • ➢ These factors result in loss of life. Here are some points the doctors mentioned in as survey made by English Aharam Corporation in Egypt: 1) They often have to transfer patients in critical condition to other hospitals because of lack of space in the ICU, 2) “Hospitals do not lack space but basic equipment is sparse too” 3) Dr. Khaled Abdel-Rahman, the coordinator of the doctor’s strike in Nile Delta governorate Dakahliya, said that he often has to bring his own thermometer and blood pressure units to work because there are not any available in the hospital. 4) “In incident in the Upper Egyptian governorate of Minya, a man broke into an operating room and stole the kidney of the patient.” (low security) 5) “The low income often forces doctors to seek work in private institutions alongside their work in public hospitals. However, balancing two jobs is not easy and doctors begin to make mistakes” 6) “This oversight is the reason why many patients face medical complications and why Egypt has the highest rates of Hepatitis C in the world” 7) “Now that millions of Egyptians live with the virus, doctors dealing with patients end up getting infected too” 8) “I remember the man who lost three children because they desperately needed to be in the ICU and all three beds were taken” 15 | P a g e ✓ But the great news is that ministry of public is taking action toward these problems trying to improve the quality and provide the needed devices & places. Why did we choose his challenge to work on? ➢ To rescue people lives as much as we can. ➢ Because public health of population is directly related to the country’s development and productivity. ➢ Raising the awareness of people about what they can do in emergency cases to take a positive action instead of watching or giving wrong instructions. ➢ Help in improving public health by helping the patients. Research Researched topics about the problems: 1234- Quality of public hospitals Public health in Egypt What causes the most deaths? Noncommunicable diseases Quality of the public hospitals: It was found that the quality often hospitals in Egypt and the serves is very low. Also, it was found that the only about 3% of Egypt’s GDP is used to improve Egypt’s public health which is very low. It was found also that some hospitals do not even have beds, some doesn’t have the basic devices and other are suffering from the pollution. Public health in Egypt: It was found that Egypt’s public health is getting worse over the years. According to WHO (World Health Organization), 87% of Egypt’s deaths are due to 16 | P a g e noncommunicable diseases (NCD) like cancer, diabetes, heart attack and strokes. (Noncommunicable diseases, n.d.). A lot of factors caused this situation. These factors include: • • • Increasing rates of water and air pollution increasing rates of deaths low qualified medical serves Also , there are some factors like the usual ambulance delay which is mainly due to traffic jams and the increment in ambulance requests (increased by 25% in the last year according to an Egyptian ambulance agent) and finally the lack of awareness of first aids and common risk factors like obesity and smoking (Chronic Disease Risk Factors, 2015). What causes the deaths? It was found that 87% of deaths in Egypt are due to the disease, in addition it was found that 150 in each 1000 die in accidents. 4-Noncommunicable diseases (NCDs), including cardiovascular diseases, diabetes, cancer, and chronic respiratory diseases, are currently the leading national cause of death in Egypt. NCDs are estimated to account for 82% of all deaths in Egypt and 67% of premature deaths. The 2011/12 STEPwise survey, conducted by the Ministry of Health and Population, in collaboration with WHO, revealed a significantly high prevalence of risk factors for NCDs among the adult population, including: • a 24% prevalence of smoking and a growing use of tobacco. • one of the most overweight populations in the world, with 66% of women overweight and 42% obese and almost three quarters of the population not involved in vigorous activity. • a 17% prevalence of diabetes. • a 40% prevalence of hypertension. Egyptians have an average daily salt intake of 9 grams, nearly double the recommended allowance. Breitling Emergency II watch as a prior solution: 17 | P a g e It is the first-ever made watch with a dual-frequency locator beacon. It was made mainly for pilots, sailors, and other adventurers so that if they were separated and someone was in danger, he can click on the button on the watch which will instantly send a notification from the watch to another device which acts as a controller with the exact place. It includes a built-in personal locator beacon (PLB) and its dual frequency transmitter is compliant with the specifications of the Cospas-Sarsat international satellite alert system (pros). The only disadvantage about it is the fact that it is not widely used, in addition this, it is so expensive which makes it not available for the public use. (Szondy, 2013) Researched topics about the solution: 123456- Chronic Disease Risk Factors Software Development Life Cycle (SDLC) Android studio features and how to deal with it. Near Field Communication (NFC) technology. Java language and its functions. Basic first aid instructions. Chronic Disease Risk Factors What is meant by Risk Factor? Something that increases the chance of developing a disease. Being aware of risk factors protects you from many diseases, such as, cancer, diabetes, cardiovascular diseases and chronic respiratory which are the leading national causes of death in Egypt. These diseases are known as Noncommunicable diseases (NCDs) which are estimated to account for 82% of all deaths in Egypt and 67% of premature deaths. The most common Risk Factors? • Smoking • the harmful use of alcohol • raised blood pressure (or hypertension) • physical inactivity 18 | P a g e • raised cholesterol • overweight/obesity • unhealthy diet • raised blood glucose • being exposed to radiation or certain chemicals • infection with certain viruses or bacteria • certain genetic changes • History of family diseases Figure (13) Software Development Life Cycle (SDLC): SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines an agile methodology for improving the quality of software and the overall development process. 19 | P a g e Figure (14) is a graphical representation of the various stages of a typical SDLC. Figure (14) Android studio features and how to deal with it: Android Studio is the official integrated development environment (IDE) for Android application development. It is based on the IntelliJ IDEA, a Java integrated development environment for software, and incorporates its code editing and developer tools. To support application development within the Android operating system, Android Studio uses a Gradle-based build system, emulator, code templates, and Github integration. Every project in Android Studio has one or more modalities with source code and resource files. These modalities include Android app modules, Library modules, and Google App Engine modules. Android Studio uses an Instant Push feature to push code and resource changes to a running application. A code editor assists the developer with writing code and offering code completion, refraction, and analysis. Applications built in Android Studio are then compiled into the APK format for submission to the Google Play Store. 20 | P a g e Android Studio is available for Mac, Windows, and Linux desktop platforms. It replaced Eclipse Android Development Tools (ADT) as the primary IDE for Android application development. Android Studio and the Software Development Kit can be downloaded directly from Google. Near Field Communication (NFC) technology: Near Field Communication (NFC) technology is a standards-based wireless communication technology that allows data to be exchanged between devices that are a few centimeters apart. NFC operates at 13.56 MHz and transfers data at up to 424 Kbits/seconds. NFC is distinguished by its intuitive interface and its ability to enable largely proprietary wireless networking platforms to interoperate in a seamless manner. NFC-enabled mobile applications include: • • • • Making payments with a wave or a touch anywhere contactless card readers have been deployed Reading information and “picking up” special offers, coupons and discounts from smart posters or smart billboards Storing tickets to access transportation gates, parking garages or get into events Storing personal information that will allow secure building access Figure (15) 21 | P a g e Java language and its functions: Java is an object-oriented, class-based, concurrent, secured and general-purpose computer-programming language. It is a widely used robust technology. Java is a programming language and a platform. Java is a high level, robust, objectoriented and secure programming language. Platform: Any hardware or software environment in which a program runs, is known as a platform. Since Java has a runtime environment (JRE) and API, it is called a platform. Figure (16) Basic First aid instructions: First aid is the first and immediate assistance given to any person suffering from either a minor or serious illness or injury, with care provided to preserve life, prevent the condition from worsening, or to promote recovery. These diseases including allergies, sprains, asthma and heart attack. 22 | P a g e Solutions already tried Of course we are not the first people to think about this problem and how can contribute in solving them by exploitation technology for people’s health so that we can improve the technology in Egypt & contribute in people’s health improvement. Here are some already tried solutions: 1. Medical applications for quick drug delivery at any time: This kind of applications are very available and applicable in Egypt. The patient sends the doctor’s prescription to the application they read it and bring the drugs on time and what it makes them special is their 24 hours availability and speed (strengths). This benefits especially when a patient needs a drug at the middle of night surprisingly. ✓ Many apps are available from this kind, the famous ones in Egypt: • Yodawy-pharmacy delivery which us available and rated with 4.8/5 (fig 17) • 3elgai, available, allow you to search for products with their names or symptoms and rated with 4.2 /5. Figure ( 18) Figure (18) Figure (17) ➢ Negatives: Of course these apps are very useful but also they don’t make an obvious difference the problem we are addressing (unlike our application) 23 | P a g e 2. Medical apps that connects people with doctors Other kind of apps is those that connects people with professional doctors using phones and video calls or chats for high speed diagnose, medical consultation and to save people’s time and money (strengths) .Although they are not widely used in Egypt but they are useful and available. The most famous 2 applications from these kinds in Egypt are: • Estshara, 4.3/5, it allows you to get online consultations with professionals. Fig 19 • Altibbi, 4.1/5, which allows to talk to doctors and follow with same doctor if you wanted. Fig 20 Figure (19) Figure (20) ➢ Negatives: These applications are very useful also, but the negative point is that there is no guarantee that the doctor you are talking to is a professional (we solved this point in our app). They are not specialized in emergence (the focus of our application) cases which makes them don’t usually answer quickly according to people comments, in addition, they are not fully free and the worse that they don’t notify you with this before you enter your phone number (according to people ratings). 24 | P a g e 3. First aids apps: First aids apps are available too. These applications tells you what to do in some emergence cases like first degree burns for example making them very important. They are the most used kind among the kinds of medical apps as they are usually trusted and due to their big importance. A very popular global app which works for this purpose is First Aid-IFRC (logo is shown in figure 21), this application do not only support simple situations like burns or bleeding but also the sever ones like Asthma attacks, allergies and heart attacks. In addition, this application is known for its accuracy and how it gives instructions to the point and in a very simple way, so any one could help and understand and easily.In addition it supports Figure (21) Figure (22) videos to show the steps exactly as shown in Figure 22(not just photos and text). ➢ There are no negatives to this application. 25 | P a g e 4. The breitling watch the Emergency watch or the ‘breitling emergency watch’ .it is the first-ever made watch with a dual-frequency locator beacon.it was made mainly for pilots, sailors, and other adventurers.so that if they divided and someone was in danger he can click on the button on the watch which will instantly send notification from the watch to other device which act as controller with the exact place. It includes a builtin personal locator beacon (PLB) and its dual frequency transmitter which is compliant with the specifications of the Cospas-Sarsat international satellite alert system (pros). Figure (23) The Emergency II is the developed version of the earlier Breitling Emergency, which only transmits on a single analog frequency. It’s intended for survival and critical emergency situations that can happen without a second's warning, such as plane crashes, ship sinkings, mountaineering accidents and the sort of potentially fatal mishaps that can occur in deserts, jungles and ice caps around the world. The Emergency II puts out signals alternately on two frequencies. The first is a digital signal on 406 MHz that goes out for 0.44 seconds every 50 seconds, and the second is an analog signal on 121.5 MHz lasting 0.75 seconds every 2.25 seconds. This dual frequency isn’t just to be thorough. It’s a strategy that not only helps to ensure that the emergency signal reaches the search and rescue teams, but also helps them to zero in on the target 26 | P a g e Its structure: ✓ This weight comes from not only the massive titanium case, but also because that case holds a PLB Category 2 beacon micro-transmitter. This in itself required a lot of R&D to squeeze the electronics into even a watch the size of a doorstop. It also has to work for 24 hours, so that means a bespoke battery that can not only punch out enough power for a satellite to pick up, but that can also be recharged regularly, so that power will actually be there in an emergency. It’s all part of the international Cospas-Sarsat system, which has saved 26,000 lives since 1985. It’s based on a network of satellites in low-altitude earth orbit (LEOSAR) and in geostationary orbit (GEOSAR) along with ground stations and coordinating centers around the world. The satellites work on 406 MHz, which, theoretically, should be all that’s needed to find those in distress, since the Cospas-Sarsat system doesn’t listen to other frequencies. However, many search and rescue systems use the older 121.5 MHz and it’s still very useful for making those last-minute location fixes before visual contact is made. For this reason, dual-frequency transmitters are preferred. The other half of the equation is the integrated antenna system. Designed to be used by someone who may be hanging upside down from a rock wall with broken bones, it’s made in two sections so that the transmitter can select between part or all of the antenna when switching between frequencies. Turning on the beacon is a simple matter of unscrewing the right-hand antenna cover. This also unscrews the left-hand cover. From there, pulling the antennae free and extending them activates the beacon, and the signal starts going out. . 27 | P a g e Figure (24) Negatives: a) So expensive making it not allowed for the public use as the Emergency II sells for about US$17,000 or, if you want a titanium bracelet instead of a rubber strap, about US$18,600. b) Made especially for some people like sailors, adventurers and pilots making it hard to suit with the public use. c) Part of the battery’s problem is that the Emergency II works on two different frequencies. These mean different power demands ranging from 30 to 3000 mW, hence the need for a rechargeable lithium-ion battery separate from the watch movement’s silver oxide battery. d) Not widely available .As it is available in certain countries only. 28 | P a g e Chapter 2 II. Generating and Defending a Solution 29 | P a g e Design requirements (Characteristics would a successful solution or application have) ▪ Capacity. ▪ Responsiveness. ▪ Ability to modify to work in other spoken languages. ▪ Raising the awareness of a community due to using the app. ▪ The percentage of people taking action. Capacity It is how many and how big are the things the application can work with. This design requirement will be met if the application made can work with big database which provide comfortable using to the user that work with the application. Responsiveness It is the time the application needs to take action and it can be also the difference in speed to take action in our real life with and without the application This can be met when the application takes action in suitable time for example if application takes 5 minutes to take action like opening the application, it haven’t met this design requirement because it have to take action quickly. Ability to modify to work in other spoken languages It is the ability of application to be turned into many languages and its very important because it provide using the application to people from many countries. This will be met when many people from other countries use the application. Raising the awareness of a community due to using the app. The awareness is the knowledge and the understanding of something happens or exists. This design requirement can be met when the application or solution increases the information users have, such as first aid instructions. It also can be measured when a survey is made and a huge number of people, doctors and so on say this solution will raise the awareness among people. 30 | P a g e The percentage of people taking action This design requirement represents the amount of people taking action and the action may be learning or helping other people in anything. As a result, if the solution increases percentage of volunteers that may help in many categories or increase the ability to learn or increases percentage of learners, the design requirement will be met. Our design requirements are: ▪ Raising the awareness. ▪ The responsiveness of the application. Raising the awareness: This design requirement was chosen because of the lack of awareness about basic first aid instructions and common risk factors among people. In order to meet this design requirement, two buttons were added in the application one is called “first aid instructions” which includes the instructions of the first aid in the most emergency cases, such as heart attack and asthma. The other button is called “Be aware!” which contains the most common risk factors for the most chronic and severe diseases such as cancer and diabetes. Then, two surveys were made to ensure that the application could raise the awareness of the people. One of them was made among people and the result was that 100% of them said the application would raise the awareness. The other survey was made among 10 emergency doctors and the results were that 60% of them said the application is excellent in raising the awareness and 40% said the application is good in raising it. Responsiveness This design requirement was chosen because of the time that the ambulance takes to reach the emergency case which is 30:40 minutes (according to Egyptian ambulance agent). In contrast, the patients could be rescued in about 15 minutes while using the application. He code was made in a way that makes the application fast and ensure that the responsiveness of it is high. This was applied as the application proved to show quick response for the user’s request making a fast connection between the user and the doctor for help. This design requirement was met by testing the delay time of the application to see if it works sufficiently, the application takes only 3 seconds to respond. This is a proof of its high responsiveness. 31 | P a g e Selection of solution In brief, the public health is such a severe problem affecting Egypt’s population really hard, in this semester we focus on 2 parts of this problem which are: ✓ Emergency cases to save more people and try to lower the deaths and complications as possible ✓ Raising awareness to avoid sever disease like cancer or diabetes ✓ Raising awareness of people to learn how to deal with several cases in order to lower the probable complications The solution made was an application (called “Save!”) that allows: 1-follwing up with professional doctors. 2-in emergency cases ,using the button “emergency” , the app starts detecting the place of the nearest doctor to save the patient until the ambulance come (Usually takes 30 min-45 min to arrive). 3-provides the user with the basic first aid instruction for several cases like heart attacks, fainting, burns and strokes using the button “First aid instruction” 4-provides the user with knowledge about the common risk factors (ex: obesity and smoking) for the commonest dangerous disease. We will talk in details about each part of the app and why we choose it but firstly we will talk about the tools used in building the application. 32 | P a g e Building an application To build an application you need to follow these steps: 1) Make a scenario 2) Choose integrated developing environment (IDE) 3) Choose the programming language you will use 4) Design the app’s interface using XML 5) Write the codes and connect them to their buttons 6) Run the application 7) Test the application and apply debugging ➢ The first 3 steps will be discussed in the selection of the solution below, while the other 4 steps will be discussed in the selection of prototype. I. Figure (25) Making a scenario The first step to build an application is to make a scenario. The scenario serves as the initial vision for the application that the programmer uses to construct the application. The app’s scenario must include the interface, all the subpages, all the buttons and their functions. It can be made on a paper or using illustrator or Photoshop. In our project, we made the scenario after making the logo using illustrator (shown in figure 25) the scenario was made at first using a paper, in which we included the interface, its buttons and their functions. Then we modified the scenario and made it using Photoshop to make a clearer vision. The final scenario is shown in figure 26. As mentioned, the scenario is just the initial vision for the whole application, meaning that adding modifications (extra button, changing colors, etc...) is allowed. 33 | P a g e Figure (26) II. Choosing the IDE An integrated development environment (IDE) is a software set that combines the basic tools required to write and test software. For an application to be made, a developer needs some tools like: libraries, codes, compilers and testing platforms. Without an IDE, he/she will have to deal with these tools separately makes it harder to build an application. An IDE brings many of those development-related tools together as a single framework, application or service. The integrated toolset is designed to simplify software development and can identify and decreasing the probability coding mistakes and typos. Some IDEs are open source while others are closed sources. Open sources: • • • • Refers to software that uses the code freely available on internet. The code can be copied, modified or deleted by other users and organizations. As result of being open to public, it is constantly updates, improves and expands as more people can work on its development, and also Open source software offers an ability to change the source code without any restrictions Free software Not fully secure but automatically fixed any error or bug found Ex: Android studio 34 | P a g e Closed sources: • • The exact opposite to open source and means that the software uses the proprietary and closely guarded code. Only the original authors of software can access, copy, and alter that software. In a case with closed source software, you are not purchasing the software, but only pay to use it.it doesn’t offer the ability to access the source code, meaning Paid software • More secure Benefits of IDE: ➢ Improve the productivity of software developers due to the fast setup and standardization across tools. ➢ Without an IDE, developers spend time deciding what tools to use for various tasks, configuring the tools and learning how to use them. Many or even all of the necessary development-test tools are included in one integrated development environment. ➢ IDEs are also designed with all their tools under one user interface. An IDE can standardize the development process by organizing the necessary features for software development in the UI. In our application we choose the android studio to work with as our IDE to build the application. Android studio: Android studio is an official open source integrated development environment for android app development, it is one of the top of Intel’s code editors and developer tool as it offers so many features that enhances the developer’s productivity when building android apps. Worthy to say that android studio supports only 2 programming languages which are kotlin and java • A flexible Gradle-based build system • A fast and feature-rich emulator 35 | P a g e Figure (27) • A unified environment where you can develop for all Android devices • Apply Changes to the code and resource changes to your running app without restarting your app • Code templates and GitHub integration to help you build common app features and import sample code • Extensive testing tools and frameworks in addition to the visual test. • Lint tools to catch performance, usability, version compatibility, and other problems • It supports C++ and NDK • easy to integrate Google Cloud Messaging and App Engine • supports debugging which searches for any errors in the code and pick them to the user automatically in an accurate way for faster performance Project structure in android studio: Each single project in the android studio contains one or more module with source code files .The types of these codes include: 1. Android application module 2. Library module 3. Google app engine modules 36 | P a g e Android Studio shows your project files in the Android project view, as shown in figure 28. This view is organized by modules to offer the required quick access to your project's key source files. All the build files are visible at the top level under Gradle Scripts and each app module contains these folders: • manifests: Contains the AndroidManifest.xml file. • Java: Contains the Java source code files, including JUnit test code. • res: Contains all non-code resources, such as XML layouts, UI strings, and bitmap images. The Android project structure on disk is different of course Figure (28) from this flattened representation. To see the actual file structure of the project, select Project from the Project dropdown (in figure 29, it is shown as Android). You can also customize the view of the project files to focus on specific aspects of your app development. For example, selecting the Problems view of your project will only let the links to Figure (29) The source files containing any recognized coding and syntax errors, such as a missing XML element closing tag in a layout file. 37 | P a g e The user interface in the android studio: Figure (30) 1. The toolbar lets carrying out a wide range of actions, including running the application and launching Android tools. 2. The navigation bar helps in navigation through the project and opening files for editing. It provides a more compact view of the structure visible in the Project window. 38 | P a g e 3. The editor window is where the user can create and modify code. Depending on the current file type, the editor can change. For example, when viewing a layout file, the editor shows the Layout Editor. 4. The tool window bar runs around the outside of the IDE window and contains the buttons that allow expanding or collapsing individual tool windows. 5. The tool windows give the user the required access to specific tasks like project management, search, version control, and more. You can expand them and collapse them. 6. The status bar shows the status of your project and the IDE itself, as well as any warnings or messages. You can organize the main window to give yourself more screen space by hiding or moving toolbars and tool windows. You can also use keyboard shortcuts to access most IDE features. At any time, the user is allowed to search across the source code, databases, actions, elements of the user interface, and so on, by double-pressing the Shift key, or clicking the magnifying glass in the upper right-hand corner of the Android Studio window. This can be very useful if, for example, it is tried to locate a particular IDE action that was forgotten how to trigger. ➢ The figure below is the user interface of our application. Figure (31) 39 | P a g e Choose the programming language you will use In order to make an application, codes are required.so we needed to choose a programming language to write the needed codes for t eh application. As we choose the android studio of work with, we did not have many options. As it only supports kotlin and java, finally we chose the java instead of the kotlin for the reasons below. Java: First of all, java is a programming language and computing platform first released by sun microsystems in 1995.It is known for its fast, secure and reliable. Java is mostly used for standalone applications or back-end development. Java was designed by James Gosling and its major implementation was OpenJDK. Java is the primary choice for most of the developers when it comes to Android application development as Android itself is written in Java.it can be run ios, androids and websites. In addition, it is an open source and supported by the android studio Kotlin Kotlin is a new programming language developed by programmers from IDE Jet Brains which handles some of the modern features to it. It is an open-source language. Kotlin is also a statically typed programming language like Java, C++, which based on JVM (Java Virtual Machine) but it can be compiled to JavaScript , Android and Native also for building code and run on Ios . Kotlin is fully compatible with existing Java stacks with a smooth learning curve. Switching from Java to Kotlin is very easy as we just need to install a Plugin. During the Google I/O keynote, it announced that they making Kotlin an officially supported language for Android application development. 40 | P a g e What is the difference between java and kotlin? • • • • In Kotlin, we don’t have checked exceptions, which is a disadvantage as it leads to error pronecode whereas Java has support for checked exceptions by which we can perform error handling. Java compilation time is 15-20% faster than Kotlin compilation time but in perspective of incremental build compilation, Kotlin will also take same compilation time as Java. Kotlin has the support of type inference which means we don’t need to specify the data type of variable explicitly whereas in Java we need to specify explicitly. Java is easier for beginner compared to the kotlin due to its repeated functions. There is a lot many other difference (some are shown in figure 32) but all of them leads to the same results which is that the java has more advantage over the kotlin. Figure (32) 41 | P a g e How will the app solve the problem? Two surveys were made at first to figure out the main reason behind the general carelessness with emergency cases in Egypt which leads to high death rates in addition to severe complications if the treatment was applied for the patient on time. We worked on this point especially as we fund that rates of main causing fatal emergency like strokes or heart attacks increased notably recently .It is estimated that the rates of heart attacks in Egypt increase with 35.9% and strokes with 25.7% in the last 3 years. As mentioned before two surveys were made to determine the main reason behind carelessness with emergency cases. The first survey was made on Google forms for people. The results are shown in the figure 33 below. Figure (33) 42 | P a g e Another survey was made on 10 emergency doctors to ask them same question, we chose the emergency doors especially for this survey due to their experience in this field. The results for the question is shown in figure 34 . Figure (34) From these results we deduced that the major reason is the delay of the ambulance, so we decided to make an application that fastens this process, so we made an application that connect the user with nearest doctor available which may be beside him but they simply do not know. For this to happen, the application supports GPS. The app specifically works as following, in emergency cases the user beside the patient will press emergency button which will give him 4 options (will be shown in next chapter) as: • First aid instruction • Scan NFC • Be aware! • Send location The user can use the button “send location” to enter his location which will be sent immediately to the admin, accordingly the admin will use GPS to see the nearest doctor to this point and send him the patient location to come immediately, when tested, this process took from10-15 minutes for the doctor to arrive if the 2 places are far from each other. Unlike the ambulance, which takes from 30 -45 minutes and sometimes more according to the emergency doctors and the ambulance agent in Tanta when we asked them. Trying to achieve high speed, we decided to make an NFC card which stores the medical history if the user of the app so that in the emergency cases the ambulance or the doctor or any user can scan it and know immediately his medical history for 43 | P a g e faster medical consult. For example if someone fainted in the street suddenly. By scanning the NFC card the user will be able to identify whether this man has hypertension or diabetes or anything else. So if it was found that this patient suffers from diabetes, they will immediately ring him the needed drug. This allows more accurate consults, minimizes the causes behind the case and protects the patient from the probable wrong instruction of the lack experienced people which consequently allows faster saving. How will the user get the card? There will be a tap in the app to tell the user the places where he can find it.it costs only 15 L.E which also makes it a practical solution suitable for the public use. Because at sometimes the cases are very critical that the first aid must be applied until any the doctor or the emergency doctor arrive, a tap called “first aid instruction” is added. This tap will include the first aid instruction for several emergency cases in very simple way in addition to the instructions that must be avoided in such a case. With a brief definition for the case. This includes the first aid of: ❖ Heart attack ❖ Bleeding ❖ 1st degree burns ❖ 3rd degree burns ❖ Asthma attack ❖ Allergies ❖ Strokes By this we made the app more effective as we fasten the process of treatment, lower the probable complications and lowering the deaths in such cases. “Prevention is better than cure” .This is one of the most famous and right quotes. We put this in our consideration while making the application. We wanted to make something to make the people more aware with the disease case so that they can avoid them which will accordingly improve eh public health of the individual and the population. In order to achieve this we added a button in the application called “BE aware!” this button includes the 44 | P a g e major common risk factor behind a lot of sever, fatal and chronic disease like cancer or diabetes. These risk factors include: • the harmful use of alcohol • raised blood pressure (or hypertension) • physical inactivity • raised cholesterol • overweight/obesity • unhealthy diet • raised blood glucose • being exposed to radiation or certain chemicals • infection with certain viruses or bacteria • certain genetic changes • History of family diseases Thus, the application helps in saving patient is emergency cases as fast as we could until the ambulance arrive whether by ordering the nearest doctors, calling him (as his data will be available) or by applying the first aid. In addition the app help in raising the awareness of pole with the famous common risk factors. Selection of prototype Android Studio, Java language and Firebase application were used in constructing the prototype. The prototype is an application to help people in emergency cases. It has many functions such as knowing the medical information about the patient using NFC which is a card used to store information and call it after scanning this card, allowing the patients to follow up with the needed doctors and informing about first aid instructions and common risk factors which are factors that increase the chance of developing a disease. Furthermore, the application could be used to send the location of the patients by the user to the admin, who consequently uses the data base to detect the nearest doctor and sends the patient’s location to him in emergency cases. Android Studio was used as an integrated development environment to design the interface of the application using XML file where the design of buttons, texts and photos were designed. This environment was also used to write the code using the Java language. In order for any object in the interface to be interactive, it must be connected by java code. For the application to apply its functions correctly, each patient must have an NFC card which when a doctor scan 45 | P a g e it, the medical history of the patient appears. The mobile using the application should have the NFC property in it. Constructing the prototype: XML file: First of all, in order to make any application the interface should be constructed first. In designing the interface, we used different objects, such as buttons, textboxes, images and linear layouts. We garbed them from “palette” and modified their properties such as, size, color, hint, onClick and id, from “Attributes” in the design file of XML or by modifying the code in the text file of the XML as shown in figure (35) Figure (35) Java file: In order to make any object response and do its job, a lot of functions and events were used to connect between the java file and the objects in XML file. 46 | P a g e The main features in the application: 1- The page of “sign_in_Fragenmt.xml” shown in figure (36) is the first page appears in the application Figure (36) 47 | P a g e The code of the main functions of this page: @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); loginPreferences = getActivity().getSharedPreferences("loginPref s", MODE_PRIVATE); loginPrefsEditor = loginPreferences.edit(); auth = FirebaseAuth.getInstance(); firebaseDatabase = FirebaseDatabase.getInstance(); databaseReference = firebaseDatabase.getReference(); email = view.findViewById(R.id.email_field); password = view.findViewById(R.id.password_field); sign_in = view.findViewById(R.id.sign_in_btn); guest = view.findViewById(R.id.guest_btn); forgotpassword = view.findViewById(R.id.forgot_password_txt); rotateLoading = view.findViewById(R.id.signinrotateloading); 48 | P a g e checkBox = view.findViewById(R.id.remember_me_checkbox); forgotpassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FirebaseAuth auth = FirebaseAuth.getInstance(); final String emailAddress = email.getText().toString(); if (TextUtils.isEmpty(emailAddress)) { Toast.makeText(getContext(), "please enter your email firstly", Toast.LENGTH_SHORT).show(); return; } if (emailAddress.equals("[email protected]")) { Toast.makeText(getContext(), "you can't reset admin account password", Toast.LENGTH_SHORT).show(); return; } auth.sendPasswordResetEmail(emailAddress) 49 | P a g e .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Toast.makeText(getContext(), "password reset email has been sent to : " + emailAddress, Toast.LENGTH_SHORT).show(); } } }); } }); saveLogin = loginPreferences.getBoolean("saveLogin", false); if (saveLogin) { email.setText(loginPreferences.getString("use rname", "")); password.setText(loginPreferences.getString(" password", "")); checkBox.setChecked(true); } 50 | P a g e sign_in.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { email_txt = email.getText().toString(); password_txt = password.getText().toString(); if (TextUtils.isEmpty(email_txt)) { Toast.makeText(getContext(), "please enter your email", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(password_txt)) { Toast.makeText(getContext(), "please enter your password", Toast.LENGTH_SHORT).show(); return; } if (email_txt.equals("[email protected]") && password_txt.equals("adminadmin")) { rotateLoading.start(); 51 | P a g e AdminLogin(email_txt,password_txt); loginPrefsEditor.putBoolean("savepassword", true); loginPrefsEditor.putString("pass", password_txt); loginPrefsEditor.apply(); if (checkBox.isChecked()) { loginPrefsEditor.putBoolean("saveLogin", true); loginPrefsEditor.putString("username", email_txt); loginPrefsEditor.putString("password", password_txt); loginPrefsEditor.apply(); } else { loginPrefsEditor.clear(); loginPrefsEditor.apply(); } } else { rotateLoading.start(); UserLogin(email_txt,password_txt); 52 | P a g e loginPrefsEditor.putBoolean("savepassword", true); loginPrefsEditor.putString("pass", password_txt); loginPrefsEditor.apply(); if (checkBox.isChecked()) { loginPrefsEditor.putBoolean("saveLogin", true); loginPrefsEditor.putString("username", email_txt); loginPrefsEditor.putString("password", password_txt); loginPrefsEditor.apply(); } else { loginPrefsEditor.clear(); loginPrefsEditor.apply(); } } } }); guest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) 53 | P a g e { Intent intent = new Intent(getContext(), GuestActivity.class); startActivity(intent); } }); } The function of each object and its code: • • • If the user forgets the password, it can be returned using the “forget password?” button. The e-mail will be required to send the password reset email to user’s email address. If the user is the admin, he cannot return his/her password. The email address and the password of the user should be entered first before clicking on “Log in” button. If it is clicked before entering one of them, an error message occurs to make them enter them. If the checkbox “Remember me’ is checked, the application saves the email and the password so, when the user enters the application again after closing it, he will find the account open. 54 | P a g e 2- The page of “sign_up_Fragenmt.xml” and its two main parts “Doctor” sign up and “Patient” sign up is shown in figure (37) Figure (37) The code of the main functions of this page: private void showDoctorDialog() { final Dialog dialog = new Dialog(getActivity()); dialog.requestWindowFeature(Window.FEATURE_NO_T ITLE); // before dialog.setContentView(R.layout.doctor_register_ dialog); dialog.getWindow().setBackgroundDrawable(new 55 | P a g e ColorDrawable(Color.TRANSPARENT)); dialog.getWindow().getAttributes(); dialog.setCancelable(false); WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()) ; lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; profile_image = dialog.findViewById(R.id.profile_image); first_name = dialog.findViewById(R.id.first_name_field); last_name = dialog.findViewById(R.id.last_name_field); email_address = dialog.findViewById(R.id.email_field); password = dialog.findViewById(R.id.password_field); phone_number = dialog.findViewById(R.id.mobile_field); address = dialog.findViewById(R.id.address_field); specialization_spinner = dialog.findViewById(R.id.specialization_spinner ); 56 | P a g e sign_up_btn = dialog.findViewById(R.id.sign_up_btn); cancel_btn = dialog.findViewById(R.id.cancel_btn); ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(getContext(), R.array.department, android.R.layout.simple_spinner_item); // Specify the layout to use when the list of choices appears adapter1.setDropDownViewResource(android.R.layo ut.simple_spinner_dropdown_item); // Apply the adapter to the spinner specialization_spinner.setAdapter(adapter1); specialization_spinner.setOnItemSelectedListene r(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { specialization_txt = String.valueOf(parent.getItemAtPosition(positio n)); } @Override public void onNothingSelected(AdapterView<?> parent) 57 | P a g e { } }); sign_up_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { first_name_txt = first_name.getText().toString(); last_name_txt = last_name.getText().toString(); full_name_txt = first_name_txt + " " + last_name_txt; email_txt = email_address.getText().toString(); password_txt = password.getText().toString(); mobile_txt = phone_number.getText().toString(); address_txt = address.getText().toString(); if (TextUtils.isEmpty(first_name_txt)) { Toast.makeText(getContext(), "please enter your first name", Toast.LENGTH_SHORT).show(); return; } 58 | P a g e if (TextUtils.isEmpty(last_name_txt)) { Toast.makeText(getContext(), "please enter your last name", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(email_txt)) { Toast.makeText(getContext(), "please enter your email", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(password_txt)) { Toast.makeText(getContext(), "please enter your password", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(mobile_txt)) { Toast.makeText(getContext(), "please enter your mobile number", Toast.LENGTH_SHORT).show(); return; } 59 | P a g e if (TextUtils.isEmpty(address_txt)) { Toast.makeText(getContext(), "please enter your address", Toast.LENGTH_SHORT).show(); return; } if (photoPath == null) { Toast.makeText(getContext(), "please add your picture", Toast.LENGTH_SHORT).show(); return; } if (specialization_txt.equals("Select your specialty")) { Toast.makeText(getContext(), "please select your specialization", Toast.LENGTH_SHORT).show(); return; } progressDialog = new ProgressDialog(getContext()); progressDialog.setTitle("Doctor Sign Up"); progressDialog.setMessage("Please Wait Until Creating Account ..."); 60 | P a g e progressDialog.setProgressStyle(ProgressDialog. STYLE_SPINNER); progressDialog.show(); progressDialog.setCancelable(false); //Toast.makeText(getContext(), full_name_txt, Toast.LENGTH_SHORT).show(); CreateDoctorAccount(email_txt,password_txt,full _name_txt,mobile_txt,specialization_txt,address _txt); loginPrefsEditor.putBoolean("savepassword", true); loginPrefsEditor.putString("pass", password_txt); loginPrefsEditor.apply(); //CustomerRegister(full_name_txt,email_txt,pass word_txt,mobile_txt,"Customer"); } }); profile_image.setOnClickListener(new View.OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { 61 | P a g e CropImage.activity() .setGuidelines(CropImageView.Guidelines.ON_TOUC H) .setAspectRatio(1,1) .start(getContext(), SignupFragment.this); } }); cancel_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show(); dialog.getWindow().setAttributes(lp); } private void showPatientDialog() { final Dialog dialog = new Dialog(getActivity()); dialog.requestWindowFeature(Window.FEATURE_NO_T ITLE); // before dialog.setContentView(R.layout.patient_register _dialog); 62 | P a g e dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.getWindow().getAttributes(); dialog.setCancelable(false); WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()) ; lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; profile_image = dialog.findViewById(R.id.profile_image); first_name = dialog.findViewById(R.id.first_name_field); last_name = dialog.findViewById(R.id.last_name_field); email_address = dialog.findViewById(R.id.email_field); password = dialog.findViewById(R.id.password_field); phone_number = dialog.findViewById(R.id.mobile_field); closest_number = dialog.findViewById(R.id.closest_mobile_field); address = dialog.findViewById(R.id.address_field); nfc_id = dialog.findViewById(R.id.nfc_id_field); personal_id = 63 | P a g e dialog.findViewById(R.id.personal_id_field); date_picker = dialog.findViewById(R.id.date_picker); date_edittext = dialog.findViewById(R.id.date_field); blood_spinner = dialog.findViewById(R.id.blood_spinner); sign_up_btn = dialog.findViewById(R.id.sign_up_btn); cancel_btn = dialog.findViewById(R.id.cancel_btn); ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(getContext(), R.array.bloodtypes, android.R.layout.simple_spinner_item); // Specify the layout to use when the list of choices appears adapter1.setDropDownViewResource(android.R.layo ut.simple_spinner_dropdown_item); // Apply the adapter to the spinner blood_spinner.setAdapter(adapter1); blood_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { blood_txt = 64 | P a g e String.valueOf(parent.getItemAtPosition(positio n)); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); sign_up_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { first_name_txt = first_name.getText().toString(); last_name_txt = last_name.getText().toString(); full_name_txt = first_name_txt + " " + last_name_txt; email_txt = email_address.getText().toString(); password_txt = password.getText().toString(); mobile_txt = phone_number.getText().toString(); closest_txt = closest_number.getText().toString(); address_txt = address.getText().toString(); 65 | P a g e nfc_id_txt = nfc_id.getText().toString(); personal_id_txt = personal_id.getText().toString(); date_txt = date_edittext.getText().toString(); if (TextUtils.isEmpty(first_name_txt)) { Toast.makeText(getContext(), "please enter your first name", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(last_name_txt)) { Toast.makeText(getContext(), "please enter your last name", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(email_txt)) { Toast.makeText(getContext(), "please enter your email", Toast.LENGTH_SHORT).show(); return; } if 66 | P a g e (TextUtils.isEmpty(password_txt)) { Toast.makeText(getContext(), "please enter your password", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(mobile_txt)) { Toast.makeText(getContext(), "please enter your mobile number", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(closest_txt)) { Toast.makeText(getContext(), "please enter your closest mobile number", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(address_txt)) { Toast.makeText(getContext(), "please enter your address", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(nfc_id_txt)) { 67 | P a g e Toast.makeText(getContext(), "please enter your NFC id", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(personal_id_txt)) { Toast.makeText(getContext(), "please enter your personal id", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(date_txt)) { Toast.makeText(getContext(), "please pick or enter your birth date", Toast.LENGTH_SHORT).show(); return; } if (photoPath == null) { Toast.makeText(getContext(), "please add your picture", Toast.LENGTH_SHORT).show(); return; } if (blood_spinner.getSelectedItemPosition() == 0) { 68 | P a g e Toast.makeText(getContext(), "please select your blood type", Toast.LENGTH_SHORT).show(); return; } progressDialog = new ProgressDialog(getContext()); progressDialog.setTitle("Patient Sign Up"); progressDialog.setMessage("Please Wait Until Creating Account ..."); progressDialog.setProgressStyle(ProgressDialog. STYLE_SPINNER); progressDialog.show(); progressDialog.setCancelable(false); //Toast.makeText(getContext(), full_name_txt, Toast.LENGTH_SHORT).show(); CreatePatientAccount(full_name_txt,email_txt,pa ssword_txt,personal_id_txt,nfc_id_txt,date_txt, closest_txt,mobile_txt,blood_spinner.getSelecte dItemPosition(),address_txt,selectedimageurl); loginPrefsEditor.putBoolean("savepassword", true); loginPrefsEditor.putString("pass", password_txt); loginPrefsEditor.apply(); 69 | P a g e //CustomerRegister(full_name_txt,email_txt,pass word_txt,mobile_txt,"Customer"); } }); date_picker.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DialogFragment newFragment = new DatePickerFragment(); newFragment.show(getFragmentManager(), "datePicker"); } }); profile_image.setOnClickListener(new View.OnClickListener() { @SuppressLint("NewApi") @Override public void onClick(View v) { CropImage.activity() .setGuidelines(CropImageView.Guidelines.ON_TOUC H) .setAspectRatio(1,1) .start(getContext(), SignupFragment.this); } 70 | P a g e }); cancel_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show(); dialog.getWindow().setAttributes(lp); } The function of each object and its code: • • The “Doctor” button opens the page to make the doctor create her/his account. This page contains textboxes of the name, email address, password, mobile number, address and specialization. It also contains the picture of the doctor. If one of these fields is missing, an error message appears to make the doctor enter the missing fields. The “Patient” button opens the page to make the patient create her/his account. This page contains textboxes of the name, email address, password, mobile number, closest mobile number, address, NFC ID, personal ID, date of birth and the blood type. It also contains the picture of the doctor. If one of these fields is missing, an error message appears to make the patient enter the missing fields. 71 | P a g e 3- The page of “activity_guest.xml” that appears after clicking on the “emergency” button in the “sign_in_Fragenmt.xml” or in “sign_up_Fragenmt.xml” as shown in figure (38) Figure (38) The code of the main functions of this page: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guest); first_aid_card = findViewById(R.id.first_aid_card); scan_nfc = findViewById(R.id.btn_read); sendlocation = findViewById(R.id.send_location_btn); patient_notes = findViewById(R.id.patient_note_field); 72 | P a g e risk = findViewById(R.id.risk); firebaseDatabase = FirebaseDatabase.getInstance(); databaseReference = firebaseDatabase.getReference(); initNFC(); buildGoogleAPIClient(); first_aid_card.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String url = "https://drive.google.com/open?id=17xaOUesHnu IJnk64wZkO8c7ckEQNofi_"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(browserIntent); } }); risk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String url = "https://drive.google.com/open?id=1sx9IwMCql3 73 | P a g e a_OOV0KDDt6OCRFZkRaA27"; Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(browserIntent); } }); scan_nfc.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NfcManager manager = (NfcManager) getApplicationContext().getSystemService(Cont ext.NFC_SERVICE); NfcAdapter adapter = manager.getDefaultAdapter(); if (adapter != null && adapter.isEnabled()) { // adapter exists and is enabled. showReadFragment(); } else { Toast.makeText(getApplicationContext(), "please check that NFC is enabled firstly", Toast.LENGTH_SHORT).show(); } } }); 74 | P a g e sendlocation.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Cont ext.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); if (isConnected) { final LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if (!manager.isProviderEnabled(LocationManager.G PS_PROVIDER)) { Toast.makeText(getApplicationContext(), "please check your gps is enabled", Toast.LENGTH_SHORT).show(); return; } if (lastlocation == null) { 75 | P a g e Toast.makeText(getApplicationContext(), "please refresh your GPS and try again", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(), GuestActivity.class); startActivity(intent); return; } String latitude = Double.toString(lastlocation.getLatitude()); String longitude = Double.toString(lastlocation.getLongitude()); noote = patient_notes.getText().toString(); if (TextUtils.isEmpty(nfcid)) { Toast.makeText(getApplicationContext(), "please scan NFC firstly", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(noote)) { noote = "Hurry Up ..."; } sendRequest(nfcid, namee, emergencyy, bloodtypee, diseasee, noote, 76 | P a g e latitude, longitude); } else { Toast.makeText(getApplicationContext(), "please check your internet connection", Toast.LENGTH_SHORT).show(); } } }); The function of each object and its code: • When the “first aid instructions” button is clicked, a file on google drive opens using its URL. This file contains the basic instructions about first aid as shown in figure (39) • When the “Be aware!” button is clicked, a file on google drive opens using its URL. This file contains common risk factors of severe diseases as shown in figure (40) 77 | P a g e Figure (39) Figure (40) • When the “Scan NFC” button is clicked, the user is able to scan an NFC card by putting the mobile above the card. If the NFC is turned off in the mobile, an error message appears to make the user enable it. • When the “Send Location” button is clicked, the user is able send the location of the patient to the admin. The user also can add a comment in the “comment” textbox and send it with the location. The location with this comment is send to the admin. Then, the admin opens the google map to see the nearest doctor to the patient and send this information to him/her. In order to do this, the user should first scan the NFC card of the patient and the mobile should be connected to an active internet. Also, the GPS in the mobile should be enabled. 78 | P a g e The design requirements we have chosen for the prototype are: • • Raising awareness with the basic first aids and common risk factors. The responsiveness of the application. For raising the awareness, two files were used in the application. One of them about first aid instructions for the most severe emergency cases and prevent them from complications. The other about the common risk factors about chronic and severe diseases. Two surveys were made among emergency doctors and people and 100% of people and 60% of doctors said that the application raise the awareness. For increasing the responsiveness of the application, the java code was used with specific function which is (TimerTask) in order to make the application respond faster in only about 3 seconds using the delay in milliseconds to ensure that the responsiveness of it is high. This was made the connection between the user and the doctor quick. The application was tested in many different ways. At first, a test was made to make sure that the application has high responsiveness. We compared between the time that the ambulance takes to reach the emergency case which is 30:40 minutes (according to Egyptian ambulance agent) to the time that the application takes to rescue the patients. It was found that the patient could be rescued at about 15 minutes so the application. Another test plan was also made to test the responsiveness of the application. We tested the delay time of the application to see if it works sufficiently, the application takes only 3 seconds to respond. This is a proof of its high responsiveness. Second, two surveys were made to ensure that the application could raise the awareness of the people. One of them was made among people and the result was that 100% of them said the application would raise the awareness. The other survey was made among 10 emergency doctors and the results were that 60% of them said the application is excellent in raising the awareness and 40% said the application is good in raising it. 79 | P a g e Chapter 3 III. 80 | P a g e Constructing and Testing a Prototype: Materials and methods The materials are divided into two sections: • Software: the programs and other operating information used by the computer. • Hardware: physical parts, tools, and other equipment. software Hard ware Cost NFC card 15LE per one Xml Camera ---------------- Google form survey for people Survey sheet Java program ming languag e Android studio Illustrator 81 | P a g e 20LE for the 10 sheets Material’s usage: Java • • It is a high-level programming language which is the originally designed for developing programs for set-top boxes and handheld devices, but later became a popular choice for creating web applications and it is similarly to C++ programming language We used it to code the application due to its fast execution, in addition it works on android studio and it was found that it is so much better than kotlin XML (Extensible Markup Language) • • It is similar to HTML and it used to describe page or file content It has used to make the interface of the application Android studio • • Android Studio is the official integrated development environment for Android application development. It contains modalities with source code and resource files. It includes Android app modules, Library modules, and Google App Engine modules. And it interacts with Java and XML to do its functions It is the environment used to do the application using Java and XML it was also used to make writing codes easier and for offering code completion, refraction, and analysis Illustrator • It was used to make the logo NFC Card • • 82 | P a g e It is the card used to store the data of the patients It is also a set of communication protocols that enable two electronic devices to establish communication to each other and it used for transferring data Methods The application has been made according to SDLC (software Development Life Cycle) using agile methodology as shown in figure (41). The methodology has used in agile methodology is Phases of extreme programming: This methodology includes 5 stages which are: planning, analysis, design, Execution and wrapping Planning: it includes identification of the problem, planning for the design requirements, the requirements of the app and gathering the information and data for the application analysis: determine the time and know how match time the application will take to be coded Design: which is breakdown of tasks and make the Figure (41) scenario for each interface Execution: coding the application and test it Wrapping: share it with others take reviews and improve the application according to it ❑ At first, a survey was made using Google forms to ensure that the application will affect the public serves and a large number will use it as shown in table (1) and figure (42). The questions of the peoples’ survey • Was the name and the job to make sure that the submitters are different in each submit • the reason for not saving the injuries in the accidents • if they would use the application with its features or not (with providing the features of our application) • If they have the information about first aid which can make them relate with emergency case 83 | P a g e Figure (42) Table (1) ❑ A logo for the application was made using Adobe illustrator. ❑ A scenario using Photoshop for GUI design was made before modifying it as shown in figure (43). ❑ The application on Android Studio was designed using XML file of the interface. By designing every button with and determine its height, width and gravity and determine also the position of photos and their dimensions ❑ The codes of the application were written in the java file to make Figure (43) the objects of XML file interactive. One of the buttons inserted in the interface is the “Emergency” button. And to determine the mechanism and sequence of the application to work ❑ First aid instruction and common risk factors were collected and then revised by emergency doctors to ensure that they are accurate. ❑ A data base was made by the “firebase” application and connected with java code. This data base includes the first aid instructions, common risk factors, medical history of several users each with different ID and the rest of the data in the application. The application was tested to detect any errors in the code by trying all buttons and objects after running the application on the phone. 84 | P a g e ❑ The modifications were made successfully to the errors appeared in the debugging. ❑ The information was inserted in the application and was put in an NFC card. Then, this NFC card was tested to ensure that when scanning the same NFC card, the same information (medical history) will be called from the database and appear in the application. ❑ Finally, a survey was made among 10 emergency doctors with different specializations to test the effectiveness and the design requirements of the application There are safety precautions that everyone must follow 85 | P a g e • It is having to use save programming language like: Java because there are many us safe programming languages like C. • secure the app from ground up because in any application has installed you install the interface only to use the application but if the code didn’t secure that code resides on the device once it’s downloaded, making it more accessible to those with malicious intent. • Secure the network connection on the back end the application must have security to protect its data and prevent it from illegal access Test Plan The design requirements chosen 1- Increasing the awareness 2- Achieving high responsiveness The first test plan: The first test plane was made after completing the code, it was made to ensure that the application runs appropriately without any error. This was made by installing the app on a mobile device to test it. The result found was that one of the buttons does not respond when clicking on it (negative result) This button was the “emergency” button, which is supposed to transfer the user for the next page. A debugging was made on the android studio to detect the error and it was found that the function (Onclick) for this button is not written. (Onclick) is one of the fundamental functions in many programing languages like java or c++ but with different forms. The onclick event occurs when the user clicks on an element. The basic form in the JAVA (we used this): <button onclick="myFunction()">Click me</button> The missing function then was written as the shown below in figure (44). The app was tested again and the button responded appropriately. Figure (44) 86 | P a g e The second test plan: As the application is supposed to serve mainly in the emergency cases, the time it takes to open the app will be very important to be put in consideration. The second test was made to see how much time taken by the application to open and to achieve the design the first design requirement which is the high responsiveness provided by the app. At first, the app took 300000 millisecond which equals 5 minutes (negative results) The Delay function in the splash activity was then corrected to be 3000 ml (3 sec) instead of 300000 ml as shown in figure (45) By modifying this number, the time taken by the app to show the interface now is 3 seconds instead of 3 minutes (positive result) Splash activity is the activity responsible for the opening page of the app. Delay function is a function used to estimate time of a specific activity or the time taken by a specific page before it disappears. Figure (45) The Third test plan: This test was made to test the second test plan, which is raising the awareness For the app to raise the awareness among people, we added 2 taps. One for the first aids named “fist aid instructions” Another tap for raising the awareness with the common risk factors for the majority of chronic, fatal and dangerous disease like cancer, diabetes cardiovascular disease, and this button is called “BE AWARE” To ensure that these buttons and the application will raise the awareness successfully, 2 surveys were made. 87 | P a g e Data collection First test plane: The first test plane was made after completing the code, it was made to ensure that the application runs appropriately without any error. This was made by installing the app on a mobile device to test it. The result found was that one of the buttons does not respond when clicking on it (negative result) This button was the “emergency” button, which is supposed to transfer the user for the next page. A debugging was made on the android studio to detect the error and it was found that the function (Onclick) for this button is not written. The missing function then was written. The app was tested again and the button responded appropriately. The Second test plan: As the application is supposed to serve mainly in the emergency cases, the time it takes to open the app will be very important to be put in consideration. The second test was made to see how much time taken by the application to open and to achieve the design the first design requirement which is the high responsiveness provided by the app. At first, the app took 300000 millisecond which equals 5 minutes (negative results) The Delay function in the splash activity was then corrected to be 3000 ml (3 sec) instead of 300000 ml. By modifying this number, the time taken by the app to show the interface now is 3 seconds instead of 3 minutes (positive result) Third test plan: This test was made to test the second test plan, which is raising the awareness For the app to raise the awareness among people, we added 2 taps .One for the first aids named “fist aid instructions” Another tap for raising the awareness with the common risk factors for the majority of chronic, fatal and dangerous disease like cancer, diabetes cardiovascular disease, and this button is called “BE AWARE” To ensure that these buttons and the application will raise the awareness successfully, 2 surveys were made. 88 | P a g e One survey was made on goggle forms for all the people to answer some questions and then the data was collected. The question asked and the results collected are as the following: What reason do they think is the main for the low carelessness of the emergency cases in Egypt which leads to many deaths and complications that could have been avoided? ✓ 64% said it was mainly due to the delay of the ambulance in most times ✓ 29% said it was due to the actions of the lack experienced people giving instruction before the ambulance arrive ✓ 7% said it was due to the lack of awareness of the first aids Figure (46) If there was an application that includes the common risk factors and basic knowledge for first aids, will this raise the awareness and help in lowering percentages of disease and help in emergency cases? • • 100% of the audience said yes 0% of the audience said no Result No Yes Figure (47) 89 | P a g e If there was a card in which you can store your medical history, so that can be scanned in emergency cases, will you buy it? Or it is not worthy? • 4% of the audience said No • 96% of the audience said yes Results No Yes Figure (48) In your opinion, do you think that you have the needed first aid information to take action in emergency cases like burns or a heart attack? • 23.5% of the audience said yes Results • 76.5% of the audience said no No Yes Figure (49) 90 | P a g e If there was an application that includes the common risk factors and basic knowledge for first aids, will this raise the awareness and help in lowering percentages of disease and help in emergency cases? • • 100% of the audience said yes 0% of the audience said no Results No Yes Figure (50) The second survey was made on 10 emergency doctors : They were asked about: 1. Their data 2. What reason do they think is the main for the low carelessness of the emergency cases in Egypt which leads to many deaths and complications that could have been avoided? The results were: ✓ 35% said it was mainly due to the delay of the ambulance in most times ✓ 17% said it was due to the low qualified hospitals and medical serves ✓ 26% said it was due to the actions of the lack experienced people giving instruction before the ambulance arrive ✓ 22% said it was due to the lack of awareness of the first aids 91 | P a g e Figure (51) 3. ▪ ▪ ▪ ▪ Finally they were asked to rate the app’s (excellent-good-far) : Speed Raising awareness Effectiveness Responsiveness The data collected was as the following: Figure (52) 92 | P a g e Chapter 4 IV. 93 | P a g e Evaluation, Reflection, Recommendations: Analysis and discussion Brief introduction of the idea As mentioned before, the addressed challenge was about improving the public health using technology. In Egypt, medical care offered by the public health insurance system is generally of poor quality. This challenge should be solved for its severe consequences like high rates of deaths, suffering from severe diseases and their effects on Egypt’s productivity and economy. Therefore, an Android application was made to lower the number of deaths and injured people by controlling the Emergency cases and raising the awareness. The application behavior focuses on emergency cases and how to reach and rescue them faster. It consists of several parts: the “emergency” which is important to raise the awareness among people about first aid instructions or risk factors, the doctor and the patient profiles that enable the patients to follow up with specific doctors, an NFC ID for each patient to store his/her medical information and history on it. This storage of information on the NFC card helps the doctors to keep up with the patient. The test plans that were made and their results: At first, a survey among people was made to test if the application has positive effects on the public serves and also to ensure that it raises the awareness and whether a large number of people may use it or not. 100% of people said that the application will raise the awareness, in addition to other questions in the form. Three test plans were made. The first one was to figure out if the application will work successfully and to detect syntax, logic and runtime errors. After building the application and testing all objects in a runtime mode on virtual device (emulator), an error was found with the button (emergency button in sign up page). This button did not do its function after clicking on it. The error was that the design and text of the button was made in XML file as shown in figure (53) without connecting it to the java code using (onClick) function. This function means when this button is clicked, the next page opens (emergency page). As a result, this code was modified by adding this function (onClick) as shown in figure (54). Finally, the application was 94 | P a g e built again and the debugging which is an error detector was made. This modification made the first test plan successful and the button responded and did its function. 4 Figure (53) Figure (54) In the second test plan, the responsiveness of the application was tested. The application was run on the phone, about 300 seconds (5 minutes) were taken to start the application. This was too much for the activity to be done. It was found that the delay in the code was 300000 ml instead of 3000ml (3 sec). As a result, a modification on the delay was done to solve this negative result by adding code: new Timer().schedule(task, delay: 3000); as shown in figure (55). Figure (55) 95 | P a g e Finally, a survey was made among 10 emergency doctors in different specialization to see if the application will be successful and applicable in real life or not. It also tested whether the application will raise the awareness of the people about the first aid instructions for several emergency cases and common risk factors to avoid the huge number of deaths and the diseases complications. It was estimated that if the rate of excellence of awareness was more than 50%, the design requirement will be achieved. This was successfully done as the rate happened to be 60%. Figure (56) Conclusion In conclusion, the application saves the patients of emergency cases like fainting, burns and heart attacks as fast as much, even before the arrival of ambulance by providing users with needed first aid instructions. Furthermore, it allows the user to reach the nearest doctor according to his place by the admin control. In addition, the app allows the patient to follow up with the needed doctor online at any time, scanning the NFC to identify the medical history of the patient and finally raising awareness to the most common risk factors for the most severe disease like cancer or diabetes. A survey was made on 10 doctors and the ambulance agent. Another one was made using Google forms to ask people. According to the survey’s results: when asked about the reasons why the emergency cases in Egypt are not usually saved quickly: majority of both doctors and people (35 % doctors, 64.7% of people) said it was due to the usual ambulance delay. Also, the application proved to be effective according to 60 % of doctors and 100 % of people. It was proved that the 96 | P a g e application has an excellent responsiveness according to 70% of the doctors which is due to the java which is characterized with its high execution speed. Also, it was found that 100% would use the application according to both of the surveys. 60% of doctors and 100% of people said it would raise the awareness about basic first aid instructions, common risk factors in addition to lowering the deaths due to health issues. Recommendation The following groups may consider further improvements from several aspects: the user’s side, general awareness side, and the user-doctor connection side. Firstly, launching the application in real life would require its availability allover Egypt, not just in Tanta as it while testing. Also, it’s highly recommended to allow video call communication so that a better medical consult could be made. Besides, utilizing google maps (GPS) would be a game changer, making the user more vulnerable to identifying the nearest doctor’s location to them to order, without the need of the administration control system. For the application to be totally-functioning, it can provide further assistance to the nearest hospitals and pharmacies locations. On the developers’ side, it’s advised to use Flatter programming language instead of Java in order to allow the application to run on both iOS and Android. Finally, the application can represent a good bonus if used by the Egyptian Local Ambulance managers, by sending them notifications with the patient’s location shortly by pressing a button in the interface, accompanied by the shortest route for the ambulance to reach them. For future work and solutions for the public health, the following solutions may be done: • Improving the services in the hospitals as 17% of the emergency doctors participated in the survey said that the low qualified hospitals and serves play a major rule in the public health issues. ‘ • • Also making courses to raise the awareness of people by tee basic first aid and how to deal with emergency cases will be very useful. 97 | P a g e • • Provide more vaccines for babies and children to prevent them from the diseases and infections Also, it will be very effective if the country found a solution for the water and air pollution as they contribute strongly in the public health issues Learning outcomes Subject BI.3.01 Biology BI.3.02 Biology 98 | P a g e Description of the LO Transfer The neuron is the building block of the nervous system. It consists of the axon, the dendrites and the cell body. The dendrites’ function is to receive information or stimulus from the environment or from another neuron by synapses. Then, a signal is created due to the stimulus making a potential in the cell membrane, which if it reached to -55 mv Describe the (threshold), an action potential will be fired making the relationship between structure and function signal travel along the neuron to reach its target cells. The cell body is the site of processing the received information. of a neuron in its role The axon is the site that the action potential is traveling at to in cell communication. reach its targets. In our capstone project, the application does the same function as the neuron. In the interface there are buttons to click. This click is considered as a stimulus. When this action is done, the code that have been set in the application will start to process the information and do its function as the cell body of the neuron do. After the processing of the information and applying the code, an output will come out in form of another page in the application. Describe how the structure of the neuron membrane facilitates its function with a primary focus on how the neuron and the transmission of a nerve The propagation of the impulses through the axon to reach another neuron is affected by a factor which is the thickness of the axon, in invertebrate the axon is wide comparing to the axon of our neuron and the wideness of the axon affecting the speed of propagation so, if the axon is thin , the propagation of impulses travel slower so, it solved with myelin sheath around it which increase impulse allows communication within an organism and with the external environment BI.3.08 Biology Predict the role of hormones in maintaining homeostasis. CH.3.01 Chemistry 99 | P a g e In this unit the emphasis should be on learning the ways in which scientists do their work, the importance of evidence and the limitations of scientific research. Scientific experiments rely primarily on quantitative measurement. A natural implication of the limits of scientific experimentation is uncertainty in measuring. It should be familiar with this already and should apply it to the process of designing experiments or reviewing the results of other experiments. the speed of propagation and that is exactly in the application it must be examined the factors that affect our application comparing with other applications like comparing the axon between vertebrates and invertebrates the code in the application may have features which make it better or worse so, it must examine the code well to know if there are weakness in it and how to improve it. like what have made with myelin sheath to improve the axon to propagate the impulses quickly In the endocrine system hypothalamus is the regulator for the endocrine signaling because stimulate or inhibit the secretion of hormones from the pituitary gland and each hormone is responsible for making different function to maintain our body its look like the application the hypothalamus is the Java code which regulates all buttons (hormones) to make different functions to maintain the application and this is the idea everything have its regulator which is responsible for maintain it In every work in the life or every action made the accuracy must be determined because if the accuracy is absent in the work , it will make it fail ,like, in our life everything is accurate and every law for nature have made well and accurate so, in the application the accuracy have to be checked well for another reason and this reason is if the code has any small Error it will lead to make the application do not run also the factor of precision must be determined because all codes must be precise to each other because, if we have XML code said that the button called “be aware !” must be yellow and another code said that it must be blue it will cause an error in the application and the two colors will not be applied so, as accuracy and precision are determined in CH.3.07 CH.3.09 Chemistry LO7 Determine types of bonding based on Coulomb’s Law and the position of the elements on the periodic table. LO9 Describe, explain and represent the ways in which molecular architecture relates to the properties of substances PH.3.04 Physics Design a system of communication through applying previous knowledge PH.3.05 Physics How information can be transmitted via 100 | P a g e all laws in our life we have to determine it also while coding LO7 describes chemical bonds which is strong bond between atoms or to form molecules and it divides into ionic , covalent or metallic bonds and it also known as intramolecular force what have learned from this bond : is the bond between the XML code and Java code that the button in the interface with its attributes its XML and the function of each button located in the Java code and there is strong bond between them and if the XML code do not match the Java code the code will have error and the application will not work so, it must remain the bond between the Java and XML code . LO9 describes intermolecular force or physical bond which is the bond between molecules to form compounds it divides into : dipole - dipole bond , London dispersion bond and hydrogen bond and this bond is not as strong as chemical bond so, it is like the bond between every button it is not strong bond because it is not affecting the run of the application but it affects the effectiveness of it . The basic elements of communication are the transmitter , medium and receiver , the transmitter: converts the original source information into suitable form to transmit it by a process called encoding and the medium transfer these information to the receiver which will accepts the transmitted signals and then converts those signals back to their original form like the application which receives the information from the patient as transmitter and send it as the application to the doctor which is the receiver In this LO the analog and digital data , the digital data express variation in the system’s variable in response to a set of discrete values that it is there is value or not no intermediate and this is exactly in the code if there are any error in the code, the application do not work. in the codes and digital date ( all or none ) if the code is located and completely right the application work and if the code is not located the application work but if there electromagnetic radiation ES.3.01 Earth science The link between tectonic plates and patterns of volcanism and seismicity ES.3.02 Earth science The data sets that provide evidence for plate motions, including GPS data CS.3.01 Computer science It demonstrates understanding of the requirements for 101 | P a g e are code and this code have an error the application do not work Analog data is continuous information with a theoretically infinite number of possible values so, its not like codes but the analog data represents the videos if the application have it The earth consists of 4 layers the crust, mantle, outer core and inner core. The crust is the thin outer layer of the Earth. The mantle: is much thicker than the crust at almost 3000km deep. The outer core is the layer beneath it and the inner core is so deep within the earth that it's under immense and its looks like our application consists of interfaces like and every interface followed by another interface like the layers of the earth and for every layer its role for the earth like every interface has its role for the application GPS is the global positioning system which is a satellitebased system for accurate location of points on Earth. It consists of 24 satellites. Receivers at stations on Earth use the signals (radio waves) from satellites to calculate the location of the station. The receiver measures the time it takes radio signals to travel from four or more satellites to its location, calculates the distance to each satellite, and from this calculation determines the user’s longitude, latitude, and altitude. This process was used to determine the location of the patient and to send it to the doctor to reach and treat him. This happens by click on button “Send location” in the application so, the location of the patient which was determined using GPS reach the doctor. In Computer Science, the integrated development environment (IDE) which is called the Android Studio was learned. It has different facilities and properties that can be used to design, build and test an application. This was the IDE used in building the application. An XML file which is responsible for the interface design of the application was used and a java file which contains the code that makes the producing mobile applications application interactive. Also, the Android SDK which contains required libraries was used, in addition to an emulator which is an android virtual device (AVD) instead of mobile phone to run and test the application. APA citation Associates, E.-Z. a. (2014, october ). EGYPT HEALTH ISSUES SURVEY. Retrieved from unicef : https://www.unicef.org/egypt/reports/egypt-health-issues-survey aswatmasria. (2016, september 28). Over 43,000 deaths in Egypt linked to pollution in one year. Retrieved from egyptindependent: https://ww.egyptindependent.com/over-43000deaths-egypt-linked-pollution-one-year/ Bank, W. (n.d.). Egypt GDP. Retrieved from tradingeconomics: https://tradingeconomics.com/egypt/gdp Chronic Disease Risk Factors. (2015, april 9). Retrieved from government of canada : https://www.canada.ca/en/public-health/services/chronic-diseases/chronic-diseaserisk-factors.html Fathi, Y. (2012, November 25). Egypt's public hospitals: From bad to worse. Retrieved from english.ahram: http://english.ahram.org.eg/NewsContent/1/64/58686/Egypt/Politics/Egypts-public-hospitals-From-bad-to-worse.aspx Haseena, M., Department of Zoology, & University of Gujrat, Pakistan. (2017, july 13). Environmental Risk Assessment and Remediation. Retrieved from alliedacademies: https://www.alliedacademies.org/articles/water-pollution-and-human-health7925.html Heller, M. (2017, october 26). What is Kotlin? The Java alternative explained. Retrieved from infoworld: https://www.infoworld.com/article/3224868/what-is-kotlin-the-javaalternative-explained.html Hemmendinger, D. (2019, Jane 17). Computer programming language. Retrieved from britannica: https://www.britannica.com/technology/computer-programming-language IHME. (2017). What causes the most deaths? Retrieved from healthdata: http://www.healthdata.org/egypt Java Tutorial. (n.d.). Retrieved from javatpoint.com: https://www.javatpoint.com/java-tutorial 102 | P a g e Journal of Family Health – First Aid Training . (2017). Journal of family health, 18,19,20. Retrieved from https://www.omicsonline.org/open-access/knowledge-and-attitude-offirst-aid-skills-among-health-science-students-attaibah-university-2329-91261000257.php?aid=74695 Kuan, K., & Chawla, K. (n.d.). Android basics : user interface. Retrieved from Udacity: https://www.udacity.com/course/android-basics-user-interface--ud834 NFC Resources . (n.d.). Retrieved from secure technology alliance : https://www.securetechalliance.org/smart-cards-applications-nfc/ Noncommunicable diseases. (n.d.). Retrieved from World health organization: http://www.emro.who.int/egy/programmes/noncommunicable-diseases.html reece, j. B., Urry, l. A., cain, m. L., Wasserman, S. A., Minorsky, P. V., & Jackson, R. B. (2016). campbell biology. united states of america : pearson . Ritchie , H., & Roser, M. (2019, november ). Air Pollution. Retrieved from ourworldindata: https://ourworldindata.org/air-pollution Road traffic injuries. (2018, 12 7). Retrieved from world health organization : https://www.who.int/news-room/fact-sheets/detail/road-traffic-injuries Roser, E. O.-O. (2018, january 14). Global Health. Retrieved from our world in data : https://ourworldindata.org/health-meta schildt, h. (2011). Java the complete reference . In h. schildt, Java the complete reference (pp. 81-108). staff, E. T. (2019). 32.5% of Egyptians live in extreme poverty: CAPMAS. Egypt today , 5-6. Retrieved from https://www.egypttoday.com/Article/1/73437/32-5-of-Egyptians-live-inextreme-poverty-CAPMAS Szondy, D. (2013, may 6). Breitling Emergency II watch doubles as a satellite emergency beacon. Retrieved from new atlas: https://newatlas.com/breitling-emergency-2/27364/ ZULQADAR, A. (2019, february 12). get in touch . Retrieved from REZAID: https://rezaid.co.uk/sdlc-waterfall-model/ 103 | P a g e