 Peter, you can go ahead and introduce. So I'd like to introduce our next speakers, Maya Gans, who is probably best known for as the creator of Tidy Blocks in the R community. She's currently a stats programmer at Cytel and a collaboration with Marley Gotti, who's a senior data scientist at Biogen. And they're going to be talking about a collaboration on Tidy CDISC, which is a shiny app for processing clinical data. It's a pleasure to have you here with us. My name is Marley Gotti, and I'm co-presenting with my colleague Maya Gans. As the title suggests, we're going to be talking about Tidy CDISC. Tidy CDISC is a shine application that facilitates the analysis of clinical trial data. For today's agenda, what I'll do is I'll start by introducing the application, which is now in our package. I'll then talk briefly about the application's input, and I'll go through a use case. Maya will then jump in and provide a demo of the application, and I'll go ahead and make some complete remarks, and we will take some of your questions. As I just mentioned, Tidy CDISC is a shine application, and it is very useful to analyze clinical trial data. It does so by allowing the user to create tables and charts on their spot, as well as review patient profiles. Now, Tidy CDISC takes as input add-on data. Say, for example, that you have a next amount of files that you would like to analyze. The application does require for at least one of those files to be an ADSL data set, but you can have multiple folders like multiple BDS files. Behind the scenes, Tidy CDISC will merge these data sets into a big data frame to use the data analysis. So let's go through a use case. Say that you have the following fictitious clinical trial team. You have Aika, the clinical head, Will, the statistician, and Monica, the programmer. Before the trial begins, say that Will and Aika meet to create the statistical models that they are going to be using in the study. Will asks Monica then to create the tables and figures based on these statistical models. Monica creates them and sends them back to Will. Now, Will realizes that it will be very helpful to have an extra table. And so he requests Monica to create them. Monica, in turn, creates the new tables and probably figures and sends them back to Will. Will realizes that, okay, it will be also helpful to have this extra figure. And asks Monica to create them. As you can see, we have this back and forward between Monica and Will. And after many iterations between them, Will realizes that he has the result and sends them back to Aika. Now, just this oversimplified version of the process can take breaks. And that's where Tidy CDISC can help. Tidy CDISC cuts this process by allowing the creation of tables and charts quickly. In addition, each member of the team can explore the data by themselves. For example, Aika can use Tidy CDISC to explore the data by taking advantage of her domain expertise. So she doesn't need to code in R. Will can use Tidy CDISC to, instead of asking Monica to create tables back and forward until he has the desired results, he can go and play with application until he realizes which tables and figures he desires. And then only ask Monica to program the final tables and figures once. Monica and Tara can use the application to do a preliminary QC before actually coding it in any software of choice like SAS. Now that we have an idea of how useful it is in the application, I'll link the floor to my colleague, Maya, to give you a demo of the application. And by the way, you can follow Maya's demo by going to the live application at idly-slash-tidy-cdisk. Thank you so much for that introduction, Marley. Now we're going to jump right into a demo of Tidy CDISC. You can feel free to play and follow along at bit.ly-slash-tidy-cdisk. So this is the landing page for Tidy CDISC, and you see a data upload module where we can import many data frames and we'll, like, we get a perfunctory visual overview to ensure that each of these files are correct. This is the CDISC pilot data, so it is open source, so we can share that with you. And now we'll jump into the first of our three modules. The first module is the table generator. Before I jump into this, I want to show that we have these question mark icons throughout the entirety of the app that you can click on and navigate through. So after this talk, you can see what different aspects of the application do. But in the table generator, we will dynamically create tables. So each of the files that we uploaded creates a palette of blocks, and we can pair those blocks with statistical tools and create a table in real time. So if I drag in diastolic blood pressure and then the mean block at a certain week, I see that these values are calculated in real time for the study. And we like to use the analogy of Legos. So we build on these tables by stacking variables and their stats blocks. So we can add another variable, like a categorical variable like race, and pair that with a frequency block. And you'll see that the frequencies have been calculated here, too. We can also group our data. So I'm going to go ahead and group it by treatment. And instantaneously, we see that the data is now grouped by both SIBO, Hidos, and Lodos. When your data is grouped, you can apply our ANOVA block, which will calculate a p-value based on the group selected. So let's look at systolic blood pressure and drag in that ANOVA block at week eight. And we'll see that the p-value has been calculated here. We can also filter our data. And I'm going to go over this in reference to the tables, but I do want to share that we can filter our data on any of the subsequent modules as well. So if you click on filter data, it's common to want to filter a data for a certain flag. So we can highlight only the safety flags that are equal to yes here, and you see that the filter is dynamically applied as a subtitle to ensure that when you save it, you know that this data has been filtered. So you can add as many filters as you want. The filter is still applied, but we can hide it. And then we can download our table either as CSV or HTML. One last feature that we've included is what we like to call our recipes. So rather than dragging in a singular variable and stats block over an offer, we can create a demography table, which is just a common recipe pairing. And that'll do that instantaneously for you. All right, moving on to the population explorer. This is where we can make graphs of different patient metrics. So for a scatter plot, we're going to pick out the numeric inputs. And if you pick something that a variable that doesn't change over the course of the study, like age, that will be your only option. But if you pick a variable that does change over the course of the study, you'll have to select the week that you want to calculate that for and then the measurements of that value. We can also separate our plots by a categorical value. And even color our plots by another categorical value. A spaghetti plot allows us to plot a numeric value on the y-axis. And then on the x-axis, we filter down just to time variables in the data set. And it's worth mentioning too that we're using plot lead to render all these graphs. So you can zoom in, hover, and inspect outliers in a quick iterative fashion. Lastly, we also have box plot. So rather than plotting numeric by numeric, we can look at categorical values. So if, again, we group by treatment, we can see our box plot here. And we can toggle between adding points or not to the graph. In our last module, we have the individual explorers. So rather than looking at the population as a whole, we can look at a single patient's narrative throughout the study. So once again, we can apply filtering if we want to look at narrow down the patients to some certain flag. But here, we're just going to select a patient by their ID. You see automatically this patient demographic table. So we see their race, sex, age, et cetera. And then we can click on adverse events or chem labs and see that we create a dynamic table. So there's time on the x-axis. And we can just scroll in and out to see what is plotted along this patient's timeline and their event history to also give in as a table. So two different views of the same data. We can toggle over to the Visits tab. So similar to the spaghetti plot that we saw in the prior module, this is the sodium levels of this singular patient throughout the study. And again, we can pick, here we have ADY, but you can pick any time-dependent variable for the x-axis. We can add a line to our plot to see how they compare to baseline. And we can even overlay that narrative like adverse events. The last cool feature I want to show is the batch downloading feature. So in this dataset, there are 18 parameters that we could manually scroll through and look at every graph. But instead, once we select the checkboxes that we like, we can download all of the parameters in a single HTML or PDF report that is also readily available. So these are some of the high-level overview features of the app, and we encourage you again to play with it at this link here. All right, so now we'll go back to Marley for some concluding remarks. Thank you so much, Maya. Now, as you can see, the application has three major features. It has a drag-and-drop table generator, a population explorer, and an individual explorer. The application is important. It is signed so that if you need to extend any of these functionalities, you could easily do so by creating shiny models. If you would like to see the application scroll, please feel free to request them by email, and we will work to make it available to you. We're also in the process of making it available on GitHub. And we can now finish our presentation without acknowledging the rest of this awesome team. And we would like to thank Aaron, Bob, Robert, and Nate. And thank you. And we are now back with questions, and there are a number of questions that have come up from Marley and Maya. None about Maya's past with Mycelia, but we're going to get to this specifically. One question, it's really neat to do this interactively, but is it possible, after you've put together an interactive table or graph, can Titidisk export the art code to a script to make it reproducible? That's a great question. It currently does not use any infrastructure like Shiny Meta or anything like that, but because this is open source, we're open to collaborating and working with people to pull out that code because, just based on the comments here, it seems to be a desired feature. Yeah, it's one of the more popular questions. Another one, of course, is, moments after you've completed this Shiny app, has the FDA approved the Titicidisk results or analysis? Seems a little premature, but where would you go in terms of saying to have something FDA-ready, how would you go from Titicidisk to something FDA-ready? Would that mean require an R script or is Marley suggesting going to SAS or something else? Marley, I think you're muted. Another question, if Maya can get to it, because I can hear you, is Titicidisk HIPAA compliant and can I use it for PHI data? HIPAA has to do with sharing PHI, right? So you should use this in a compliant environment. I think that's okay. So firewalled for sure. Yeah. Not publicly available. Another question from Nicholas DeFilippo, is this supposed to be used during the trial, during data collection or after the trial, worrying about blinding and subsequent bias if you're essentially unblinding during data collection? So Marley kind of went over the use case that we built the tool with the vision for, but we can foresee this being used in kind of any part of the clinical trial process where there's EDA. Okay. Yui Shentou asked, can you add on to this to create customized template tables for statistical tests or estimation procedures? Absolutely. So thank you for that question. We have wrote really extensive vignettes and tutorials on how to add blocks. So in the demo, there's a proof of concept of Nova block, but if you look at the source code and feel free to email me after this, happy to walk you through it. We made, we designed this app so that you can easily add your own plots and other statistical blocks or whatever blocks that you want to drag in. Great. Okay. I think that's everything from the questioners. We're going to move over to the birds of the feather session. I believe there are five to choose from. And Daniela will work the magic and you'll be invited to choose a birds of a feather session. Yeah. Thank you so much.