Sunteți pe pagina 1din 8

Thesis / Capstone Project | 2017|

__________________________________________________________________________________________________________________

RoboDoc: An Autonomous Barangay Healthcare Provider


Mc Niel Lat Mona Liza Maravilla Carl Jefrey Contemplacion
Batangas State University – Malvar Batangas State University – Malvar Batangas State University – Malvar
Batangas, Philippines Batangas, Philippines Batangas, Philippines
mclat15@gmail.com maravillamonaliza@gmail.com cjcontemplacion@gmail.com

Abstract - RoboDoc was developed with the aim of serving as an alternative healthcare provider for
those people living in communities that cannot be reached by traditional medical personnel such as
doctors and nurses. RoboDoc can understand Tagalog symptoms provided by the user either though voice
or touch input and diagnose the user’s medical condition though the provided symptoms. The researchers
were able to integrate Google’s Speech-to-Text API in order to accept and process Tagalog words spoken
into the machine by the users. The system’s database was precisely build from different sources of medical
data such as actual physicians and trusted medical websites. RoboDoc can also dispense over-the-counter
medicines that can help cure the diagnosed disease of the user. The system was built by two separate
groups of researchers; one group focusing on the development of the software and diagnosis process, and
another group concentrating on the development of the hardware and medicine-dispensing process. After
several series of test cases and revisions, the researchers were able to achieve 100% accuracy on the
overall diagnosis process and only 90% on the medicine dispensing process due to hardware connectivity
issues.
Keywords –autonomous healthcare provider, expert system, medical robotics, Tagalog voice recognition
aimed to develop a device that is autonomous or does
INTRODUCTION
not need any human help or intervention while
Article II Section 15 of the 1987 Philippine diagnosing patients. And since the goal is to deploy the
Constitution proclaims that the state shall protect and device on a community where majority are native
promote the right to health of the people and instill speakers in Tagalog, the system was designed to be able
health consciousness among them. But there are still a to analyze the symptoms given by the patient in a more
lot of people who suffer from poor health conditions common language specifically Tagalog.
due to lack of access to proper health care specialists The developed device is an example of an expert
and professionals. These instances often happen due to system which is a form of software where the domain
lack of money to spend for medical purposes such as knowledge of the people from a specific field of study
medicines or visits to a health care professional which is such as medicine was combined the technical
often too expensive for families living with income knowledge available in the internet and other electronic
below the minimum wage. There are also remote places way of gathering data. The aim of the expert system, the
where barangay health centers offer the ethereal one developed by the researchers, is to be able to
unavailability of medical staffs, inadequate facilities, somehow replace or be an alternative to an actual
and insufficient supply of medicines. medical personnel to perform the tasks and activities
Few doctors are so devoted to their calling that they that one is expected to.
go to the extent of personally visiting those hard to Furthermore, illiteracy plays a huge role too. People
reach barrios and conduct physical and other medical who never learned to read or write often rely to what
examinations to the residents with little or no incentives they hear from other people in treating their diseases
at all. Even the equipment and medicines used by those and never get proper prescriptions from a medical
doctors came from their own pockets. But regularly specialist or professional. They sometimes rely on what
travelling and visiting these distant communities are not they think is appropriate based on their past experiences
just physically and financially exhausting, it puts their or worst, on what is the most affordable from the
life at risk. For instance, a doctor from Lanao, Del nearest store. They are mostly afraid that they will not
Norte was shot dead while being deployed on a understand what a medical professional would explain
government program meant to give aid on far-off to them and prefer not to ask any help at all.
communities called Doctors to the Barrios or DTTB.
To address this problem, the researchers included a
These occurrences and other related events had led functionality where the patients can communicate with
to the idea of setting up an automated health care the device vocally or by talking to it. The device will
assistant to isolated communities. The researchers
1
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

understand Tagalog words that will be spoken into it CONCEPTUAL FRAMEWORK


