Modernize business reporting with Amazon QuickSight

You know what really gets me going? Forgotten passwords. I came after a Thanksgiving break and I can't remember a single password and it really annoys me. Another thing that really annoys me is when I was building reports, having to build a dashboard and then doing all this beautiful customization and getting it just the way I want it. And then having to log into something totally different and build a separate report from scratch and half my job was just trying to keep those two things in sync. That was my life about 10-15 years ago.

And now with modernization of reporting with Amazon Quicksight, we're hoping to change all that over the next hour. We're gonna be talking about how you can all do that in your corporations, in your world and how you can simplify and make lives like mine who can't remember a single password a lot easier.

So Amazon Quicksight, it starts with the unification of the BI story. It's one stop shopping. You can have dashboards, you can have paginated reports, you can have AI embedding all in one package because we built our solution in cloud first it scales automatically and it performs. And the cherry on top of all this, you can lower cost by paying only for what you need, not for what you expect to happen.

So this should look very similar or familiar for most of you, right, a very bifurcated landscape. You have different products for different use cases, different needs and they don't really play along with each other. Like my experience where I had to build in one application, turn around, build the same thing in a different application and try to keep all these things in sync from an administration perspective, keeping them all the lights on, making sure everything is upgraded, making sure they're performing. That's a lot of overhead, a lot of time spent and probably very, very painful for everybody.

With the world of Quicksight, everything is within one application, one system, it's unified BI service at what we call hyperscale. There's no additional training involved. If you can build a dashboard, you can build a report and we'll see that today. It's the same web UI and as a product manager, I can attest this. We push out features every couple of weeks and we take pride in that.

So let's talk about what is paginated reports. So paginated reports is an add on service to Amazon Quicksight. It helps with reporting on business critical insights because again, it is cloud service cloud first. It allows us to scale with ease, reduce costs and it's fully managed. You don't have to worry about purchasing hardware, purchasing servers upgrades, making sure that all the new features are in because we take care of all that for you. And did I mention you can get started super fast? It's easy to get started with this stuff.

So what does this look like? So paginated reporting, as you can see, it's highly formatted multi page PDF reports. This is kind of the bread and butter for any business you can think about your financial use cases. HR you name it, you have to have reporting underneath it, but that's not where it stops with Quicksight. You're able to have a combined authoring experience. And by that, I mean, you're able to build dashboards and reports side by side one ingestion, one data coming in and then you're able to get two different outputs out of it. And that's pretty powerful and very unique to Quicksight.

And it doesn't just stop with the authoring or the built but also the consumption for your users. People like me who hate to remember passwords, you just have to log in to Quicksight and that's the only password you'll ever need to know.

I didn't mention we innovate and we do launch a lot of new features. So since we launched last year at re:Invent, we came out with the ability to schedule Excel exports. So long gone are the days of waking up on Monday morning 8am frantically trying to download that data before it changes. Now, you can have it scheduled sent to you and you can preserve the formatting as well for your users.

Speaking of scheduling, being able to have that flexibility of getting the reports and the data out to people when they need it, how they need it. Now, with the introduction of advanced schedules, we're able to provide more granular control over the schedules themselves last day of the month, every two weeks, every Friday, all of those different options that we kind of expect and hear from our users. Now you're able to kind of get them scheduled.

This is in preview, but I wanted to give you an advanced look at it. This is called repeating sections. The concept here is quite powerful here. We have a table full of data and we want the system to dynamically create different versions of this for different slices of data. And when I show the demo, it kinda all makes sense. But the idea being the output is quite powerful here with one click, you're able to create banded reports for any number of dimension values. That's a very, very powerful concept.

And let's not forget our users by introducing prompted reports. Again, in preview, we're able to offer users to be able to apply prompt values to create a report tailor made to data that they care for when they need it and how they need it. That's why.

So let's get to that demo. We're gonna start with a scenario here. So we are in Vegas after all. So we're gonna pretend we are one of the Vegas property owners. We own Sightsee Resorts. We have a lot of properties and what we wanna know is which one of our properties are doing well and which ones are right. And we're gonna measure this through occupancy rate. So let's get started.

