Skip to main content
menu

9/25/24 - Episode 4 - EOS

widget-ec301f5c-9ff


Text Summary
 

Eric Snyder: Hello and welcome to everyone to webinar number four. Today we will be showing EOS. EOS is one of the things we consider foundational — a foundational platform here within our system. What I mean by this is, at a very high level, it's the gateway to a launching point to a number of future initiatives. The Hyperion Data Manager, which is our data interoperability engine and integration platform, is another example as it allows for many of the current applications to be built on top of it. With EOS it's much the same, but the sophistication of what it is, is far more varied whereas HDM is data. EOS is much more, as you'll see. So, all of that being said, I'm not going to delve too deep into that thought as this is going to be a live demo of it. Presenting today is Kevin Desousa, our principal developer of the EOS system and our lead Machine Learning Engineer and HCI expert. Kevin's been with us for a couple of years now and aside from being an exceptional developer, he's managed to cause much debate in our ongoing Mac versus Windows arguments. He is also our chief Canadian on the team, but that's a topic for another day.

Typically, with these webinars, I only introduce the principal developers, but EOS is a bit of a special case and due to that, I’d like to also acknowledge Scott Paoni, our Head of Product. While he’s integral to many of our projects, EOS is a bit different as its original thought and conception came from Scott's brain. I remember one day a year or so ago, him coming up to me and telling me that he had this idea, but he wasn’t sure about it. So, after he told me the full picture, in my head I was thinking, “Wow this is going to be pretty game-changing.” Of course, making this work was going to require some really significant development skill, as you're about to see, as it gets pretty complex. So that’s enough from me, without further ado, I’m going to hand it off to the Purveyor of the North, Kevin Desousa.

Kevin Desousa: Thank you, Eric. Just give me one moment while I share my screen. There we go. Thank you again, Eric, for the introduction. As Eric said, today I’m going to be presenting EOS, which is an application which shows multi-level data relationships and interactivity. Before we get started with this presentation today, I just want to lay out the agenda so we can go over what we’re going to be covering today. We’re going to start with the overview, we are going to move on to the purpose of EOS, then touch upon its key features, and give a demo of how those features work together in a testing environment. We’re then going to move on to future enhancements, what’s coming up next in the pipeline, and leave the round open for discussion.

 

What is EOS?

So, to start, what is EOS? Well, in a basic sense, EOS builds upon existing knowledge graph applications with a keen focus on enhancing the interaction between users and their data. How does this specifically set EOS apart from any other knowledge graph software? Well, other knowledge graph software can be clunky. It’s easy to get lost in the graph and completely lose what you’re looking for, and then when you do find what you want, you have to use or open an external app to get any work done with that information. With EOS, we aim to solve this by allowing users to locate their data quickly and easily with AI-powered search features. When they do find it, provides actionable information with interactive and animated features so that the user can just perform whatever action they want to right in the web app, and then ensuring entities stay updated in real-time, all automatically without any user intervention — all of this while being on-premise. For the rest of my talk today, any of the features you see on screen are all being done with EOS software; no other external software from any other vendors is being used. This matters because it helps keep your data more secure, private and allows you to take control of your data — no external vendors needed.

 

Key Features:

So, now that we’ve gone over EOS in a basic form and what it aims to offer, we can move on to its interface and key features, starting with the search bar. As you can see in the video in the top portion of the screen, this is the search bar, and your search bar is your primary method to help find and filter the graph to help you find what you’re looking for. This search bar uses generative AI, so you can think of something similar to how ChatGPT functions, to automatically translate your searches into data queries. The benefit of this system is that it really just able to understand a wide range of questions. So, in the video example, the user typed in “department” and “server,” but they actually spelled really incorrectly, but the system was still able to understand what they meant and automatically able to translate that into a query. In the event that the system actually can’t understand your query, a pop-up will appear, as shown right here in the video, and it will actually ask you to define your query exactly. The AI then uses this query that you manually built along with your initial message, that it did understand to help train itself to better at understanding your queries. All of this is done automatically, without any user intervention.