and process the words in order to determine the possible This part presented and explains the theories that are
disease or medical condition the patient is experiencing. relevant to the algorithms that were used for the
The device can also accept touch input for people who developed application. This includes various algorithms
are literate enough but cannot speak or talk clearly. The that the researchers researched and studied to prove the
diagnosis was also yielded in the same language so the use of the developed application.
patient can easily understand what they must perform to The Knuth–Morris–Pratt string searching algorithm
cure their illnesses. (or KMP algorithm) searches for occurrences of a
The system does not only diagnose symptoms given "pattern" within a main "text string" by using some
by a patient, but also give and dispense proper medicine generated information about the pattern to skip some
that can remedy the patient’s condition. Drugs that were comparisons that are unnecessary. This pre generated
dispensed by the device are only over-the-counter information is in a form of “prefix table”. The algorithm
medicines and were only distributed when it is truly is derived from the naïve or brute force method wherein
needed by the patient which was determined by the the pattern will be aligned with every possible fit in the
diagnosis. The medicines were dispensed together with text string and check if it can find a pattern in that
the instructions for proper amount of intake. As long as position.
it is needed by the patient and is still offered, the device The prefix table is generated by first initializing the
would not require any form of payment to dispense the prefix table by the same size of the pattern. Each
medicine. character is given a definite value based on the
The researchers aim to create a device with an appearance of the prefix (all the characters in the pattern
efficient system that can help those who are in need of with one or more cut off the end) or suffix (all the
medical attention but fails to afford some. More characters in the pattern with one or more cut off the
importantly, to improve the quality of health and well- beginning) that currently available on the character in
being of the indigents through humble medical the pattern. The first character will always be given the
assistance innovation. value 0 because based on the description of the suffix
and prefix, it is impossible to derive a prefix or suffix
STATEMENT OF THE PROBLEM from a single character. The length of the matching
Throughout the study, the researchers found suffix and prefix will be the value which will be given
different problems and encountered various concerns. to the character. Once there is an appearance of two or
The following questions are the ones that the more matching suffix and prefix, the longer one will be
researchers seek to find answers: chosen for it will give out less skips for the algorithm.
1. How can the researchers integrate Google’s
speech recognition service or the Google’s Speech-to-
Text API as Tagalog Speech to Text Service to their
system?
2. How can the Knuth-Morris-Pratt (KMP) String
Searching Algorithm provide optimal results in terms of
deriving desired matches from the output of speech
recognition API and input from the search bar?
3. How can the Hierarchical Clustering Algorithm
develop the right dendrogram for classifying the
different symptoms in groups for a distributed touch
input options?
4. How can an autonomous healthcare companion Figure 1. Prefix Table Generation Example
and medicine dispensing device using Tagalog voice
recognition provide efficient patient diagnosis and Figure 1 shows an example of prefix table
accurate medicine dispensing? generation. The first character does not have existing
suffixes or prefixes so it will be given a value 0. The
first two character still does not present any matching
suffixes or prefixes so it will be given a value of 0. On
the appearance of third character, it can be seen that ‘Y’
2
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

appeared as both suffix and prefix so will be given a to the character jth character T[j]. If there is a mismatch
value 1. On the appearance of 4th character, ‘YB’ can found in the first case, the prefix will be equal to the
be seen as a suffix and prefix and it has the character previously generated prefix. If not, the algorithm checks
length of 2 so it will be given a value 2. On the fifth for possible matches and moves to the next character
character, there will be no possible suffix or prefix so it whenever it see a match. If the match is found, it will
be given the value 0. Therefore giving us the final output the match and look for another match in the
prefix table value of 0-0-1-2-0. string.
Once the prefix table is calculated, the KMP The Knuth–Morris–Pratt string searching algorithm
matching process can actually begin. First, the text (T) was used in the program to match the text output of the
length will be noted as ‘m’ and the pattern (P) length API to the possible symptoms which are stored in the
will be noted as ‘n’. The longest prefix/suffix that has database. The match that will be found by the algorithm
been found in the pattern will be noted as ‘i’. The letter will be used in the succeeding processes for the system.
‘j’ will be the pointer to the text where the pattern is The algorithm was also used in the search functionality
currently aligned to. The π symbol will represent the of the system. The output that was generated using the
prefix table. search functionality will be processed just like the
output generated from the API.
In data mining and statistics, hierarchical clustering
algorithm (also called hierarchical cluster analysis or
HCA) is a method of cluster analysis which seeks to
build a hierarchy of clusters. There are two major type
of hierarchical clustering, the “agglomerative” or the
"bottom up" approach where each observation starts in
its own cluster, and pairs of clusters are merged as one
moves up the hierarchy and the “divisive” or the "top
down" approach where all observations start in one
cluster, and splits are performed recursively as one
moves down the hierarchy. The study focus on the
implementation of the divisive hierarchical clustering
for the generation of options for the touch input.
In order to decide which clusters should be
combined (for agglomerative), or where a cluster should
be split (for divisive), a measure of dissimilarity
between sets of observations is required. In most
methods of hierarchical clustering, this is achieved by
use of an appropriate metric (a measure of distance
between pairs of observations), and a linkage criterion
which specifies the dissimilarity of sets as a function of
the pairwise distances of observations in the sets. For
the application of HCA in the study, the metric was set
manually by the users per symptom based on the
relevance and similarities from one another for there are
no possible ways to computationally provide a metric
Figure 2. Flowchart for the KMP Algorithm for non-quantifiable objects such as disease symptoms.
The algorithm was used while the database structure
was created.
Figure 2 shows the flowchart for the KMP
algorithm. The process starts with initializing the value For the modified HCA, there would be a given value
of m to the string length and n to the pattern length. The to each cluster and this value will be divided depending
variables i and j will serve as position indicators. As on how many clusters can be derived from it. Clusters
long j does not have the same value as the length of the will be divided recursively until the desired singleton or
string, check the following cases. First it checks if i is refined cluster is discovered or conceived.
greater than 0 and the letter after i (P [i + j]) is not equal
3
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

