who-icatx / whofic-models

Information models used to represent artifacts for WHO-FIC classifications
0 stars 0 forks source link

Add entity type to entities #24

Open tudorache opened 1 month ago

tudorache commented 1 month ago

We need a way to distinguish different entity types, for example, ICD, ICF, ICHI, Extension Codes, etc. for different purposes (e.g., we need to use different postcoordination axes for different entity types, or different default linearization views per entity type, etc.)

We can do this by traversing the class tree up and find the top node, but it is inefficient.

Therefore, I propose to use an annotation property, e.g., entityType that can have as values (maybe I forgot some): ICD, ICF, ICHI, ExtensionCode, ExternalCause

An entity (class) can have multiple entityTypes, for example, one might be both ICD and ICF, or both ICD and an ExtensionCode.

This is an important issue that we should try to address with priority.

csnyulas commented 1 month ago

This should be discussed with @cannn (and @matthewhorridge and @samsontu) as well.

samsontu commented 1 month ago

Ideally, the entity types in the Foundation are semantic types of the entities and not the classifications. Tania hinted at this when she separates out ExternalCauses, which has its own set of postcoordination axes. I wonder whether it's possible to extend this case to define entity types like DiseaseAndDisorder, Injury, Intervention, ExternalCauses, and associate specific sets of postcoordination axes with them.

I see in the current iCAT that there is an "Extension Codes" linearization in the Post-coordination tab. I don't understand this entry. I think there is a case for specifying postcoordination axes for Foundation entities, but my understanding is that we don't postcoordinate on extension codes. The "laterality" axis is elevated as a descriptor of the disease category instead of the anatomical location that "laterality" modifies.

samsontu commented 1 month ago

I guess the argument for using entity types like ICD, ICHI, ICF, and ExtensionCode may be the need to assign default linearization views. I don't understand how it is done now. It seems that ICD categories get a set S of possible linearization views, extension codes get the set S plus ICHI and ICF, ICHI categories (intervention + defining 3 axes) get ICHI, ICF gets S minus ICD-O plus ICF. What is the desired behavior we are aiming for?

matthewhorridge commented 1 month ago

Just a quick request before further comments. Please could we think of a name other than "entity type"? It conflicts with the use of entity and entity type in OWL (Class, Object Property etc.). Would "entity category" be okay?

matthewhorridge commented 1 month ago

We can do this by traversing the class tree up and find the top node, but it is inefficient.

Why is this inefficient? It's linear in the size of the ontology, in the worst case. Looking to see if a class has an ancestor seems to me the best way... otherwise, aren't we duplicating information?

samsontu commented 1 day ago

Tania summarized the issues in a Google Doc document. I suggest we keep the discussions in the GitHub issue tracker.

The so-called "entity type" is a mixture of classification information and semantic types. Perhaps we can model these two dimensions explicitly. An entity may have its semantic types, which govern what post-coordination axes it may have, and it also plays some "classification roles" (e.g., ICF extension code, ICD category, ICHI axes), which govern what linearizations are appropriate. Semantic types of ICD categories include Conditions (including diseases/disorders, signs and symptoms, injuries), External causes, Factors influencing health status or contact with health services (Reason for encounters), Traditional medicine, Functioning. Now that the dimensions of external causes have been changed into post-coordination axes. Do they need special forms? Pehaps the classification roles can determine the forms (not including post-coordination specification) for the entities.

samsontu commented 1 day ago

On the question of whether an entity may have multiple "entity types," if we decompose the two dimensions that I described in an earlier comment, then the answer is undoubtedly yes. Furthermore, even within the dimension of classification roles, we may see multiple roles for the same entity. For example, ICF body structures and ICD Anatomical details should be reconciled so that the Foundation has one consistent anatomy hierarchy (perhaps with different "views"). Thus, an anatomical structure may be simultaneously an ICF category and an ICD extension code. There are also discussions of using ICHI interventions to specify ICD "Surgical or other medical procedures associated with injury or harm in diagnostic or therapeutic use".