who-icatx / icatx-project

A place for project tasks discussion and discussion of other issues arising on this project
0 stars 0 forks source link

Specify top level entity for the class hierarchy #53

Open tudorache opened 1 month ago

tudorache commented 1 month ago

It should be possible to specify a top level node that should be displayed in the class hierarchy. For example, to show all three classifications in iCAT, the top-level node should be "Classification Entities":

image

But, for different roles, the top level node will be different, for example, for ICF editors, the top-level node will be "ICF Entity":

image

and for ICHI editors, "ICHI Entity".

This top-level node should also filter the search results. For example, for ICF editors, they should only search in the "ICF entity" hierarchy, not in the entire ontology.

However, the top-level node can be tab-specific, it does not have to be role-specific. And then we would display certain tabs for certain roles.

matthewhorridge commented 1 month ago

Could each classification be in its own ontology? In otherwords, is the set axioms that make up ICD disjoint with the set of axioms that make up ICF and the set of axioms that make up ICHI?

samsontu commented 1 month ago

No, ICHI uses the same anatomy and topography entities as ICD. ICD includes a subset of ICF. There is an effort to "harmonize" the overlaps among the entities that originate from different classifications.

matthewhorridge commented 3 weeks ago

No, ICHI uses the same anatomy and topography entities as ICD

This is okay, because entities are only "mentioned" in ontologies in OWL. Two different ontologies can say things about the same entity. What I am really wondering is whether the axioms can be partitioned into three separate ontologies. This would make a whole bunch of stuff easier to implement.

csnyulas commented 3 weeks ago

How is importing an ontology on WebProtégé into another ontology in WebProtégé resolved now, and how are changes in the imported ontology reflected live in the importing ontology?

I know that a few years ago, when we identified this as a really cool and useful feature, this was not possible. The modularization of ontologies in different projects (and support for combining them in different ways in new projects) was one of the features that I missed most, back in the days.

The point being that it is nice to have separate modules, that are editable independently, as long as we also have a possibility to explore them, with their up-to-date content, in a combined manner (i.e. the entire foundation).

matthewhorridge commented 3 weeks ago

A project can contain multiple ontologies. So, in theory, ICHI could import ICD. You would get the complete ICD hierarchy in ICHI if you did this though.

@samsontu, @csnyulas, @tudorache Is there an easy way to determine whether an axiom belongs to ICD, ICF or ICHI?

csnyulas commented 3 weeks ago

(Theoretically) We could have separate projects for all the branches that are to be part of multiple classifications. For example, the Extension Codes could be edited in its own project, which could be imported by both ICHI and ICD. However, these "module" ontologies are not "static". They are being edited in parallel with the ontologies that import them. Any changes in the imported ontologies, should be reflected "live" in the importing ontology. Is that possible? If not, and we can't make this work, than this solution will not work.

And to reply to your question, in principle, all axioms related to a class should "belong" to the ontology that declares that class. I am not sure if, and in what cases, we would have exception to this rule.

matthewhorridge commented 3 weeks ago

I am still trying to think things through on how to get a clean picture on these three separate "things" in WebProtege. @csnyulas why separate projects? Could we have three separate ontologies in the single project? Hierarchies etc. are built from the axioms in an ontology or set of ontologies, so it would be easy to say "build this ICF hierarchy" from the "ICF ontology", I think.

And to reply to https://github.com/who-icatx/icatx-project/issues/53#issuecomment-2259330119, in principle, all axioms related to a class should "belong" to the ontology that declares that class. I am not sure if, and in what cases, we would have exception to this rule.

Is there any way to tell where a given class should be "declared"?

samsontu commented 3 weeks ago

The whole idea of 3 separate ontologies is antithetical to the WHO-FIC architecture of a single Foundation and multiple linearizations. ICD, ICF, and ICHI are three linearizations among many. In the future there may be a classification that draws from classes that are currently in the three classifications. (The International Classification of Primary Care, currently not maintained by WHO, but is a ‘related classification’ in WHO-FIC, has both diagnoses and interventions concept.) A group of us has been investigating issues related to the harmonization of the concepts in the three classifications. One design pattern that we found is that the same things often play different roles in classifications. For example, a motorcycle may play the role of an assistive device in ICHI, but is a vehicle involved in a traffic accident in ICD. A more ‘ontological’ Foundation would declare these concepts neutrally and define their use in different classifications as roles they play.

samsontu commented 3 weeks ago

Another example is ‘family relations’ which plays the role of environmental factors in ICF but can be reasons for contact with the health care system in ICD.