Medical KBS design with patterns

Marie Beurton-Aimar


My researches are focused on problems linked to the design of medical diagnostic systems. Nowadays, computer-aided systems cannot be black boxes which contain a monolithic process. Systems must contain all components useful to store information, to search for a specific disease, to consult validated clinical tables and to compare the results for several diseases. This suggests the production of strongly inter-connected process modules, sharing a common data base of information. Sharing information is possible when the knowledge base is structured regardless to the treatment used. We have adopted an object-oriented architecture to design the knowledge base and a generic model of collaboration between several treatment modules. In this context, we have tested how the use of patterns can help to make such model and improve the design of the system.

The first goal is to model in the same way the pathologies which have heterogeneous signs. Definitions of diseases are characterized by simple signs like articular pain or by complex syndromes like inflammation characterized by a pain and a swelling, two primitive signs. Despite the complexity of signs the only interest is the result of the comparison between the patient and the disease signs. We have used the pattern Composite to keep hidden the complexity of signs. The diagnostic engine only infers the comparison without knowing anything about the composition of each sign. The pattern Iterator is used to define a generic model of access to the signs.

The expression of the weight of a sign into the disease diagnosis is linked to the method of reasoning. We have analyzed two methods of diagnosis. A scoring system and an evaluation based on the validation of a criteria list. Each of them has its own type of values (resp. numerical scale and symbolic value) but we want to share some information such as: ``the presence of articular pain is significant, the absence of destruction is very significant''. The coding of ``significant'' into a type of value depends on the reasoning methods but the concept of ``presence'' or ``absence'' is common to all of them. We have left the classic method which codes presence by a positive value and absence by a negative value and we have separated this concept from the representation of the value. The pattern State is used in order to save the information of "presence" or "absence" without taking into account which treatment is done. Finally, the pattern Strategy defines a class of reasoning method.

With the four patterns, we have defined four strategic points of the diagnostic system architecture which are not given by the semantical analysis of the domain. Patterns give an assistance to refine existing objects and to discover new ones.
Diagnostic systems are relevant to Artificial Intelligence domain and AI community has often ignored software engineering problems. But after a stage of experimental systems and toy applications, many authors argued in favor of improving the level of development, particularly in medicine (see ``The road to professionalism in medical informatics: A proposal for debate'' in Methods of information in medicine 1995, number 34). In medicine, the problems of maintenance are more acute. Medicine is an ``old'' science so it has many information to manage. Medicine is in evolution so it needs to evolutive applications. Clinicians want interactive programs therefore systems must be efficient. Object-oriented methods and patterns are a good opportunity to progress in this way.