Development of an e-diagnosis software tool for telemedicine applications in obstetrics and gynaecology

Journal of Engineering Research and Design Vol.1(1), pp. 1-10, June, 2013 http://www.peakjournals.org/sub-journals-JMMR.html ISSN 2331-5830 ©2013 Peak...
Author: Vincent Andrews
1 downloads 2 Views 674KB Size
Journal of Engineering Research and Design Vol.1(1), pp. 1-10, June, 2013 http://www.peakjournals.org/sub-journals-JMMR.html ISSN 2331-5830 ©2013 Peak Journals

Full Length Research Paper

Development of an e-Diagnosis software tool for telemedicine applications in obstetrics and gynaecology Umukoro, Jude Erakpoweri Accepted 10 June, 2013

Information and Communications Technology (ICT) as applicable to medicine is useful to medical doctors and researchers in the field of telemedicine. In recent years, there has been inaccessibility to health care services and late detection of diseases which leads to death. This paper is aimed at enhancing doctor’s diagnosis in the field of obstetrics and gynaecology to reduce errors. It is also used in providing medical diagnosis most especially to emergency patients by applying artificial intelligence. Data were collected from the department of Obstetrics and gynaecology, University of Ilorin Teaching Hospital, Nigeria; system was designed and algorithms were developed for each module. The developed algorithm was implemented using Java programming language and the back propagation method was selected to train the network. 675 data were used for training and 349 were used for validation. The overall architecture with the best performance contained an input, hidden and output layer with 11, 12 and 9 neurons respectively, with a learning rate of 0.9 and momentum of 0.25. Also, 25 patients were tested and result showed that the software tool was able to identify 92% of the diseases as compared with the medical test and 98% as compared with doctor’s diagnosis. Hence, the software tool will be useful to medical doctors in the field of obstetrics and gynaecology to enhance their diagnosis. Key words: Back propagation, neural network, e-Diagnosis, telemedicine.

Department of Electrical Engineering, University of Ilorin, Ilorin, Nigeria. E-mail: [email protected].

INTRODUCTION The practical significance of studying and developing electronic diagnosis is obvious. Most doctors undergo training for years to become professionals in carrying out diagnosis; they carry a very serious responsibility that is effort-intensive for the accuracy of their diagnoses and the efficaciousness of their treatments. In spite of all the training, error still occur (which is minimal) in carrying out diagnosis due to the vast body of ever-increasing medical knowledge they must remember and access. Late detection of diseases and deficiencies in patients’ health state is also a problem in this part of the world. In addition, identification of diseases in emergency situation is always difficult in cases where there are no specialists to effectively carry out treatment. But applying artificial intelligence could optimize performance to eliminate the above problems as well as avoid repetition of medical test.

Many methods based on neural networks combined with other algorithms have been used for diagnosing diseases such as diagnosis of tuberculosis (Er et al., 2008; Elveren and Yumuşak, 2011), analysis of blood and urine samples of diabetic patients (Catalogna et al., 2012), medical diagnosis of urological dysfunctions (Gil et al., 2009) and comparative chest disease diagnosis (Er et al., 2010). A method for developing a fully automated computer aided diagnosis system to aid radiologist in detecting and diagnosing micro-calcifications in digital format mammograms was obtainable (Zhang et al., 2008). Monadjemi and Moallem (2008) examined application of artificial neural networks in typical disease diagnosis. The genuine procedure of medical diagnosis which is usually used by physicians was critically analyzed and changed to a machine implementable format. However, it lacked adaptive monitoring to patients and needs decision

(expert) system to suggest emergency measurement in each cluster’s severity. A study was carried on chronic obstructive pulmonary disease (COPD) severity

The information moves in only one direction, forward, from the input nodes, through the hidden nodes and to the output nodes. There are no cycles or loops in the Umukoro 2