So for those who are not familiar, this is what the Quicksight homepage looks like. I've gone ahead and favored a couple of things. One is the analysis, which is kind of my authoring playground is where I built my elements and the other one is the dashboard, which is kind of the end consumer. So let's go ahead and open the analysis experience so we can see how we can actually get this report built.

Alright. So here you can see that I've already started with a couple of sheets, but the cool part is when you click on this plus icon, you're presented with the option of being able to build a dashboard or build a report. And as I mentioned before, you're able to build these side by side, the ingestion already happened, right? The data is already presented for us, but now we're just presented with on a sheet by sheet level, making that choice as to what you wanna build and how you wanna build it for whoever you're building it for.

So for this purpose, we're just gonna choose paginated reporting, obviously, since that's what the session is about and we're gonna start with that. I do want to point out as we kind of go through this, I am gonna take some liberty in terms of having some things already prebuilt just to kind of speed things along.

So first and foremost, let's look at what makes a paginated report unique, right? So what you're seeing here is what looks like a paper, right? A sheet of paper. And that's very intentional because we want the output to look and mimic an output that you would want to print. I know sometimes in this day and age you may not be doing that or consumers may not be doing that, but the form and the look and feel should mimic that here.

You can see we have a variety of different paper sizes to choose from the ability to choose between portrait and landscape as well and the ability to customize and configure the margins. So if you're like me and you want to take advantage of as much real estate as it can, let's go ahead and do that as well.

Alright. So for this particular exercise, we're gonna close all this out and we're gonna add a table visual. Okay. So we're going to start with again, we want to be able to measure occupancy rate by property and that's kind of our goal here. So we're gonna start by adding reservation dates. So that way we can see it based on a date trend. We're gonna add property ID. So that way we have those uniquely identified from a data perspective. And last but not least, we're also going to add occupancy rate.

So there's a couple more that I do wanna add and you know what, this is gonna get really boring really quick if you just saw this for the next five minutes. So what we're gonna do is we're gonna actually take advantage of Q and Help Q or which is our AIML technology within Quicksight to help build some of this for us.

So here using natural language, I'm able to tell Q that I want to add additional dimensions to this table. So I don't have to necessarily drag and drop. I don't have to place them. I just simply state what I need to do pennington. So I'm gonna go add address state, postal code, phone number and a few other characteristics. This one.

As you can see, it's very intuitive and very easy to build and very easy to get started with a few clicks and a few statements. I am able to build out a very quick report that easily again, staying standing behind that testament of getting started fast.

So you can see behind the scenes, we've added all the different elements we're going to continue adding here the ability to add conditional formatting as well. So again, we're focused on occupancy rate as our key driver to make these measurements. So we want to add gradient conditional formatting to dictate when and how we want to proceed for. And what you can see here as it kind of loads is that it makes certain assumptions and inherent predictions about what it is that I'm expecting the better the occupancy rate percentage is it should be in green, the worse the occupancy rate is it's in red and that's not something that I implicitly provided or specified in my condition, but it's making assumptions and making those correctly on my behalf.

So we have our core table. We're going to continue this by building out what would be looking like a report. So let's go ahead and add page number. We're gonna add that in our footer and you can see we have prebuilt system parameters to inherently bring in those characteristics. And then we're going to continue this process by building out a title for the report as well. So we're gonna call this the Occupancy Report. Let's make that nice and large. So that way we can see that all the way in the back and we're gonna bold that as well.

So you can see that we have these prebuilt system parameters in conjunction with the text fields. So that way we're able to build out this report just by dragging and dropping and the same experience in terms of the authoring experiences is how you would build out a dashboard as well. So it's very easy to lift and no report is complete without having our logo.

