Subsumption test

From Endeavour Knowledge Base

A subsumption test is the act of testing X to see if is subsumed by Y. The question can also be reversed by asking "Does Y subsume X?".

if X is subsumed by Y it means that all objects of type X are also objects of type Y. Class X is thus either a subclass of class Y, or is equivalent to class Y

Subsumption testing is the mainstay of health record query. It is the major differentiator of health care records from conventional database records that have simple codes or data types as values.

To take an example, when examining an entry in a health record that purports to be a diganosis, one could ask "is this diagnosis a communicable disease caused by a virus?".

Conversely, one might be interested in finding all the entries in a population of health records that are "communicable diseases caused by a virus", or even a question against an ontology such as "Get me a list of all communicable diseases caused by a virus".

The challenge to overcome is that in most cases, the relevant concepts that are X are not within a hierarchy of codes as specified by Y. There is no classification of diseases organised by whether they are communicable AND caused by viruses. Instead it is necessary to use a process called  inference to determine whether something is subsumed by something.

To make this work it is usually necessary to have a concept Y, properly defined using an ontological axiom

In practice, one of two types of techniques are employed when using subsumption testing in queries

Generate a list of concepts of type Y.  In this case a function determines all of the possible concepts X1... Xn  that are subsumed by Y and this list is used as a join or test against concepts store in records. This is the commonest way.

Is concept X subsumed by Y.  In this case the concept X definition is used against the concept Y definition, such  test usually including all other definitions in the ontology that are subsumed by Y.  This is more commonly used in decision support