The Knuth–Morris–Pratt String Searching Algorithm Development Model


together with the Hierarchical Clustering Algorithm
was used by the researchers to create and develop a
fully functioning autonomous barangay healthcare
provider. The hierarchical clustering algorithm was
necessary for the generation of the dendrogram for the
touch input. Each cluster in the hierarchy of options in
the touch input will be produced from the application of
the HCA. Meanwhile, the KMP string searching
algorithm will take place after the conversion of voice
input into text or after the user has used the search
functionality of the system. The text from the
conversion or search bar will be the substring that will
be matched from the set of string in the database in
order to determine medical keywords and other
important information that will be used for the latter
processes in the application. Either the data collected
from touch input or the speech recognition results are
used to find a match in the database and produce proper
diagnosis results for the user.
Figure 3. Dynamic Systems Development Model
MATERIALS AND METHODS
In order for the researchers to develop a system that For the development model used by the researchers,
can properly diagnose a person’s medical condition the researchers chose Dynamic Systems Development
only by analyzing the symptoms provided by the user, Model Methodology. It is divided in three major phase
the researchers needed to gather enough information entitled the Functional Model, the Design and Build and
and data about various diseases that can be diagnosed the Implementation phase. Before the functional model
without physical examinations. Detailed information phase begin, feasibility study and business study is
about the diseases were compiled in order to build a conducted to gather the required specifications for the
database that will be used as reference for the diagnosis project. This phase is intended for business and
process. commercial projects to avoid hasty decision making and
As for the type of research used to develop the poor corporate decisions. As the functional model
system, the researchers decided to use a quantitative begin, the developing team agree with the plan for the
research. Quantitative research has the primary aim of software and then develop a functional prototype for the
providing a complete and detailed description about the system. The prototype is then reviewed for corrections
research topic making it ideal for the system until the functional prototype is identified. The cycle
development. can repeat if the functional prototype is still
Quantitative type of research was done by having unidentified.
different test cases to collect data for an evaluation of In the design and build phase, the design prototypes
the overall functionality of the system. The test case are reviewed thoroughly. The prototypes will then be
covered the necessary tasks that will be performed in decided and identified according to the plan. The
the actual operation of the system. The developers identified design prototype is created after it is agreed
executed a series of testing to gather enough data and upon by the team. After the design prototype is created
was concluded by evaluating the final results. it is reviewed by the development group and may still
be considered as another temporary design prototype or
move to the next phase which is the implementation
phase.
In the implementation phase, the final design
prototype is created and then implemented into use. The
software is reviewed and checked for business aspects
and other decisions that might include information and
4
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