So let's go ahead and add our resort logo here again, pulling that in from my local machine. I'm able to drag and drop into placing it exactly where I need it from here. You can see that the shell of the report is already kind of coming to life, right? We have our header, we have our footer and at this point, we're gonna flip over to a report that have already started building um just so that we can kind of move things along a little bit.

So here you can see that the same skeleton of the report exists at this point. You can see that this table is quite large, right? Because it includes all the properties that we own every single line item by date and that's quite large and it's really hard for us to decipher which properties are doing well and which properties aren't. So this is where repeating sections comes in really handy.

What we're able to do now with repeating sections is being able to break this table down by specific properties. So at this section level, which is kind of our building block or our construct by which we build these reports out, we are gonna be adding a repeating section element into this. So here as i navigate to the section here, you can see that where you can edit the repeating section and we're able to specify what parameter, what dimensions we wanna repeat on. Were you also repeat on up to three dimensions at this point? So you can think about country, state city or a hierarchy there. In, in this particular case, we're gonna focus on our property names.

And as soon as i click on that, you can see that in the top right, there's a chip that shows up one of 15. So there are 15 properties that were there behind the scenes that now this table will show for. And as i can navigate through these, you can see that as an author, you're able to navigate to each one of those slices of data and be able to analyze that we're able to apply page breaks after each one of those. So now it becomes a 15 page report. And you can think about that as like as many dimensions, you're thinking about whether it's be 50 states, you have other dimensions, company codes, profit centers, those all become unique slices, unique pages of these reports.

You're also able to sort on these characteristics and the dimensions ascending, descending and also set limits. Maybe you don't want to see all 15 properties, maybe you just want us to focus on the top five. So here you're able to kind of set those limits and those considerations as well.

So from here, what we want to do next is to be able to add a label. So that way we can actually see what this looks like we're gonna add a label. So that way for each page of this report, you can actually see what this looks. So we're gonna add a text box and the focus of here again is gonna be let's add property name. So that way we can see what those look like. And you can see that as i kind of focusing on the data that each row focuses on a different set of properties and different set of values. And we want to be able to kind of decipher and distinguish. So that way we can make an informed decision at the end of the day.

So we're going to be able to drag and drop the value in to its respective location. And this will just make the report will look and feel a lot more professional when we kind of print these out on each, on its each uh separate page.

All right. At this point, you can see that as i navigate through all the lists of our properties show up. And as i go from property to property, the values on the table are also appropriately sliced. We noticed that regal tower hotel is not doing great, right? As indicated by the occupancy rate.

Now, as such, what we can do is either take two steps, we can either print this out, schedule, distribute and send these out to the respective property owners. So that way we can have a conversation about figuring out why and what is happening or what we can do is we can actually create a dashboard that allows us to investigate and drill into what is going on behind the scenes. And again, because quakes site allows us to build together using that exact same data without having to worry about reconciliation or any of those issues. I'm able to build a dashboard side by side.

So here you can see that with these visuals, i am able to identify that there are the there are other properties that fall into similar categories or similar pain points. So maybe it should be a conversation that should be had broadly as opposed to just focusing on one property at a time. The other nice thing about building together is that you can copy visuals between each other, right? So the visual that looks well in one scenario, let's say a report makes sense also in the dashboard world and being able to build them side by side.

So as you can see the table that we saw on the previous screen is now being utilized here as well. So we're able to share assets, we're able to kind of build together and we're able to kind of keep these data elements together. But while we're doing all of this together, quicksight provides the ability and flexibility to be able to publish them as separate assets at the end of the day.

So you can see as i go into the publish action, i can choose the specific sheets that i want to get published to. So for those who still like the dashboard as a dashboard or report as a report, life is still good. Everybody will still be happy. But i believe the power, true power of this is being able to provide these not as a choice but as options for your users.

So let's go ahead and take a look at that. So this is from a user perspective, i have logged in and i've come into my report. Not only am i seeing the report that i ran yesterday, i'm also able to go to the drop down and i'm also able to see what has all been run for me historically, up to a year back, right? So anything that is scheduled and sent out to you, you can retrieve up to a year and that's a pretty powerful concept.

