Hi,
This topic could go in a few forum categories but I’m placing it under Vocabulary Users since I think it is the most applicable.
When viewing a concept in Atlas (for example, metformin: http://www.ohdsi.org/web/atlas/#/concept/1503297), you have the ability to select the “hierarchy” tab which will then show parents and children of the selected concept. Currently, this is done through configuration code in Atlas so that the hierarchy is only produced for those vocabularies and classes that are explicitly configured.
I had received a request (https://github.com/OHDSI/Atlas/issues/215) to add in the parent/child relationships for ATC categories. In the course of having this change reviewed, we decided that this was something that should be discussed in this forum to get feedback on the approach in general.
The “hierarchy” tab is attempting to satisfy two use cases which I would like to separate out. The first use case is to show first order ancestor (parent) and first order descendant (child) concepts as modeled in the vocabulary. For standard concepts, these relationships are modeled in the vocabulary table: concept_ancestor. When these ancestral relationships are exposed through Atlas, they are labeled with a relationship of “Has ancestor of” and “Has descendant of” respectively which you can explore via the “Related Concepts” tab on a selected concept. Since these relationships are already modeled in the vocabulary, I’d propose that the “hierarchy” tab for all concepts should show the 1st order (min_levels_of_separation == 1) ancestors & descendants. From the Atlas side, this would simplify the approach that is currently implemented and standardize it across all concepts. Are there any problems/concerns with this approach? Other thoughts on this use case and how it might manifest in Atlas: For non-standard concepts, this section would be empty so we might consider hiding it all together. Another alternative: we could provide the parents/children as an additional filter section on the “Related Concepts” screen and potentially remove the hierarchy tab.
The second use case builds on some of the discussion from this thread: Lack of ICD9 Hierarchy. That is: at times, users may want to explore the “insular” hierarchy for a given concept. For example, if I were exploring the ICD9 code 410.21 (http://www.ohdsi.org/web/atlas/#/concept/44819700), it would be useful to see the relationships within ICD9 for that concept. That being:
• 410 - Acute myocardial infarction
○ 410.2 Acute myocardial infarction, of inferolateral wall
§ 410.21 Acute myocardial infarction of inferolateral wall, initial episode of care
Again, there is support for that use case in our shop since some feel more comfortable initially exploring these concepts in a source vocabulary before moving over to standard concepts like SNOMED. The good news is that Atlas already handles this use case in its current configuration approach by leveraging the entries in the concept_relationship table to model an “insular hierarchy”. The bad news is that the configuration is inside the bowels of Atlas instead of in the vocabulary itself. How do others feel about this use case? Could these be considered for their own concept_relationship entries to provide the “insular hierarchy”? If we were to model this in Atlas , I would want to make sure we clearly delineate between the insular hierarchy vs the standard hierarchy since the former would be for exploring source codes while the later should be used for creating analytics.
Appreciate the communities thoughts on this. And of course, please do correct anything that I may have misrepresented here