Design and Development of Mobile Healthcare Application for “Ayurvedic” based Clinical Documents
Mrs.K.Kiruthika1*, Ms.S.Gayathri2, Ms.R.Hemalatha3, Ms.P.Menaga4
1,4Computer Science and Business Systems, Panimalar Engineering College, Chennai ,600123, India
kkiruthikamtech@gmail.com1, menaga.ammu@gmail.com4
2 System Engineer, Infosys Limited,Chennai,600119, India
3 Assistant System Engineer, Tata Consultancy Services Limited, Chennai, 603103, India
* Corresponding Author: kkiruthikamtech@gmail.com
Abstract
In the modern world, people need immediate remedies for their health problems. Without considering the future effects of the heavy dose medicines, people intake those medicines to get immediate relief. As a result, they forget the natural and side effects free home remedies. And there is no awareness among the current generation youngsters and kids. To overcome this problem, we are developing a mobile application in dart language using flutter framework [2]. It uses KMP Algorithm [4] to recommends the medicine based on their allergic conditions matching. By this our system recommends the natural homemade medicines for their temporary health issues. This will increase the acceptance of these homemade medicines among the people.
Keywords: Flutter - Open-source UI software development kit, KMP algorithm - Knuth -Morris-Pratt
1. Introduction
Instant solution to all the problems is the MANTRA we are following now-a-days. Though we know all the future effects caused by the food habits and lifestyle we are following these days we are not ready to go by the paths of our ancestors. There are two reasons for our behavior, one we gradually forget the things we are following hierarchically and the other we are running out of time to undergo this process. Through this we are unaware of one thing that we are losing our cultural and medicinal values [7]. There are some people who want to try natural medicines but are ignorant about their preparation methods and some who wants to follow the medicines which have their compositions documented. This system tries to solve these two problems by recommending medicines [1] based on
their problem search. It gives ratings to the recommendation and also tries to suggest medicine which cause no allergies in them by knowing the items which create allergies.
2. Literature survey
[1] Lanhua Zhang et al. focused the functions on storing the data of Chinese herbal medication by database and enquiring the data from the database so as to identify the Chinese herbal medicine by judgment. The method developed with Android platform and Java programming. The main advantage is that Chinese herbal medicine phone recognition system database which is appropriate and fast to categorize the Chinese herbal medicine and the disadvantage is that no recommendation is provided for severe cases.
[2] Dr. Vuda Sreenivasa Rao et al. developed to offer suggestions on exercises depending on Body Mass Index -BMI, Basal Metabolic Rate -BMR and the energy recycled in each action such as aerobic dancing, cycling, jogging and swimming. Also, this bid has been developed to provide personalized exercise suggestions for patients with fitness problems. Furthermore, it was designed to store the data in a database and to have the capability to produce reports to customers. The main advantage is that it capable to support diverse kinds of patients and exercises and the disadvantage is that it is based on exercises which are only able to maintain our body health conditions.
[3] Suraj Sing et al, have developed application which accepts the indications from the patients, practices the data, recognizes the particular illness hereafter provides suitable suppository using remedial expert system by pattern matching techniques. The information collected from the method is taken and valuated using expert system which computes the possibility of rigorousness of the disease. And also this system was used by the patient, the better will expert system in categorizing numerous patterns of illnesses which proliferation the accuracy of iCare. The main advantage is that it acts as simulated clinician for the patients and the disadvantage is medicines recommended are with future effects.
3. Proposed System
The proposed system is used to recommend the natural remedies for particular health issue mentioned by the user. It uses Google’s open-source UI software development toolkit Flutter. It has ratings for the remedies which helps the user to choose the correct solution for their problem and also it gets the ingredients which cause allergies with them. Later it uses KMP algorithm which matches their allergic keywords with the data from database and then recommend the composition which cause no allergies with them. And the main objective is to document the composition of natural medicines for future use.
3.1. System Architecture
Figure 1: System Architecture
Firstly, user login into the mobile application in the case of existing user otherwise the user can sign up into the system using an email id as username and password. After user’s login is authenticated, a separate profile is created for the particular user in the database. Mainly user’s allergic conditions are displayed in the profile. Data is retrieved from the firebase with the help of user’s input data. KMP algorithm[17] is applied to the input in order to eliminate the natural medicines that has the allergic substances of the user. If the data is present in the database, then the output is displayed to the user, else user can submit their queries as reviews and comments. Finally, the user is displayed with appropriate output showing alerts for the medicines that contain allergic substances.
3.2. Mobile Application
A portable application, utmost typically stated as an app, is a kind of application code planned to execute on a mobile scheme, such as a smartphone or tablet [7], PC, etc. Portable applications oftentimes aid to deliver users with alike facilities to those opened on PCs. In our portable application, we have a tendency toward use Dart programming language in Flutter [20].
3.2.1 Dart Programming Language
Dart is a client-improved software design language for apps. It's established by Google and is working to type of mobile, desktop, backend and web applications. Dart [21] is an OO, class defined, garbage-collected retaining using a C-style syntax that translate compiles optionally into JavaScript.
Figure 2: Sample UI design (i)
3.2.2 FLUTTER
Flutter is an open-source user interface software improvement situation created by Google. It is mostly used in improvement of cross platform applications for Android[20], iOS, Linux, Mac, Windows, Google Fuchsia, and the web application from a solitary codebase. The initial version of Flutter[21] was named as codename "Sky" and executed on the Android OS.
Figure 3: Sample UI design (ii)
3.2.3. Database
The database we tend to use here is Firebase, a portable and web application progress platform established by Firebase, then proprietorship took by Google. Firebase is basically an actual period DB. The information looks as JSON files and documents real time changes to happen on the associated customer feature [4]. Firebase gives us features like analytics, databases, messaging and crash reporting so we can interchange rapidly replies to our users. Firebase is constructed on Google structure and enlarges mechanically, for smooth the major apps. Firebase products work extra exclusively but also stake data and perceptions, so they work on even improved together.
There are three databases included in the firebase. They are authentication database, user’s profile database and natural medicine database.In authentication database, user’s credentials such as username (i.e., email id) and password are validated in login page and new user is created in the signup page.
Table 1. Authentication Table
|
Field Name |
Data Type |
|
Username |
String |
|
Providers |
String |
|
UID |
String |
In user’s profile database, user’s personal details such as name, age, username and allergic details are stored for the future use.
Table 2. User Profile Table
|
Field Name |
Data Type |
|
Firstname |
String |
|
Lastname |
String |
|
Username |
String |
|
|
String |
|
Phone number |
Number |
|
Allergic details |
String |
|
Date of birth |
Date |
|
Profile picture |
String |
Note: Unique URL is generated for image and then the URL is sent to Firebase in string format
In natural medicine database[6], name of the medicine, ingredients and composition of those ingredients are stored to recommend to the user.
Table 3. Natural Medicine Table
|
Field Name |
Data Type |
|
Index |
Number |
|
Name of health issue |
String |
|
Number of remedies |
Number |
|
List of remedies |
Map |
3.2.4. Algorithm
Algorithm that we need to use in this recommendation system should help in pattern matching to remove the medicine recommendations that have the particular user’s allergic substances. In this case, first we are trying with the Naïve pattern matching algorithm.
3.2.4.1 Naïve Pattern Matching Algorithm
Naïve pattern searching is the modest technique amongst supplementary pattern searching algorithms. It checks for all character of the foremost sequence to the pattern. This algorithm [18] is supportive for lesser texts. It does not essential any pre-dispensation phases. We can invention substring by inspection once for the string. It also does not conquer further space to achieve the operation.
Table 4. Time Efficiency reference table for Naïve pattern searching algorithm
|
Variable |
Explanation |
|
k |
Pattern Length |
|
l |
String Length |
The time complexity of Naïve Pattern Search method is O(k*l).
Disadvantages:
· Worst case time efficiency: O((l-k+1) k)
· Information from a shift is not used again
· Very incompetent method. Because this technique earnings only one location movement in each time.
3.2.4.2 KMP Algorithm
The KMP matching algorithm uses disintegrating property [12],[15] of the pattern and advances the worst-case complexity to O(l). The basic intent behindhand KMP’s algorithm [12] is each and every time perceive pattern is not identical, already know certain of the characters in the transcript of the following substring then take benefit of this information to avoid pattern identical that know will anyhow match. KMP algorithm is employed in this application [16][17].
Pseudo Code:
algorithm kmp_search:
input:
an array of characters, A (the text to be searched)
an array of characters, B (the word sought)
output:
an array of integers, P (positions in A at which B is found)
an integer, nP (number of positions)
define variables:
an integer, j ← 0 (the position of the current character in A)
an integer, k ← 0 (the position of the current character in B)
an array of integers, T (the table, computed elsewhere)
let nP ← 0
while j < length(A) do
if b[k] = B[j] then
let j ← j + 1
let k ← k + 1
if k = length(B) then
(occurrence found, if only first occurrence is needed, m ← j - k may be returned here)
let P[nP] ← j - k, nP ← nP + 1
let k ← T[k] (T[length(B)] can't be -1)
else
let k ← T[k]
if k < 0 then
let j ← j + 1
let k ← k + 1
Table 5. Time Efficiency reference table for KMP
|
Variable |
Explanation |
|
k |
Pattern Length |
|
l |
String Length |
Running time efficiency: O(k,l)
If k<l, then the running time efficiency is O(l)
In computer science, the Knuth–Morris–Pratt string-searching algorithm[14] enquiries for incidences of a "word" B within a foremost "text string" A by using the remark that when a mismatch happens, the word itself contains adequate information to regulate whether the next match could begin, thus bouncing re-examination of beforehand matched characters.
This algorithm is used to differentiate the natural medicines based on the symptoms given by the user by eliminating the allergic conditions of the user.
ADVANTAGES
The advantages of this application are listed as follows:
· Separate login is created for individual user
· Eliminate natural medicines that has allergic substances of user
· Natural medicines recommended are with no side effects
· Cost efficient
· Helps in documentation
· User can give their suggestions in order to improve the application
· The mobile application can be updated timely
4. Result Analysis
In Naïve pattern matching algorithm, keyword searching efficiency decreases as the size of the content or data in which we need to find the matching pattern increases. And the time efficiency also poor for the worst case when compared to KMP algorithm. But in KMP algorithm the efficiency remains same from best case to worst case (i.e., large size of input data). So, we prefer KMP algorithm over Naïve pattern searching algorithm.
Worst case efficiency of KMP algorithm:
O(k, l)
Worst case efficiency of Naïve algorithm:
O((l-k+1) k)
Where,
k – Pattern Length
l –String / Data Length
5. CONCLUSION
Thus, our mobile application recommends the natural medicine for various health issues by eliminating the substances that are allergic to the user. These procedures should be followed by the user to get the remedies for their health issues. Using the reviews and comments given by the user, we can overcome the problems that are faced by the user. The reviews and comments submitted by one user will be helpful to the other users. Future enhancements are fully based on the reviews and comments submitted by the user. This mobile application can be enhanced by adding more natural medicine details in the database. Ratings can be given to each and every medicine present in the database. Based on the ratings, the natural medicines can be displayed to the user from higher rated medicines to lower rated medicines. And also, to improve the security[23] of the mobile application. Thus, this mobile application is enhanced in the future.
References
[1] Benjamin Stark, Constanze Knahl, Mert Aydin, Karim Elish. (2019). A Literature Review on Medicine Recommender Systems. International Journal of Advanced Computer Science and Applications, 10(8).
[2] Y. Bao., Jiang X. (2016). An intelligent medicine recommender system framework. IEEE 11th Conference on Industrial Electronics and Applications (ICIEA), 1383-1388.
[3] John. A., M. I. H., Vasudevan.V. (2016). Medication recommendation system based on clinical documents," International Conference on Information Science (ICIS), 180-184.
[4] Daptarda. A., Shapira.D. (2004). Adapting the Knuth-Morris-Pratt algorithm for pattern matching in Huffman encoded texts," Data Compression Conference, 535.
[5] Cao.P., Wu.S. (2011).Parallel research on KMP algorithm. International Conference on Consumer Electronics, Communications and Networks (CECNet). 4252-4255.
[6] Zhou, Y. and Pang, R., (2019). Research of Pattern Matching Algorithm Based on KMP and BMHS2. IEEE 5th International Conference on Computer and Communications (ICCC). 193-197, doi: 10.1109/ICCC47050.2019.9064076.
[7] Samonte, M.J.C., Therese Cadiz, M.P., Mabanag Camba, B.M.R., Esguerra, G.G. (2019). Herbal Medicine Information System Using Push and Pull Technology in Mobile Application. IEEE Region 10 Annual International Conference, Proceedings/TENCON 2098-2103.
[8] Sobhy D., El-Sonbaty Y., Abou Elnasr M. (2012).MedCloud: Healthcare cloud computing system in International Conference for Internet Technology and Secured Transactions, London. 161-166.
[9] Ivy B.P.U, Malini R.R.H.(2009).Traditional indian medicine in International Conference on Advanced Computer Control. DOI: 10.1109/ICACC.2010.5487224 . 25-29.
[10] Rath L.S.(2006). Ayurinformatics- the application of bioinformatics in the ayurvedic system of medicine in 9th International Conference on Information Technology (ICIT'06) 21-25.
[11] Aciar, S., Zhang, D., Simoff, S. and Debenham, J. (2006). Recommender System Based on Consumer Reviews in IEEE/WIC/ACM International Conference on Web Intelligence (WI 2006 Main Conference Proceedings)(WI'06), Hong Kong 719-723.
[12] Park, S., Kim, D., Park, N., & Lee, M. (2018). High Performance Parallel KMP Algorithm on a Heterogeneous Architecture in IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W) 65-71, doi: 10.1109/FAS-W.2018.00027.
[13] Xiangyu Lu. (2019). The Analysis of KMP Algorithm and its Optimization. Journal of Physics: Conference Series. 1345. 042005. 10.1088/1742-6596/1345/4/042005.
[14] U. S. Alzoabi., N. M. Alosaimi., A. S. Bedaiwi., A. M. Alabdullatif. (2013). Parallelization of KMP string matching algorithm in World Congress on Computer and Information Technology (WCCIT),. 1-3, doi: 10.1109/WCCIT.2013.6618720.
[15] AiJun Li., YunHui Liu., YingJian Qi., Si-Wei Luo. (2002). An approach for fast subsequence matching through KMP algorithm in time series databases in Proceedings. International Conference on Machine Learning and Cybernetics, 2002, 1292-1295, doi: 10.1109/ICMLC.2002.1167412.
[16] Hou Xianfeng., Yan Yubao., Xia Lu.(2010). Hybrid pattern-matching algorithm based on BM-KMP algorithm in 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE) 310-V5-313, doi: 10.1109/ICACTE.2010.5579620.
[17] Fei Gu., Zhenzhou Ji., Jianyun Cheng.(2012). Parallelization of KMP algorithm for the masking-off of repeats in DNA fragment assembly in International Conference on Automatic Control and Artificial Intelligence (ACAI 2012), 1520-1523, doi: 10.1049/cp.2012.1271.
[18] Jeff.Yan., Ahmad.Salah.,El.Ahmad.(2007). Breaking visual captchas with naive pattern recognition algorithms. Twenty-Third annual computer security applications conference.
[19] Kotz., David.(2016). Privacy and security in mobile health: a research agenda. Computer 22-30.
[20] Shady Boukhary, Eduardo Colmenares. (2019). A Clean Approach to Flutter Development through the Flutter Clean Architecture Package. International Conference on Computational Science and Computational Intelligence (CSCI).
[21] Ragda Mamoun; Mohamed Nasor; Sahar H. Abulikailik.(2020). Design and Development of Mobile Healthcare Application Prototype Using Flutter. International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE). IEEE.
[22] Emmanuel Agu, Peder Pedersen, Diane Strong, Bengisu Tulu, Qian He, Lei Wang, Yejin Li (2013). The smartphone as a medical device: Assessing enablers, benefits and challenges. IEEE International Workshop of Internet-of-Things Networking and Control (IoT-NC).
[23] Borja Martínez-Pérez , Isabel de la Torre-Díez, Miguel López-Coronado.(2015) Privacy and security in mobile health apps: a review and recommendations. Journal of medical systems 39.1 1-8.