So here in this example, i only have three instances of this report running, but you can imagine that this list could get pretty happy. You can also see that as a user, you get a quick and easy preview of what that report looks like right here on screen. You don't have to download the pdf, you don't have to take it offline, you're able to see this data. And as you can see, and as we configured, each property is starting in on its own page, it follows the exact same look and feel the header and footer identical. And we're able to go through that.

In this particular case, the author has specified our date range of the entire month of october. But let's say i as a user just want to focus on the first two weeks in october. This is where prompter reports comes in. Now with prompter reports, i'm able to provi provide as a user, the option to be able to control what is this data breach? The author can similarly provide additional options such as property name and other characteristics or other attributes that they may want the user to select on or filter down after selecting october 14th.

Now the user can hit run now and initiate that execution right there on the spot, answering that immediate question that my boss may have had or take that, take it to the meeting that i have coming up in a few minutes. So while this is running, what we're gonna do is we're actually gonna go jump into our schedule paint via our dashboard.

So as you saw from an authoring perspective, i was able to build these together from a user perspective. Also, i'm able to consume these side by side, i'm still able to answer those important questions about what is happening. Why is it happening here from a dashboard perspective, but i'm also able to go back and see what it was that point in time. What did this data look like as of yesterday? What did this data look like as of last year? And i'm able to do that in the same u i without remembering a separate password.

So here you can see that this table is interactive. I'm able to scroll through those table. I'm able to filter, i'm able to slice and dice it so you can still get into the information and into the nitty gritty details as you need it. But as an author, the true power comes in being able to get this information out to the people in the hands of how they want to be able to consume it.

So that's where our scheduling comes in using this mechanism. You can see that we're able to create a schedule. I've created one for reet. And if i go into the edit mode, you can see how the, how the author can provide the information and when they need it and how they need it.

So from a content perspective, we have pdf and cs v. And as i mentioned, we've added scheduled export for excel. You're able to select the specific visuals, not just in the pageant report, but you're also able to select it for the entire dashboard. You're able to select pivot table and table visuals and be able to get them all exported out in one excel workbook.

In addition to this, we're able to now also create that schedule to specify when we want these to be sent. So in this particular example here, let's say we want to send this out weekly um every two weeks or biweekly or monthly. This is where we're able to kind of do that and create these schedules customized to when people need to receive it.

So let's say we want to send this out every two weeks. We want to send this on a sunday and friday and we're able to get this started at the end of this month. So from here, what we're also able to do is select the recipients that we also want to be able to send it out to. So that's what the next step is, but it doesn't stop there. But we also want to be able to control how this data gets distributed to you.

So when we think about data privacy, data security, we may not necessarily want our reports to be actually sent as attachments, but rather sent as links. So that way we can authenticate who is coming into our system, who's downloading it and when they're downloading it, so you're able to then go back and let's say we wanna remove that permission or remove that access. You're able to do so without having worrying about this report floating around in the ether, we're also able to include a sheet in the email body as a preview, right?

So you're able to kinda quickly glance at your mobile device and you're able to kind of see what the first page of that report looks like, be able to kind of take quick action. And if i want to really dive into the details, i can either download that go into the dashboard and i have all those different options that open up for me. And you're able to make this choice not only on a pdf on the email overall, but on an attachment by attachment basis.

So that way you're able to really customize the look and feel. Once we have this output scheduled, you're able to go back, as i mentioned, go back up to a year previous to see all the prior runs and be able to download them from here. You can see that i have quite a few runs executed previously and we can open up one of the excel outputs and pdf outputs as well. Just to kind of see what that looks like from here.

We can see that the raw table and the raw data that we downloaded and looked for is kind of what is preserved from a formatting perspective and look and feel perspective. So this is our pdf output and our excel output follows very similar to this.

All right, with this, i'm gonna turn it over to jesse from top golf to take it from here. Thank you, raoul.