factors from the client side. If the software passed in the Testing Plans
review, it is moved for user approval and guidelines To guarantee the robustness and efficiency of the
wherein sample users are surveyed and interviewed proposed system, the researchers placed the system into
after their interaction with the system and finally train a standardized way of testing and validation. The
the users for the new software. Because Dynamic researchers chose a method in which the system and its
Systems Development Model Methodology is an agile functionality can be tested without the need of looking
approach, the cycles may repeat depending on changing and analyzing its internal structure. This method named
requirements such as business aspects. Black Box Testing can be applied to virtually every
Figure 3 shows the complete phases and sub- level of software testing: unit, integration, system and
methods in Dynamic Systems Development Model acceptance. It typically comprises most if not all higher
Methodology. Aside from the main phases, the sub level testing, but can also dominate unit testing as well.
processes can be seen and the parts where a phases can There are some following procedures by using this
go back to a previous process are also shown in the kind of method, specific knowledge of the application's
figure. It can be seen that the feasibility study and code/internal structure and programming knowledge in
feasibility study is the start of all the processes in the general is not required. The tester is aware of what the
model followed by the functional model. The part software is supposed to do but is not aware of how it
where the possible interconnections are possible is does it. For instance, the tester is aware that a particular
shown by the dotted lines pointing to the sub processes input returns a certain, invariable output but is not
where a phase can structurally return or backtrack. aware of how the software produces the output in the
first place.
Development Approach In order to properly test the system, the developers
The researchers used Top-down as a development presented the system to a group of people and give them
approach in the application. A top-down approach (also a walkthrough of the system. After the selected people
known as stepwise design and in some cases used as a were oriented on what the system should do, they were
synonym of decomposition) is essentially the breaking given a set of task to perform in the system. The user’s
down of an application to gain insight into its ability to perform the tasks properly measured the ease
compositional sub-application in a reverse engineering of use and usability of the system. To accurately
fashion. In a top-down approach an overview of the measure the results of the test cases, the developers
application is formulated, specifying, but not detailing, recorded and mark the success rate of the users while
any first-level sub application. Each sub application is performing each tasks. The system was only marked
then refined in yet greater details, sometimes in many Passed when all users were able to perform all the tasks
additional sub application levels, until the entire successfully, giving it the success rate of 100%. This
specification is reduced to base elements. A top-down was also calculated with the formula S = n/t*100
model is often specified with the assistance of "black wherein S stands for the success rate, n stands for the
boxes", which makes it easier to manipulate. Figure 4 number of users who were able to perform the task
illustrates the top down approach which starts with the successfully and t for the total number of users who
big picture. It breaks down from there into smaller attempted to do the task, whether successful or
segments. unsuccessful.

Task RESULTS AND DISCUSSION


To be able to create the speech recognition function
of the system, the researchers used Google’s Speech-
Sub Task Sub Task Sub Task
To-Text API. The process is actually powered by a
cloud based computing service that generates the
Sub Task transcripts of the audio files sent into it by an
Sub Task Sub Task application that that is using the API. The API
eliminates the noise in the audio file using its own noise
Figure 4. Top-Down Model reduction algorithm and produces clear audio for its
own processing. Once the transcripts of audio files are
generated, it will be sent back to the application as

5
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

string that can be used in other functionalities in the Table 1. Test Results
system. Number of
Number
The system features a search functionality that Tasks
of Users
Successful Results
enables the user to manually type in the symptoms that Tries
they are experiencing. The search functionality first 5/5*10
Task 1
identifies the important keywords that can be used in 0
Keying through 5 5
the diagnosing process and then uses these keywords to =100%
the Search Bar
find the appropriate condition that the user is feeling. Success
Once a proper diagnosis was found, it will then be Task 2 5/5*10
displayed to the user along with the information about Using the Voice 0
5 5
the condition. Recognition =100%
Based on the results that was generated by the Function Success
Hierarchical Clustering Algorithm, the researchers were Task 3 5/5*10
able to classify or cluster all the available diseases in Using the Touch 0
5 5
the database into a ladder of classification in a pyramid- Options =100%
like manner. These results were then displayed in the Function Success
program in a sequence of options presented in different 5/5*10
Task 4
screens wherein the top-most part of the pyramid was 0
Receiving 5 5
first displayed in the sequence. Choosing these options =100%
Diagnosis
will generate information about the condition that the Success
user is currently suffering. Task 5 5/5*10
In order to test the system, the developers made their Receiving 0
5 5
own self-testing to measure the success rate of the Dispensed =100%
system that is validated by the adviser of the developers Medicine Success
in order to determine the users’ level of satisfaction. If Task 6 5/5*10
the test delivers results that suggests that the satisfaction Viewing the 0
5 5
rating and overall performance of the system is below Medicine =100%
the acceptable results, the errors or the parts that caused Inventory Success
the dissatisfaction of user or error in the program is Task 7 5/5*10
modified and improved. The process is repeated until Updating the 0
5 5
the users’ level of satisfaction were at acceptable rate Medicine =100%
and the system is free of errors. Inventory Success

Table 1 shows the testing results for every tasks


accomplished by the users. The success rate of the
system was determined using the formula S = n/t*100.
The test will only be marked “Passed” if S will be equal
to 100%, otherwise, the test will be marked “Failed”. In
Task 1, all five users were able to manually type their
concerns and receive proper diagnosis. For Task 2,
three out of five users were able to voice in their
symptoms and receive appropriate results. This only
gave 60% success rating meaning it is a failure. The
other two experienced connectivity issues regarding the
internet connection of the system. Once the internet
connection was fixed, all five were able to accomplish
the task in the reiteration of the test.
For Task 3 and Task 4, all five users had no problem
completing the tasks properly. Task 4 is all about
receiving diagnosis from the system which means that
whenever the user was able to accomplish one of the
6
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

