Documente Academic
Documente Profesional
Documente Cultură
__________________________________________________________________________________________________________________
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|
__________________________________________________________________________________________________________________
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|
__________________________________________________________________________________________________________________
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.
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
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|
__________________________________________________________________________________________________________________