Good afternoon, everyone. My name is jesse j. I'm the b i manager at top golf and i'm here to share our journey with aws quicksight and how we use pageant reports.

So what is top golf, top golf can be defined in our purpose? We exist to bring you joy through more ways to play the game of golf. Whether it's our traditional top golf venue, like the one you see here behind the mgm, which is our flagship venue or swing suites. Our top tracer games, top tracer fitted venue, uh i'm sorry, top tracer fitted driving ranges or even our mobile and gaming is wgt and shanks stars. We're trying to find unique, innovative and fun ways to engage our players.

So how do we start here? How do we get here? Well, we started with one venue in watford, england in 2023 years later, we grew to 86 venues across the us, but our growth doesn't end there

It extends to our international partners. We have venues in Monterey, Mexico, Oberhausen, Germany, Dubai, UAE, Chengdu, China, Bangkok, Thailand, and Gold Coast, Australia. But we don't just measure our growth with our venues. We measure our growth through the experience that Topgolf brings to all of our players. That's why our mission is to enable our players to hit 50 billion balls by the end of 2025.

And with our impressive growth and the ways that we're bringing the game of golf and more ways to bring the game of golf to all of our players, we are confident that we're going to beat that goal fairly soon.

Now with our impressive growth and also the ways that we're expanding the game to all of our players, Topgolf isn't anything without our players. That's why even a single visit brings us a lot of value with our data.

To give you an idea, I wanted to show you what the data looks like through a player's journey, specifically a visit. The visit comprises of three components - the pregame experience, at bay experience and post game experience.

During the pregame experience, we want to see some insights with our visits. Are players using our reservations during really busy times? Are they utilizing to prefer our "Join the Wait" on our mobile app or do they prefer just to walk in with our memberships? We want to see trends and growth in the different types of memberships we offer.

At the bay experience, that's where the fun happens. We have the gameplay - who doesn't like to play Topgolf? That's where all the real fun happens and also to enjoy really good food and beverage. But to support that, we need to make sure that all of our software, hardware and systems can be accurate.

And we did when we see this through such things as ball stats - are our balls getting traced accurately? Are our targets scoring accurately? Are there dispensers not showing errors? There's nothing more infuriating than going to a venue and you line up your ball, you hit that awesome drive, hits the back of the trench and it says "Practice Ball", right? We wanna minimize that and we wanna maximize on fun.

And the post game experience, the post game experience comprises of two things - the bay metrics and the PX survey.

With the bay metrics, there's some insights that we need to understand how we can efficiently turn over bays. For instance, once the player is done playing games at the bay and they check out, we want to see how long it takes to turn over that bay to the next player. We want to minimize that wait and maximize on fun and make sure that our players are having a good time and not frustrated with long wait times.

And the PX survey, this is very critical because this provides direct input from our players about their overall experience.

Now showing you how much insight we have just from one visit. Back in 2021 we realized there was a critical need to have a BI reporting tool upgrade, especially with the sheer number of, of the volume of data that we have from each of our venues from our growth through our international venues.

We need, we had some issues with our prior tool with handling that data volume. Yeah, we had issues with reports and dashboards rendering for not just 1-2-3 or even 5 minutes, just couldn't handle the data. And nothing is more frustrating than someone working at the venue and in operations when they're waiting for their profit and loss report to load and load and load, when they have time to take care of their operations and day to day tasks.

And so to, to, to we wanted to make sure that we were able to provide the data in the hands of all of our folks. Now we all know with BI reporting tools, with the BI reporting licensing is expensive - reader licenses, author licenses. We want to make sure that we can enable our users but keep the cost low.

And who also doesn't like the future of analytics? We wanted a BI tool to provide all that, for example, the capabilities of machine learning, AI and many more.

So back in March of 2022 we approached Amazon QuickSight. But well, let's see if, if QuickSight can handle our... And through through a meeting, we had a, a week long data lab.

Data lab was five days long and it was grueling eight hours each day. And we really presented and stretched every single use case to the AWS QuickSight support team to see if QuickSight could handle it. And after that week and, and thinking about it, we were fairly confident that QuickSight could handle our reports and needs.