first three tasks, they will be able to accomplish Task 4 of the API also removed the constraint of being able
swiftly unless an internal error from the system occurs. to deploy the machine in an outdoor location where
For Task 5, only four of five users were able to there are a lot of noise and other sound interference.
perform the task properly. This was due to interfacing However, because the API uses cloud computing
error between the dispensing machine and the software technology, stable internet connection should be
itself. The error was easily determined and corrected by maintained while using the application to be able to
the developers. Once the patch was applied and the link transmit data to its servers.
between the hardware and software components was 2. With Knuth-Morris-Pratt (KMP) String Searching
reestablished, the users made another try in performing Algorithm, the researchers were able to conclude
Task 5 and all five users were able to complete the task. that it is possible to perform accurate search
Task 6 and Task 7 required five different users functionalities at any given condition. The
because these two tasks were only designed for system algorithm was able to process even long string
administrators who can view and update the medicine inputs from the search bar available in the
inventory. Although the system administrators are not application and generate precise results in
part of the researchers, they are more technologically unnoticeable computing time. Short yet
inclined than most users that is why all of these system simultaneous inputs was also handled swiftly by the
administrators were able to accomplish both Task 6 and algorithm.
Task 7 without any difficulties. 3. The researchers concluded that Hierarchical
To further elucidate, Task 6 was about viewing the Clustering Algorithm is an appropriate method of
medicine inventory within the touch display. This classifying small amounts of data with relatively
involved entering the proper credentials in order to similar characteristics. Building a hierarchy of data
enter the activity where the information about the based on the similarities and differences was made
medicine inventory was displayed. Although Task 7 is stress-free by the algorithm by being able to
also an activity for the system administrator, it only pinpoint the exact information that is needed to
involves interaction from the physical machine itself. A create an order of data and divide those data
physical button corresponding to each medicine in the accordingly.
database must be pressed in order to update the 4. By integrating an efficient API and using competent
medicine count in the system. algorithms in the system, accurate results were able
Only the final results for each task was recorded by to be produced by the system. The use of these
the researched for the previous results were already methodologies was also able to make the system
based on a previous version of the system and would autonomous while in operation with the minimum
bear no weight in the tabulation process. Only when all human interaction needed which is mostly for the
five tasks was accomplished will the testing finally stop. medicine refilling and troubleshooting externally
Once all the tasks were accomplished perfectly and generated problems.
program errors were corrected, the final results were the Based on findings and conclusions of the study, the
one recorded and calculated by the researchers. following recommendations were offered. These
recommendations were offered for future modifications
CONCLUSION AND RECOMMENDATION and/or improvements.
To determine if the application developed by the 1. In order to expand the disease diagnosing
researchers functioned according to its specified capabilities and the accuracy of the system, the
objectives, the researchers conducted a series of test. researchers recommend to regularly update the
Based on the conducted study, the following system’s database especially the part about the
conclusions were made. information of various diseases that can be
1. Aside from being able to generate results in such identified by the system. Conducting additional
short time, Google’s Speech-to-Text API was able research to expand the system database would also
to produce a list of other possible results based on make improvements in system’s accuracy.
the sound entered by the user. This list of results 2. The researchers recommend to always base the
was a great feature for the developers for it enabled information provided by the application in a trusted
them to have options of possible keywords that was and reliable source to also make the application
uttered by the users while they were speaking to the trusted and reliable, so that the users or the future
machine. The built in noise reduction functionality users will be always amazed and satisfied by the
7
Thesis / Capstone Project | 2017|
__________________________________________________________________________________________________________________

application’s performance. It will assure that the


information’s are always true and accurate.
3. To make the system more replicable for mass
production or other use that requires creating
multiple copies of the system, the researchers
recommends to use a platform or components that
are optimized in creating dispenser-like systems to
reduce compatibility and availability issues.
4. In order for the system to be more autonomous, the
researchers recommend to eliminate internet-
dependent functionalities such as the speech
recognition used by the researchers. Future
researchers are advised to use local voice
recognition engines if such technologies are
available.
5. To add other physical examination features that can
increase the accuracy of the diagnosis of the
system.

S-ar putea să vă placă și