library(tidymodules)
library(shiny)
library(subpat)
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Introduction {#section1}

{subpat} is a package of shiny modules to create subpopulations and subpopulations of patients. It was developed with clinical data in mind but a patient does need to be Here we refer to subpopulations as a subset of a population (a collection of data sets). This differs from subgroups which are derived variables that partition a data set. It features an intuitive graphical querying interface to create subpopulations which is developed using the {bs4Dash} R package. {subpat} features models for

As well as two applications

Each of the modules features an example shiny application that shows users how to incorporate the modules into their own applications. This package does not assume any specific data structure but has extended functionality for ADaM data sets. It used the new tidymodules module package also developed at Novartis which is based on R6 classes. The ADaM data used is a sample from the CDISC website.

Patient Listing Generator {#section2}

The Patient Listing Generator (PLG) provides a user – friendly way to load data from GPS, query specific patients of interest and create ad-hoc listings on the fly. It is available in the {subpat} package and is run by the follow function:

subpat::runPlg()

The PLG features a subpopulation creation tab as well as an ad-hoc (non validated) patient listing features. The interface is built using bs4Dash. It is recommended to build your application using bs4Dash if you would like to use the functionality of {subpat}. The subpopulation is easily reusable and simple to implement in any shiny apps which you can read more about in the modules vignette.

When you start PLG you are presented with a bs4Dash page with a sidebar. The first tab is for loading data.

Welcome screen for PLG

This page features a clear warning:

This package is NOT VALIDATED, and should be reserved for exploratory analysis only.

Pressing Browse will allow the user to upload SAS files to the PLG. You can select multiple files here to upload

Select SAS files to upload

Creating Patient Subpopulations

The core feature of the PLG is found in the sidebar menu: Patient Populations. This is where a user can create and manage patient subpopulations.

patient subpopulations

The patient subpopulations module designed using cards that can be minimized to save space. In the edit population card we have an overview of how many patients are in the given query and the number of filters applied in the header. This will shown even if the card is minimized.

Create a filter for patients between age 78 and 89

Filters are created by selecting a data set, a variable from the data set, and then a value. The value selection changes based on the data type of the variable. Categorical variables have a simple mulitple select drop down. Numeric variables have a slider bar as shown in the figure. Dates have two date selectors, one for the start date and one for the end date. The filter card also has options for handling missing values. A common querying task is to find all patients that are missing a start date. We can choose to

Once we have added all our filters, we can press save the population. This will close the current editing card and show the new population in the Populations card. We can see a quick overview of the variables included in the subpopulation as well as a badge indicating the number of patients. The buttons allow easy editing or deletion of the population.

A summary for each population displays once saved

Conclusion

The powerful aspect of the PLG is that all of the modules can be used in your own shiny applications. See the vignette on modules to learn more about include it in your own application.



Novartis/subpat documentation built on April 11, 2020, 3:11 p.m.