Moving on, we have the pop-up feature. This system was made to kind of help enhance your interaction with the data on the graph after you’ve found it. So, as you can see in the video, whenever you click on a node, a curated pop-up will appear depending on the node type. For example, if you open a table field something  curated will pop up, or maybe when you open a department node, maybe the map of where the department is located will appear and if you open something like a server node, that will be shown in the video in just one second, you’ll pull some information like maybe whether or not the server is running, how much hard drive space do you have,  is the server is overloaded or not and this is all being pulled in real-time with server-side syncing, no user intervention is needed for this data to be fed into EOS.  But we recognize that there are use cases where it’s helpful to actually have custom pop-ups. For these use cases, we allow custom scripts to be written. In the video, I’m replacing an existing pop-up with a custom one. And for purposes of this demonstration, I just coded it to be a little aquarium demo, just shows how limitless this solution is, where you can place any sort of web app within the pop-up of a node, making it easy to find and interact with the data right from EOS. In the future, we’re planning on integrating a solution that allows you to create these pop-ups all without code.

Then we have the layer feature. This system was created to help you sort through your data or provide a story throughout it. On the right side of the screen, you’ll find a layer indicator, or we like to call it, the stack and these layers are a form of pre-made filters that highlight subsets of data on the graph. Let’s say for example you have a specific filter, and you open up EOS and you use very often. You can save that filter as a layer, so that when you open EOS, you can pull that query right back up without having to search for it again or build it manually. Then we have the tracing feature, and the tracing feature allows you to visualize relationships between objects on the graph. With that in mind, we have two variants of this feature. The “trace from” tool allows you to highlight entities that are connected to other objects. As you see in the video, when you click a node, it highlights everything connected to it in some way or another.  Then we have the “trace between” tool allows you to click two nodes on the graph, and it will actually visualize the connection between these entities if it exists. This is really useful to help inform you if two nodes on various parts of the graph are actually connected whatsoever, it will highlight that information for you.

Then lastly, we have the details panel. This panel provides extra functionality and all the tools for power users. This kind of window can be opened from the bottom left, and when opened, for example, with the pointer tool, as shown in the video, it will actually help provides a tabular breakdown of all the different objects on the graph. This makes it really easy to compare elements or even to highlight where elements are the graph, which helps a lot for really cluttered graphs, as you can see in the video.  Moving over to the tracing tool, the pop-up then becomes a visualization of the trace details itself, it’s just another method to kind of visualize the tracing between nodes and what nodes are connected.  In the future, we’re actually planning on offering a export for this tool to allow you to generate PDFs files so that it is easy shareable with other users for these node paths. Lastly, for the editing tool, we actually allow a bulk upload with this window, so you can populate your environment super quickly and easily without having to create or modify each node individually on the graph.

 

Live Demo:

So, with all those features being said, we can move on over to a live demonstration of EOS and its features. For that, I have this prepped demo right here. It’s important to keep in mind that this is using fake data. We curated this fake genomics dataset just to demonstrate EOS and its features and how it works but none of the information you see here is real patient data. whatsoever.  You can see we have a variety of different data and if I click through the layers, you can see nodes like cancer, drug, drug mechanism. We have information about cancers and genes, people and the cancers they have, and then doctors and their patients. So, if I was to go back to the main dataset here, I can let’s say interact with the graph and say let’s search for “Dr. Sally’s patients.” Give that a second to load as the AI Powered Search kind of understands what we want.  Now I can zoom in, and we can see Dr. Sally, which is what I searched for and her three patients: Monica, Mary, and Amanda. Let’s say I want something more specific. Let’s say I want “Dr. Sally’s patients and their cancers.” Give that one more second to kind of to process. Now we can see Dr. Sally, once again, her three patients, but now we can see the cancers they are associated with: so, in this case, breast cancer and lung cancer, respectively. And let’s say I wanted to pull more information; I can do something along the lines of I’ll search for “lung cancer info, and again if I give it one more second to process it will pull up relevant information about the Lung Cancer, so if I come down here we can see the information about the genes they are associated or maybe even the targeted mutations, targeted drugs so on and so forth. So, I can go back to the main dataset and let’s say instead of kind of going drilling down into the doctors their patients and cancer. Let’s say I know the  I know the information from what I’m trying to find is already on the graph but I’m having trouble looking for it, what I can then do is can pull up the graph details window right here and let’s say  I’m trying to find breast cancer I can type that in super easily and then it’ll highlight on the graph here with graph details window.