So we started our migration in July of 2022. And in less than a year, we converted over and migrated 171 reports and dashboards and went live in production with the reports and dashboards in the hands of all of our venue operators and all of our corporate playmakers in June of 2023.

But during that time, we also identified a need for paginated reporting, sorry, paginated reports. It was just a year ago, literally a year ago, I was right there and I was listening to Rahul talk about paginated reports and that, and it just, a light bulb just switched to my head. And I was thinking, wow, we could really need this.

Reports such as a profit and loss sheet or any kind of highly stylized format financial report that you need to look and feel a general ledger style feel can't be accomplished with your traditional means of dashboards or tables or any reports.

So I reached out to Rahul and we had another data lab. Do you see a kind of theme here? The support was unmatched. They saw our need. We went into the data lab for five days again in and out with all of our different use cases and we made sure that we presented them with a use case of having several different types of these types of reports being ready for automation for all of our domestic and international venues.

But not only that but be delivered through email and through some flexible formatting as well such as CSV, Excel and not just a snapshot of a PDF or a screenshot of a PDF, but the entire report and also to be able to enable security on top of those reports such as low level security and common level security.

And I wanna say the feedback from after our completion of creating our reports was great. It was outstanding. The, the support that we received from the AWS support team was above and beyond.

Yes. You know, there were times where we had questions, we got stuck, but they just jumped on no matter if it was 11 o'clock at night or in the early morning when we had issues, they were, they were right there to jump on a call with us and to be quite frankly with you, I've worked with several BI tools and I haven't had, I haven't seen that level of support because of that.

It really enabled our users to be successful in developing these reports just by the ease of creating the, the paginated reports and the guidance that the support team gave us built this up for a successful conversion for all of our legacy reports and delivery and automation to those reports for all of the venues domestically and internationally.

And another thing that I can't stress and highlight enough is the flexibility of the scheduled reports using CSV and, and Excel formats. Because of the successful migration and use of the paginated reports, we're excited for the future and continued partnership with AWS.

Thank you for your time. I wanna hand it back to Rahul.

So far we've been talking about one report at a time, but we're a large resort with thousands of people checking in and checking out all day long. So we don't want to sit there and download one report at a time. What we wanna do is take advantage of these API snapshot export APIs that we just recently launched to be able to report at scale.

By that I mean, not necessarily redoing these reports one by one, you're still wanting to build it once, but you wanna be able to get all these reports out into your own S3 bucket from which you can then distribute, print, send it off, however you wanna consume it, get it in the hands of the right people.

So let's kind of take a quick look at what that could look like. Here you can see that from an authoring perspective, I've still built the report the exact same way right that we just saw before you're able to build this report out specific for a reservation at a time. And let's say I went out and I wanted to check out in Mandalay Bay, somebody's probably printing that report out for him. And that's ok.

But what actually happens when you check out, it happens the night prior and slid underneath your door, right? And if, imagine it's Thursday night and everybody's checking out of re:Invent, you're not gonna sit there and hit it one by one. You want the system to have everybody's checkout slip, pre printed and ready to go. So that way they can start putting it under the people's doors and that's what the snapshot export APIs will allow you to do.

So here you can see that this is still confined, I authored it once. I want to make sure that for one person it looks great and then I wanted to mass produce and mass send it out at scale. So what I'm gonna do is I am gonna show a little bit of code and hopefully that's ok, but we wanna keep it, still keep it at a high level and kind of focus on what is the important aspects here that we wanna focus on.

And we're gonna also see here that from a reservation perspective, which is kind of what we want to iterate over. I've hand selected a handful of reservation IDs just to kind of illustrate the concept as well. We don't want to necessarily go here and do it for all our reservations, but we just want to kind of take a handful and kind of you get the idea of what could be possible at scale.

