next up previous
Next: Conclusions and Results Up: Terap-IA Previous: Rules

Modular structure

The structural construct of Milord II is the module. A program consists of a set of modules that can recursively contain other modules, then forming a hierarchy.

A module declaration can be clustered in the next sets of components: hierarchy, interface, deductive knowledge and control knowledge.

- Hierarchy: Is a set of submodule declarations.
- Interface: It has two components, the import and the export interface. That is, which propositions and variables may be asked to the user (import) and those whose value is computed by the module (export).
- Deductive knowledge: It contains a dictionary declaration, that is, the set of propositions and variables (those belonging to the interface of the module and other intermediate ones) and their attributes; a set of rule declarations, that is, a set of propositional weighted rules; and an inference system declaration, that is, the local logic of the module.
- Control knowledge: It is expressed in a meta-language which acts by reflection over the deductive knowledge and the hierarchy of submodules.

The implementation of the conceptual scheme of Figure 1 is made by programming several Milord II modules (about one hundred). It is not possible here to explain in detail every module of the system, thought, we will give some idea of their commonalities by explaining groups of modules.

Pharmacological model modules These modules contain the knowledge about antibiotics for the Terap-IA domain. We represent each antibiotic as a concept for which we declare to which pharmacological group it belongs; which is the administration route of that antibiotic (oral or parenteral); the possible interactions with other drugs administrated to the patient and which are the antibiotics with the same activity.

For instance, erythromycin is an antibiotic that belongs to the group of macrolides, it interacts with another drug, teophylline, and it has the same sensibility than the antibiotic doxycycline. The administration source of this antibiotic can be both: oral or parenteral.

This information will be used by modules that reason about antibiotics. Following the example above it is not adequate to administrate erythromycin to a patient already taking teophylline, it is better to administrate an antibiotic without interaction with teophylline, for instance, roxithromycin.

All the concepts above (antibiotics, pharmacological groups of antibiotics, other drugs, administration source) are declared into the pharmacological model modules. Every propositions or variable declaration contains relations with other propositions and variables, for instance, we declare that the antibiotic erythromycin belongs to the group of macrolides.

Data acquisition modules These modules are the responsible of gathering the patient data that the expert has considered to be relevant for a correct treatment determination. For instance the number of leukocytes in the blood of the patient is an important laboratory test data. It is useful to determine if there is penicillin-resistant to pneumococci microorganism, that is, whether penicillin is adequate to treat pneumococci or not.

A data acquisition module usually deduces values for concepts different from those acquired from the patient. For instance, one of them deduces penicillin-resistant from the number of leukocytes (we consider that there is penicillin-resistant when the number of leukocytes is less that 5000 cells per a mm tex2html_wrap_inline1036 .

Many concepts in the domain are vague. In some cases quantitative data is translated into a qualitative one by means of fuzzy sets. For instance, it is easier for the expert to reason about the concept the state of white blood cells is than the number of leukocytes is 7000 tex2html_wrap_inline1038 . This qualitative abstraction allows the expert to say, for example, that there is penicillin-resistance of pneumococci when the state of white blood cells is . You can find examples of qualitative abstractions in Section 3.2.

Examples of this type of modules are: the related to the clinical history of the patient; his physical examination; his laboratory test and chest radiograph data; the possible complications (for instance, associated infectious diseases as meningitis or arthritis) and the severity of illness.

Sieve modules group These modules, independently of the microorganism we want to treat, modify the current antibiotic treatment by eliminating the antibiotics belonging to concrete groups of antibiotics of the list of possible treatments for a patient. For instance, it is not possible to administrate antibiotics of the group fluoroquinolones to a pregnant patient, because it would affect the fetus.

These modules use the pharmacological model modules and acquisition data modules to determine which are the groups of antibiotics that is possible to administrate to a given patient.

The modules of this group are: pregnancy; allergies; renal failure; and genetic conditions. Each module uses data about the patient (from the data acquisition modules) and exports groups of antibiotics. The truth-value of every group of antibiotics is weighted taking into account the adequacy of that group of antibiotics for the given patient. For instance, if the patient has allergic reaction to penicillin, the module of allergies gives to the penicillin group the truth-value false.

Operationally we start from a truth-value of definite for each group of antibiotics, and then every sieve module sequentially ``sieves'' them, keeping the same truth-value if there is no reason against the group, or decrementing it if there is. When the truth-value is false we consider that the group has been eliminated from the list of potential groups.

Microorganisms modules groups There are twenty-two groups of microorganism modules, one group for each microorganism treated by Terap-IA. Each group of microorganism modules uses the output obtained by the pharmacological model modules, data acquisition modules (specially those about severity of the illness, adverse reactions and interactions) and by the sieve modules group. They deduce which antibiotics to use to treat a microorganism, giving a truth-value for each antibiotic. The truth-value of an antibiotic is obtained taking into account the truth-value of its group (obtained by the sieve modules) and data about the patient.

Given a diagnosis (one, two or three possible microorganisms) the system only executes the microorganisms' module groups corresponding to the microorganisms in the diagnosis.

Combination modules group These modules combine the results of the microorganisms modules. The modules providing input to this task export truth-values for antibiotics. Truth-values represent the adequacy of antibiotics for treating the microorganisms. The results of these modules are weitghed antibiotic combinations.

There are several criteria to combine the antibiotics, implemented in these modules. The combinations are of one (monotherapy), two or upmost three antibiotics. Some of the criteria are:

- Combinations are never made with antibiotics belonging to the same group.
- Combinations are never made with antibiotics that have the same sensibility, that is, antibiotics that cover the same microorganisms.
- Combinations are never made with antibiotics that have different administration route (oral or parenteral).
- Given the same adequacy (truth-value) we prefer a monotherapy than a combination with two or three antibiotics.

Sieve combinations modules group The combinations of antibiotics are ``sieved'' taking into account other criteria, as specificity or cost.

Finally, the system gives to the user the ordered set of antibiotic combinations possible to administrate to the concrete patient.


next up previous
Next: Conclusions and Results Up: Terap-IA Previous: Rules

Josep Puyol-Gruart
Mon Nov 24 11:06:05 MET 1997