And let’s say I want to find the associated mutations with breast cancer, what I could do is then open one of the tracing tools click the node and it will then dim every other node in the graph and highlight the associated nodes. Then what I can do is interact with one of the popups so let’s I open up this node here, and we can see an example of one of the custom interactive popups that we’ve curated for the target this targeted mutation code. Where in this case it could pull up sort of relevant information so, maybe let’s say it’s pulling up a geographical map of Upstate New York, and this again just to kind of demonstrate the limitless potential that we offer with these custom popups where you can really integrate any sort of custom views that you deem necessary for anyone of the nodes. But with that being said, this is a very brief demo of kind of EOS and its system and how you can interact with it. So, we can then move on over to the application of EOS, and we truly just see EOS being applicable to many different fields and if you want a better breakdown of EOS and what kind of fields we think its applicable for, feel free to visit the project page by scanning the QR code on the right side there, but to kind of go into two of them we see EOS being applicable for healthcare and tasks such as Administration, Clinical Operations, Trial Research and Research and Development, whereas, for Cyber Security and IT we see it being applicable for things like showing system status, maybe showing security alerts. Showing the entire landscape of server applications, things like that.

 

Feature Enhancements:

Then to wrap up, for future enhancements we have a lot of interesting features coming in the pipeline, such as no code scripting, search suggestions and autocomplete with the generative AI model creating and loading multiple environments at once, environment sharing companion apps for the automatic loading and exporting of  data from EOS and designing more curated popups. Well before we wrap up our kind of presentation today, I first want to highlight the team of EOS and the group that were a part of so, if you want to learn more information about The Technology & Innovation Group, feel free to scan the QR code here, but as far as the project breakdown goes, I worked on it along with Scott Paoni and Eric, kind of mentioned before. Other than that, that was EOS.

Eric Snyder: Thank you, yeah so Eos as you can see. you can see is pretty wide ranging and you can do almost anything with it and you know I think they it's applicable to many, many ,many industries,  um beyond what we're showing here.  Thank you to the lead Canadian for the presentation so we can go into a couple of questions.  We’re sort of hitting up against the time that we usually do here, but we'll try for a few.    

 

Q/A Session:

Q: You publish having over 100 interfaces, is EOS connected to all of them?  

A:  So, in this case EOS is and the benefit of EOS is that because of the server side syncing what we're actually able to offer is automatic kind of publishing automatic syncing of these interfaces.  So, with connection into some servers and databases we're actually able to populate the graph all automatically every interface that you're able that the script is able to display. It will pull into EOS and for things like databases or database tables we're able to automatically able to generate or grab those schemas and display as well, all without any user interaction other than the initial set up.

Q: How long do you think it would take to load a new system patient data in?  

A: Truly as long mind you with some assistance from the originating systems maybe maintainers or what have you. I honestly think it could be done within a day. The data format for Eos is very simplistic by Design to make it super easy to import data and that's kind of why in the future we're looking towards creating automated Import and Export tools because then we can allow you to connect existing databases and have this system be entirely automated. Currently it's not, but we still expect it to be less than a day to integrate all this data into EOS.

Q: Can any type of data be loaded, not just healthcare data and servers?

A: Yes, the benefit and main design of EOS, was to be extensible and open.  You can load any type of data you want into EOS. As for the custom pop-ups, you can design those and inserted into any of the nodes. For more curated pop-ups, that would need to be designed ahead of time, but they are super simple to make. With our future work in adding a no-code solution, we could even allow users to choose which pop-ups appear or custom data elements if they want to upload them.

Awesome. Okay, so with that, we’ll close it out here. Webinar number five we’ll announce the sometime in the near future, for October. Otherwise, have a great day!