classification using principal component and cluster analysis on heart rate variability (HRV) parameters using heart rate, blood pressure and respiration signals (Newandee et al, 2003). A model was simulated and implemented using NeuroSolution software for heart disease diagnosis; the results showed very high performance and accuracy (Syed et al., 2013). Also, an automated detection method based on CNN algorithm for brain tumor was developed using graphical user interface (GUI) in MATLAB. Computer simulation results showed that the CNN simulator was able to detect the location of brain tumor successfully and was verified by radiologists (Abdullah et al., 2012). Java was implemented from Encog 3.0.1 to predict cancer cell sensitivity to drugs based on genomic and chemical properties (Jeff, 2011). Computer Assisted Scoring (CAS) tools such as SPSS Text Analysis was used to diagnose the explanatory elements that comprise undergraduate students’ explanatory models of natural selection with equal fidelity as expert human scorers in a sample (Ross and Hendrik, 2012). Steffen (2003) implemented a fast artificial neural network (FANN) using multilayer feedforward networks with support for both fully connected and sparse connected networks. FANN offers support for execution in fixed point arithmetic to allow for fast execution on systems with no floating point processor. The objective of this project is to develop an artificial intelligence (AI) software tool using artificial neural network to enhance medical doctor’s diagnosis.

network. The proposed neural network is shown in Figure 1. In this study, the neural network was presented first with training data, and the results from the feedforward process were compared with the targeted results. The difference between the actual results and the targeted results produced an error. Finally, weights were updated using the following equation:

METHODOLOGY Feed-forward neural networks are generally and effectively used models for forecasting and finding solutions to problems. A typical feed-forward back propagation neural network is anticipated to the diagnosis of diseases. It consists of three layers; the input layer, a hidden layer, and the output layer. 11 and 9 neurons were present at the input and output layer respectively. A one hidden with 10 hidden layer neurons was created and trained. The activation function chosen for this work was Log-Sigmoid function. It was chosen because it was differentiable for back propagation. Also it receives any value between plus and minus infinity and returns it between zero and one. 33 symptoms and 19 diseases were used for the study and are shown in Table 1. The input and desired samples are automatically divided into training, validation and test sets. The training set is used to teach the network which determines the success of the network. Training continues as long as the network keeps on improving on the validation set. The test set provides a completely independent measure of network accuracy.

W k  1  W k    S a m

Where

m

m



m 1

m 1

was the output of the previous layer and S m was the sensitivity of the mth layer. wm is the weight

a

i, j

connection of the m layer from input neuron to output neuron and k is the iteration number. We continued to iterate until the difference between the network response and target function reached some acceptable level. th

Software architecture The software tool was designed and developed in modules as shown in Figure 2

Training module This module was used for training the neural network. Network parameters were selected such as number of input, hidden and output neurons. The training parameters were also selected such as number of epoch, learning rate, and momentum. These determined the success of the network. Figure 3 shows the flow chart of the training module.

Operation module This is the user interface where one can input various symptoms and patients data like name, sex and age. The training and output module can be obtained from this module. The feedforward process takes place here after training to give us an accurate diagnosis. Figure 4 shows the flow chart of the operation module.

Output module This enables us to view the diagnosis. It gives information on all the possible diseases based on their probability.

Software implementation

The software tool used for implementation of the J. Eng. Res. Des.

Table 1. Symptoms and possible diseases.

Symptoms Absence of menses Fainting spells Bleeding per vaginam Fainting Shoulder tip pain Generalized body weakness Passage of tissue Vaginal itching Vaginal discharge Irregular vaginal bleeding Painful sexual intercourse Painful urination Pregnancy over 20 weeks Headache Blurring of vision Abdominal pain Convulsion Fever Offensive vaginal discharge Lower abdominal pain Yellowness of the eyes Post delivery Poor appetite Heartburn Vomiting Pregnancy over 28 weeks Absence of fetal movement Spotting per vaginam Lower abdominal swellings Excessive and irregular vaginal bleeding Bladder not functioning Blood in urine/stool Vagina discharge with odour and blood

Diseases Ectopic pregnancy Ruptured corpus luteum Ruptured corpus haemorrhagicum Vaginal candidiasis Menopause Gonorrhoea Eclampsia Epilepsy Puerperal sepsis Puerperal malaria Hepatitis Pregnancy Placenta abruption Placenta previa Pelvic inflammatory disease Uterine fibroid Ovarian mass Endometriosis Cervical cancer

3

Figure 1. The proposed network.

Umukoro

e-Diagnosis

Training Module

Selection of network parameters

Operation Module

Select training parameters

Figure 2. Software design.

Output Module

Selection of symptoms

Patient data

4

Start

Specify number of layers and neurons and activation function in each layer

Initialize all weights with random values

Input a random training set of input/output pattern

Compute network actual output

Backpropagate error and adjust weights

Compute error = Target– Actual output

