5GL-Doctor, Medical Diagnosis Aid/Expert System for Windows (32 or 64 bit), Suitable for the personal and professional user

All rights reserved © 5GL Software, Australia

A medical diagnosis aid/expert system. Large database with thousands of medical condition names (diseases) associated with a symptom/sign/event pattern. Suitable for personal or professional user. Lab analysis and drug reactions separate functions. Entries in the database, in their description, are intended to aid diagnosis. These rarely contain a complex description, more clues and hints to diagnosis. Treatment information is for the general user only.

Yipee

Need to relax? Who doesn’t? Enjoy good classical style science fiction?  Click on cover for link or search for Yipee Lulu.

RemindMe Links

So How Does It Work?


In General

An inquiry consists of items (elements) mainly symptoms and signs. So does the symptom/sign/event pattern associated with each medical condition.


Probability P()’s

Probability calculations “P()’s” are made how well items in the inquiry match the pattern. In general, the P()’s are added together and divided by the total number used. Easy enough when working out the P() of say three inquiry items matching a pattern with typical presentation items of 5. That P() would be 3/5. Not so easy overall because ‘temperature or fever’ appears in over 460 entries. What is the value of such a match then? 1/460? This depends on other factors. Fever is a typical symptom of infection so if the category of a condition is Infection, this becomes a key item. If there is an associated rash then the category Fever and Rash becomes the preferred category (i.e. the one more probable).  


Inference P()’s

Some P() are not true mathematical P()’s but intuitive P()’s usually worked out by trial and error. For example, if rash and fever are present in the inquiry then any illness in the category Rash and Fever is a strong contender. This is inference more than P() calculations.


Predictive P()’s

These attempt to predict the next symptoms/signs that have not as yet shown up. About the only way to explain is by example.

Let’s say the inquiry is: chest pain or discomfort, cough

Let’s say we set the required matches to 2 else we get 276 selections . Setting to 2 reduces this to less than 70

All the medical conditions on the internal short list are scanned to find the most common symptoms that are associated with chest pain and cough, as scanned from the internal short list. The answer will be:

breathing difficulties or shortness of breath appears 36 times

temperature or fever appears 29 times

Once the predictive algorithm determines this, it goes over the short list and bumps up (calculates) the P() value of any entry that contains one or both of these anticipated symptoms (which the patient doesn’t have at presentation).

Much of the time you would know the Category of interest or the key symptom(s) you want to focus on, and you can specify these. The P()’s become more refined in such cases. If you  have some test results then the lab analysis function is the first bus stop.

Some of the information in the database is more for the software. How rare or very rare a condition is, that is not easy to find about many conditions, but even so these definitions are more for the internal software algorithms. However, there is incidence information in most entries as found in reliable medical sources.

The brain/mind/psyche analysis started out as an experiment. The concept of building IRC’s (an Irreducible Complexity Universe). This turned out to work exceptionally well. The IRC’s assume all inquiry items are related and absolutely have to fit into one IRC. If not one IRC is completely satisfied - then there must be another IRC that has to work this out. That other is a health professional.

The intent of the software is to aid diagnosis. In many entries a number of explanations from different medical sources are included about how to diagnose a particular condition, or what are the tips and hints. During analysis, you may come across an unexpected message, e.g., telling you that fever of an unknown origin in a child under 8 requires investigation of heart functions. These messages are from Rules which you can define yourself, or switch the option off so you don’t see these. There are some conversations which are medical algorithms that can refine a diagnosis.

Emergency conditions, regardless of whether such fit the inquiry as well as others, are pushed up the short list.

While the display size adjusts to any size (within reason, it can’t adjust to a mobile phone display and perhaps not to smaller tablets), the larger the display the better it is to see the results.


An IRC example

IRC algorithms are used by brain/psyche, however, there are some functions which are an IRC analysis. For practical purposes, maybe that is all  that is required? In this analysis you can exclude symptoms/signs/events that appear too often in disease patterns. In this example temperature and fever is excluded because it appears 492 times. These symptoms/signs can perhaps confuse an issue of diagnosis. Vomiting 393 times. Weakness 329 times. The result, the top result of Pancreatitis, is the same as Analysis 1.