So I have this Python code in the background. Basically what it's trying to do at this point is set up the environment and make sure that we are able to call the snapshot export APIs that we have built out. This API allows you to not only print out PDF reports but also select CSV and Excel as outputs and be able to do those all collectively.

You're able to see here in this section where we're gonna stop, you're able to specify what dashboard and what sheet that you want to print these off for. You're able to select the format types and more importantly specify the parameters as well. In the bottom for our case, we're going to be doing this for all reservations and we want to be able to do this at scale.

And that's kind of where the important part comes in where we wanna be able to have this programmatically generate and create these reports at scale. We don't wanna necessarily be able to kind of control the environment as it is. So you can see here, that's the reservation ID that we're going to be iterating over in this particular example.

So as we kind of proceed down this process, you can see that we're able to also monitor how these jobs are running at scale. So that way you're able to see as these jobs are getting completed, as these jobs are in progress, how we're progressing along in our journey.

So we're gonna iterate this over a couple of times just so that we can see as the executions happen in the background and in the process as such. So you can see here as we kinda go through this, each one of these line items represent a unique reservation number. Imagine this is happening for all these resorts. And behind the scenes, this could be in the thousands. But behind the scenes, all of these are generating that same PDF file and same report that we looked at earlier.

So now all these jobs have completed and now we can go to our S3 bucket where we asked the files to be stored. So that way we can take a look at what that output looks like we're just gonna do a couple of clean up steps at the end.

And now we're going to jump into our S3 bucket at this point. So while the files could be stored in the QuickSight S3 bucket, I believe the key value proposition here, the key values derive when it can be stored in your own S3 bucket from which you have the opportunity to send it out to whomever you need.

In this particular case, we have the folder structure as defined running for specific days. And you can see that we can run this on a daily frequent whatever frequency that we need it. Once I open up this folder, you can see that there are those specific line items and specific PDF files that we asked the system to generate for us.

At this point...

I'm gonna turn it over to Dhanraj to join us, San for three. Thank you all.

Hello everyone. This is Dan Roe, an Enterprise Data Architect at 3M Health Information System.

Yep. So 3M announced its plan to spin off the healthcare business into its own entity. And by early 2024, 3M healthcare business would become a dedicated global diversified healthcare technology company focusing on the following areas:

  • The oral care division
  • The wound care, dressings and purification
  • Science and Health Information Systems division - that's the division I belong to.

Ok. We are the leading coding and reimbursement software in the world. The results over the years speak for itself. The 3M Encompass system is used by 8000+ hospitals around the globe. We uniquely process around 205 million clinical documents each month. Our software is used in 30+ countries around the globe. 41 states use us as a basis of payment and we have 8000+ active industry partnership relationships.

For over 35 years, we have worked with government agencies including Medicare and Medicaid Services. For 40 years, we have medical coding expertise and risk adjustment algorithms to accurately calculate payment benchmarks for MA plans.

Earlier this year, we announced our partnership with AWS in the AI space to improve our clinical documentation.

Today, I will be talking about two interesting use cases where we are using Snapshot Export API:

  1. The Performance Advisor Workstation
  2. Performance Metrics Reporting

When developing the Performance Advisor Workstation, we had several goals in mind:

  • We wanted to eliminate the manual PDF generation and PowerPoint creation process by users because that's prone to errors and possibilities of data loss. So we wanted to automate that process. The Snapshot API seemed to be a perfect fit for the solution.

  • We wanted to ensure we have a tool where users are able to run their workflow from start to finish without navigating into other tools that they were doing currently.

  • And finally, we wanted to ensure we are able to generate all the PDF outputs into a single document so it could be used for pre and post analysis by the Performance Advisor.

So let's go over what Performance Advisors' responsibilities are in their day-to-day work. Basically, they are looking at the discharge claims for a patient and seeing if there's enough information or documentation for that particular patient once they are admitted into the hospital. This enables them to track how severe the severity of that patient is or what the risk of mortality is. And the clinicians are basically monitored over there.