Iteration = Iteration +1

Yes

Is iteration < a specified value

No

Stop Figure 3. Flowchart for training module.

J. Eng. Res. Des.

5

Start

Input patients data

Input symptoms

Obtain weights saved after training

Propagate input forward and obtain a diagnosis

Stop Figure 4. Flowchart for operation module.

Figure 5. Training module.

algorithm was accomplished using Java programming language to simulate the response of the network and perform the learning procedure. The reason for using this language was because programs written with Java are faster, easy to use and is therefore easy to write, compile, debug, and learn than other programming languages; it is object-oriented; that is, it allows you to create modular programs and reusable code; it uses automatic memory allocation, and has the ability to run

the same program on different systems and most especially its Graphical User Interface (GUI) capabilities. The software was developed in modules as shown in Figures 5 - 7 with each module having its own GUI that was designed to allow for easy access of the user. To train the network to produce error signal, 675 training data were used. To check whether the network has learned to recognize errors, another 349 validation data were used in other to check for the response of the Umukoro 6

Figure 6. Operation module.

Figure 7. Output module.

network to errors on data which were not used in the actual training.

RESULTS AND DISCUSSION An experiment was conducted to determine the best combination of parameters for training. From the result

shown in the Table 2, it was discovered that when the root mean square error (RMSE) was large, the expected output was far from the actual output but when it was very small, the answer was very close to the target and as a result, an accurate diagnosis was obtained; this agrees with an RMSE of 0.0278 obtained by Qeethara (2011). Also, a learning rate of 0.9 and a momentum of 0.25 with epochs of 1000 and 12 neurons in its hidden J. Eng. Res. Des. 7

Table 2. Experimental results to determine the best combination of training parameters.

Learning rate

Momentum

Epochs

0.2 0.2 0.3 0.3 0.4 0.4 0.7 0.4 0.7 0.7 0.7 0.7 0.7 0.9 0.6 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0.01 0.15 0.2 0.5 0.6 0.9 0.4 0.6 0.4 0.35 0.4 0.4 0.4 0.25 0.32 0.25 0.25 0.25 0.25 0.25 0.25 0.25

1 1 1 1 1 1 1 10 10 10 20 50 100 100 100 1 10 20 50 300 500 1000

Figure 8. Graph of RMSE versus Epochs for

layer gave the best minimal error for the given set of data. From the graphs shown in Figure 8, it was observed that the higher the epoch, the smaller the RMSE and so the more the network learns. Also, a momentum of 0.25