It is a question of being familiar with the software and its options and its different functions. While Analysis 1 is the true Expert System - for practical purposes this instantaneous analysis below may be adequate.


How Does It Work?


The Expert System nature consists of these parts:

1. Probability calculations (click here for a simple example)

2. Inference

3. Predictive algorithms (these try to predict the next symptoms/signs/events that have not as yet appeared)

4. Higher level thinking algorithms. Some known as IRC’s. Refer further for an explanation.


If you were to download and use 5GL-Doctor version 10 today, in response to the inquiry shown you would receive a short list similar to the one on the left. (I say similar because this web site is not updated that often but the actual 5GLDoctor Setup file may have been - usually with a larger or more refined database or symptom/sign definitions. That results in slight variations to most short lists (usually slight).)

If you then ask (an option) to see only mathematical probability figures, you would receive the list below it.

Is there much difference? For practical purposes would it matter which short list is the DDX?

Which short list is a better differential? Does it really matter for what the software is designed to do - to aid diagnosis? In any case almost all entries contain differential diagnosis lists from medical sources, often more than one as such can vary.

One of the headaches in putting together the software was not the mathematics, it is more the symptoms/sign/event pattern definition. Medicine doesn’t always use standard definitions. One medical source may explain a symptom of hyperthyroidism as “protruding eyes” another as “eye problems”. When do the two mean the same? The former seems clear and distinct, the latter could mean any issue with an eye - you need to understand the disease and when you do you automatically equate eye problems with protruding eyes.

At the core of 5GL-Doctor is a mathematical probability engine. That engine doesn’t take into account if a patient is male or female or child or has preexisting conditions such as diabetes or is post surgery (or whatever; the Esp. field allows input of such information but that’s for the Full Analysis use).

The mathematical engine is only mathematics. The inquiry is a set of elements. A disease pattern is a set of elements consisting of symptoms/signs/events. Pattern matching mathematics are then used to work out how well the inquiry fits into any disease pattern. The results handed over to the Full Analysis which then starts considering other information such as if a patient is a child or pregnant or has preexisting conditions as explained in the Esp. field.

The actual mathematics used are explained in the documentation. In this article I am attempting to explain these in a ‘high level’ style. I am trying to kind of map the actual P() calculations onto a plain English explanation of what is taking place.

Some of the disease pattern entries could be perhaps better defined. The better the definition, the more accurate is the mathematical processor. For the purpose of finding the information you want quickly, some patterns may contain a kind of duplication: wart on index finger, wart on hand. This type of approach does reduce slightly the correctness of the mathematics.  The actual incidence field (used by Full Analysis) is not used by the P() calculations because it is a kind of mess, a stab in the dark sometimes, because most of the time good incidence information is hard to find for many diseases. (You can modify all parts of the database to suit).

Symptoms and sign description has been designed for the personal user - but such are associated with medical names which when selected may combine some symptoms/signs/events together. The disease patterns rarely contain lab results because there is separate lab function (although such may contain some imagining such as CXR findings as part of the pattern).

A user may lose perspective on one aspect. 5GL-Doctor Analysis 1 is an Expert System, undisputedly, but it is also a large database management software for medical information. There are different ways information can be found.

Maybe future diagnostic experts will be AI? If you consider the two displays above - the power of what mathematics alone can do is impressive. Note that inference algorithms are not used by the mathematical processor directly, that is the Full Analysis that does this. The maths processor does rely heavily on what is defined as an IRC concept (explained further on.)

If we look up say a differential for Reflux, it may not give the same conditions as the above short lists. That’s because the inquiry above is more general, not specific to a particular condition.

Any of the short lists presented on these web pages serve a purpose of reminding the health professional about conditions that he or she may have even forgotten. The short list entries can be quickly dismissed if not applicable.