Athena
Athena copied to clipboard
Performance: concepts with rich hierarchy
The pages of concepts with rich hierarchy are extremely heavy (>10MB) and basically unresponsive:
http://athena.ohdsi.org/search-terms/terms/35626993
How we actually want to represent such long lists?
in cases like this, we should really be implementing "lazy load", e.g loading things in chunks (50 terms, for example) as people are scrolling through the list
@olga-ganina - please add to the backlog
We wanted a lazy load anyway, where the hierarchy is not pre-loaded, and gets only pulled when the user clicks on "Hierarchy". And yes, for the 10MByters we can introduce chunkwise download, with "More" on the bottom.
Hierarchy lazy loading already implemented within OHDSI/Athena#96, but here is a different problem: Concept relationships count is really huge: 104246 and it should be rendered on a single page. Not every browser can render such a huge table and it will hardly be usable after.
I am not sure about lazy loading because the page will become irresponsive later. I think we need something like - not to render more than e.g. 5K rows. but offer a link to download the CSV file for the local explorations. We can show a message saying something like: "Concept contains too many (NUMBER) rows that cannot be rendered. Please download CSV if you want to explore whole list locally. @gklebanov @cgreich - what do you think about offline download or paging + download?
For some of the popular concepts the page cannot be loaded at all: https://athena.ohdsi.org/search-terms/terms/40642538
I just stumbled upon this issue as I wanted to make a feature request for pagination functionality for concepts with a high number of relationships. A usable solution (in my eyes) would be to keep displaying all distinct relationship types (relationship_id) but for each type only show a number (e.g. 10) of relationships, and providing pagination if there are more.