RMSE (Hidden layer=10 0.4618 0.459 0.4447 0.4378 0.407 0.5049 0.37357 0.0902 0.07621 0.08188 0.05289 0.02866 0.01548 0.01622 0.0229 0.369049 0.081086 0.052006 0.0252919 0.0078217 0.0022451 0.0005793

RMSE (Hidden layer=11 0.4606 0.4582 0.44546 0.4345 0.4031 0.501925 0.3825 0.0991009 0.070999 0.07154 0.042524 0.022145 0.018453 0.0144168 0.0162271 0.3752306 0.0724415 0.047225 0.0249355 0.0075106 0.0021598 0.0005197

RMSE (Hidden layer=12 0.4613 0.45668 0.44027 0.42901 0.40261 0.49387 0.36849 0.073275 0.0725 0.07342 0.0412 0.0204 0.01485 0.012556 0.0157785 0.364769 0.0684052 0.043128 0.017647 0.0071977 0.0020059 0.0004998

and

accelerates convergence faster than that of 0.4; however, a learning rate of 0.9 learns faster than that of 0.7 (Jaswinder et al., 2010). To validate the process, three cases were presented as Umukoro 8

Table 3. Result of Training Validation.

Symptoms Case 1 Absence of menses Vaginal bleeding Shoulder tip pain Generalized body weakness

Case 2 Vaginal itching Irregular vaginal bleeding Painful sexual intercourse Painful urination

Case 3 Pregnancy over 20 weeks Blurring of vision Convulsion

Desired output

Actual output

Error

0 0 0 1 0 1 1 0 0

0.028110499 0.118064108 0.022570112 0.999502975 0.005296965 0.994337498 0.999957205 0.029263645 0.016573594

-0.02811 -0.11806 -0.02257 0.000497 -0.0053 0.005663 4.28E-05 -0.02926 -0.01657

0 1 1 1 0 1 0 0 1

0.00939767 0.996834835 0.998662125 0.994481002 0.014756568 0.989570593 0.093755696 0.009549806 0.999401104

-0.0094 0.003165 0.001338 0.005519 -0.01476 0.010429 -0.09376 -0.00955 0.000599

1 0 0 0 0 1 0 0 1

0.999671639 0.034809917 0.043831113 0.012380931 0.003474483 0.996547529 0.03380777 0.027055032 0.99953418

0.000328 -0.03481 -0.04383 -0.01238 -0.00347 0.003452 -0.03381 -0.02706 0.000466

shown in Table 3. From the result shown in Table 3, a ‘zero’ represents the absence of a disease while a ‘one’ represents the presence of a disease from the output neurons. Also the validation test was passed by all the data meaning when various inputs were selected, the error obtained was very minimal showing that the training was successful. To evaluate the performance of the developed software tool, 25 patients were tested from the following hospitals: 1. University of Ilorin teaching hospital, Ilorin. 2. Tolulope hospital, Ilorin The doctors made their diagnosis and went further to carry out medical test on these patients to confirm their diagnosis. It went along side with testing these patients with the software tool developed and comparing both diagnoses to certify whether the software tool was accurate and efficient. Table 4 shows the results of both diagnosis and the medical test for five cases. From the

results shown in Table 4, it was seen that when different symptoms were selected and the diagnosis button clicked from the software tool, the output gave us diagnosis of all possible diseases that were associated with the symptoms based on what it has learnt. It was observed that the diagnosis was given on probability. This will enable the medical specialist to effectively carry out diagnosis (Monadjemi and Moallem, 2008). The result from Table 4 shows that the software tool was able to identify 92% of the diseases as compared with the medical test and 95% as compared with doctor’s diagnosis. It was observed that diagnosis with high probability was contained in the doctor’s diagnosis (Low and Jeffery, 1990). The software tool was unable to diagnose two different diseases because they were not included in the data collected. Hence, the software tool will be very useful to medical doctors in the field of obstetrics and gynaecology to enhance their diagnosis. It is apparent that before operations can be effected, the network has to be trained. After training, the correct set of J. Eng. Res. Des. 9

Table 4. Results from software tool, doctors diagnosis and medical test.

SYMPTOMS TEST 1 Absence of menses Fainting spells Vagina bleeding Fainting Generalised body weakness TEST 2 Pregnancy over 20 weeks Headache Abdominal pain Convulsion TEST 3 Vagina discharge with odour and blood Blood in urine/stool TEST 4 Absence of menses Vomiting Poor appetite Heart burn TEST 5 Post delivery Lower abdomina pain Offensive vagina discharge

SOFTWARE TOOL DIAGNOSIS

DOCTOR'S DIAGNOSIS

AFTER TEST

Ectopic pregnancy on prob=1.0 Ruptured corpus luteum on prob=0.5 Ruptured corpus haemorrhagicum on prob=0.5 Menopause on prob=0.16 Placenta abruption on prob=0.16 Placenta previa on prob=0.5

Ectopic pregnancy Ruptured corpus luteum Ruptured corpus haemorrhagicum

Ectopic pregnancy

Ruptured corpus luteum on prob=0.25 Eclampsia on prob=1.0 Epilepsy on prob=0.66 Ovarian mass on prob=0.33 Endometriosis on prob=0.5

Eclampsia Epilepsy Endometriosis Abortion

Endometriosis on prob=0.5

Cervical cancer

Cervical cancer on prob=0.66

Endometriosis

Pregnancy on prob 1.0

Pregnancy

Pregnancy

Puerperal sepsis on prob=0.75 Puerperal malaria on prob=0.66 Hepatitis on prob=0.33

Puerperal sepsis Urinary tract Infection

puerperal sepsis Urinary tract infection

Placenta previa

Eclampsia Threatening abortion

Cervical cancer

Prob, Probability.

weights that best represents the relationship between the input and the output parameters must be established. This set of weights was obtained by severally adjusting the learning rate and momentum, varying the neurons in the hidden layer and increasing the number of epochs. It was observed that e-Diagnosis would be very inaccurate with the wrong set of weights.

The software tool has been compiled and built in such a way that it can be installed as a regular program. This can be ran from the start menu and uninstalled like any other program in the control panel.

could have an 'e-Diagnosis System' as part of their home entertainment centres. The importance of an appropriate design methodology in this application was demonstrated. The neural network is an intelligent programming technique capable of solving medical diagnosis problem; it also provided accurate results. In fact, it successfully represents the function it was trained to perform. While acknowledging the limitations of the software tool, this study also represents a positive step towards developing an exhaustive tool for telemedicine applications in the real world context. In conclusion, medical diagnosis provided by artificial intelligence applications can save life, reduces cost and be useful to medical doctors.

Conclusion

RECOMMENDATIONS

Current medical service systems are lacking in terms of offering accurate diagnosis and early detection of disease symptoms and problems in patient’s health state. It is not too much of a stretch of the imagination to realize that telemedicine will soon be just another way to see a health specialist, just as using any other software on your system. Also, it has been theorized that medical doctors

The developed software is capable of carrying out

System deployment

diagnosis in obstetrics and gynaecology only due to the scope of the work. Therefore it is recommended that the

scope should be extended to other areas of medicine such as paediatrics, internal medicine, radiology, etc. The software application could be used by doctors to double-check their diagnosis. This provides a very less tedious means of carrying out diagnosis with reduction in diagnosis errors and is relatively much faster. It could also be used in cases of emergency where the identification of a disease(s) is very necessary before seeing a specialist so that treatment can commence. In other words, patients can be checked for diseases quickly and painlessly and thus detecting diseases at early stages. REFERENCES Abdullah AA, Chize BS, Zakaria Z (2012). Design of cellular neural network (CNN) simulator based on Matlab for brain tumor detection. J. Med. Imaging Health Informat. 2(3):296-306. Catalogna M, Cohen E, Fishman S, Halpern Z, Nevo U, Ben-Jacob E (2012). Artificial neural networks based controller for glucose monitoring during clamp test. PloS One. 7:e44587. Elveren E, Yumuşak N (2011). Tuberculosis disease diagnosis using artificial neural network trained with genetic algorithm. J. Med. Syst. 35:329-332. Er O, Temurtas F, Tanrıkulu A (2008). Tuberculosis disease diagnosis using artificial neural networks. J. Med. Syst. 34:299-302. Er O, Yumusak N, Temurtas F (2010). "Chest disease diagnosis using artificial neural networks", Expert Syst. Appl. 37(12):7648-7655.

Umukoro

10

Gil D, Johnsson M, Garicia-Chemizo JM, Paya AS, Fernandez DR (2009). "Application of artificial neural networks in the diagnosis of urological dysfunctions". Expert Syst. Appl. 36(3):5754-5760. Jaswinder K, Satwinder S, Karanjeet SK, Pourush B (2010). Neural network-a novel technique for software effort estimation. Int. J. Comput. Theory Eng. 2(1):1793-8201 Jeff H (2011). Programming Neural Networks with Encog3 in Java. Low GC, Jeffery DR (1990). Function points in the estimation and evaluation of the software process, IEEE Trans. Softw. Eng. 1(1):6471. Monadjemi SA, Moallem P (2008). "Automatic diagnosis of particular diseases using a fuzzy-neural approach". Int. Rev. Comput. Softw. 3(4):406-411. Newandee D, Reisman S, Bartels M, De Meersman R (2003). COPD severity classification using principal component and cluster analysis on HRV parameters. Bioeng. Conf. IEEE 29th Annual proc. (pp. 3435). Qeethara KA (2011). Artificial neural networks in medical diagnosis. Int. J. Comput. Sci. Issues 8(2):150-154. Ross HN, Hendrik H (2012). Human vs. Computer Diagnosis of Students’ Natural Selection Knowledge: Testing the Efficacy of Text Analytic Software. J. Sci. Educ. Technol. 21(1):56-73. Steffen N (2003). Implementation of a Fast Artificial Neural Network Library (FANN). Department of Computer Science University of Copenhagen (DIKU). Syed UA, Kavita A, Rizwan B (2013). Data mining in clinical decision support systems for diagnosis, prediction and treatment of heart disease. Int. J. Adv. Res. Comput. Eng. Technol. 2(1):218-223. Zhang G, Yan P, Zhao H, Zhang X (2008). "A computer aided diagnosis system in mammography using artificial neural networks". Int. Conf. BioMed. Eng. Inform. 2:823-826.

Suggest Documents