So we monitor various KPIs - those are like severity of illness, risk of mortality, major complications and comorbidity, and observed/expected deaths. So basically we are seeing patterns to see if a particular clinician or facility is moving in the right direction. This triggers various trainings that need to be provided. So we help the customers and provide them the appropriate training so they are moving in the right direction.

Here's a screenshot of the existing application - the Performance Advisor Workstation. You can see that we deliver around 50-80 dashboards per customer. The reason being there are a lot of filters that need to be selected - the various DRGs and the service lines. That's why the number of dashboards generated are pretty huge per customer.

All these dashboards eventually get clubbed together into a single PDF which are then used for post analysis by the PAs. On the left hand side, you see the list of dashboards that are available to walk through with the customers. At the bottom, they would be able to enter notes on what they really need to talk with the customers about.

And on the top right hand side, you are able to see the QuickSight embedded dashboards which is tracking the various metrics for them.

Now we can quickly go through what a workflow is for a PA in the field. So basically they come in and select the various criteria. Based on that they have a worklist to work on. That's followed by selecting the various service lines and DRGs and they click Update. That's going to provide a list of dashboards that they can choose and make special notes on what they need to tell the customer. You see the various metrics that are part of the analysis and they can take special notes which are captured at the bottom of this analysis.

Here's a quick video on how the final deliverable looks like. As you can see these are 50-80 pages of PDF outputs that's generated via the Snapshot API request. So all the various metrics are being tracked and you can see that it's an output which contains 80 pages.

Performance was one of the main criteria that we wanted to optimize because we have data processing that needs to happen for customers. There are situations we call as a "data storm" - that's like running 300 reports for 300+ customers and it causes a batch process. But there are the cases I just talked about where the PAs are working directly with the customers and we need the PDF generated in a shorter time span.

So we collected all this information, all the KPIs or metrics, but we wanted to see how much time it would take to build out the presentation. As you can see, as the number of dashboards increased along with the number of concurrent users, it was taking way too much time to get those PDFs. It wasn't an issue with the batch processing for these "data storm" events, but for real-time PDF generation this was a problem.

We are working closely with the AWS product team to ensure that we get optimal output and get the results back in a shorter duration of time.

Moving on to the next use case - this is Performance Reporting. So we try to use QuickSight as much as possible. For this project, all the coding was done using our Studio packages and it was running on heavy infrastructure, a lot of EC2 instances, and we had to spend a lot of time managing this hardware.

So we wanted to ensure that when we migrate to a new technology, we get rid of all the servers and spend more time generating business value for our customers.

We were also able to implement the Snapshot API in this case - the exports were CSVs rather than PDFs.

This is a simplified architecture - we totally got rid of the EC2 instances and it's orchestrated using Step Functions. We use Lambda to generate reports.

The first step is getting a list of customers or enterprises for which we need to generate the report. That's followed by a filter function - we have two report types, either for an inpatient or outpatient setting. So we generate multiple pairs of reports for each customer.

That's followed by StartDashboardExport API - this is triggering the export API process and generating those CSVs into S3.

We have a Sync in between just to ensure there is enough QE available for the exports to be submitted as we proceed.

The GenerateReport function is calling the DescribeDashboard API to check the status of the completed jobs. Once it's completed, we get the exported results - the CSVs - which we copy to a template that's in the reporting format. That's the final deliverable for our customers.

Once the whole process is completed, those are all zipped into S3 and pushed out to the report delivery location. If there are any failures along the way, we retry the Start API call at least 3 times before sending it to the error logs.

The key thing here for these two projects where we implemented the Snapshot API is:

  • For the PA Workstation - we were able to streamline the process so the analysts have one location where they can just click a button and get all the PDFs along with the notes which are critical for analysis with customers.

  • In the case of Performance Metrics Reporting, we were able to get rid of the EC2 instances and move to a serverless architecture that's totally automated from start to finish.

  • And finally, we are working closely with the AWS team to fine tune our real-time PDF report generation for our PA analysts.

With this, I would like to hand it back to Raul to conclude the presentation. Thank you!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值