Medical data are an ever-growing source of information generated from the hospitals in the form of patient records. When mined properly, the information hidden in these records is a huge resource bank for medical research. As of now, these data are mostly used only for clinical work. These data often contain hidden patterns and relationships, which can lead to better diagnosis, better medicines, better treatment, and overall, a platform to better understand the mechanisms governing almost all aspects of the medical domain. Unfortunately, discovery of these hidden patterns and relationships often goes unexploited. However, there is on-going research in medical diagnosis which can predict the diseases of the heart, lungs, and various tumours based on the past data collected from the patients. They are mostly limited to domain-specific systems that predict diseases restricted to their area of operation like heart, brain, and various other domains. These are not applicable to the whole medical dataset. The system proposed in this paper uses this vast storage of information so that diagnosis based on these historical data can be made. It focuses on computing the probability of occurrence of a particular ailment from the medical data by mining it using a unique algorithm which increases accuracy of such diagnosis by combining the key points of neural networks, Large Memory Storage, and Retrieval, k-NN, and differential diagnosis all integrated into one single algorithm. The system uses a service-oriented architecture wherein the system components of diagnosis, information portal, and other miscellaneous services are provided. This algorithm can be used in solving a few common problems that are encountered in automated diagnosis these days, which include diagnosis of multiple diseases showing similar symptoms, diagnosis of a person suffering from multiple diseases, receiving faster and more accurate second opinion, and faster identification of trends present in the- medical records.