Skip to contents

A shiny app that is designed for any diagnostics results from phenotypeR, this includes:

* A diagnostics on the database via `databaseDiagnostics`. * A diagnostics on the cohort_codelist attribute of the cohort via `codelistDiagnostics`. * A diagnostics on the cohort via `cohortDiagnostics`. * A diagnostics on the population via `populationDiagnostics`. * A diagnostics on the matched cohort via `matchedDiagnostics`.

Usage

shinyDiagnostics(
  result,
  directory,
  minCellCount = 5,
  open = rlang::is_interactive()
)

Arguments

result

A summarised result

directory

Directory where to save report

minCellCount

Minimum cell count for suppression when exporting results.

open

If TRUE, the shiny app will be launched in a new session. If FALSE, the shiny app will be created but not launched.

Value

A shiny app

Examples

# \donttest{
library(PhenotypeR)

cdm <- mockPhenotypeR()

result <- phenotypeDiagnostics(cdm$my_cohort)
#> 
#> 
#> Warning: ! cohort_codelist attribute for cohort is empty
#>  Returning an empty summarised result
#>  You can add a codelist to a cohort with `addCodelistAttribute()`.
#> 
#>  Getting cohort attrition
#>  Getting cohort count
#>  summarising data
#>  summarising cohort cohort_1
#>  summarising cohort cohort_2
#>  summariseCharacteristics finished!
#>  Getting cohort overlap
#>  Getting cohort timing
#>  The following estimates will be computed:
#>  days_between_cohort_entries: median, q25, q75, min, max, density
#> ! Table is collected to memory as not all requested estimates are supported on
#>   the database side
#> → Start summary of data, at 2025-04-03 13:05:29.503276
#>  Summary finished, at 2025-04-03 13:05:29.621567
#>  get cohorts and index
#>  cohort summary
#>  adding demographics columns
#>  adding tableIntersectCount 1/1
#>  summarising data
#>  summarising cohort cohort_1
#>  summarising cohort cohort_2
#>  summariseCharacteristics finished!
#>  age density
#>  The following estimates will be computed:
#>  age: density
#> → Start summary of data, at 2025-04-03 13:05:33.937244
#>  Summary finished, at 2025-04-03 13:05:34.219175
#> 
#>  Creating denominator for incidence and prevalence
#>  Sampling person table to 1e+06
#>  Creating denominator cohorts
#>  Cohorts created in 0 min and 5 sec
#>  Estimating incidence
#>  Getting incidence for analysis 1 of 12
#>  Getting incidence for analysis 2 of 12
#>  Getting incidence for analysis 3 of 12
#>  Getting incidence for analysis 4 of 12
#>  Getting incidence for analysis 5 of 12
#>  Getting incidence for analysis 6 of 12
#>  Getting incidence for analysis 7 of 12
#>  Getting incidence for analysis 8 of 12
#>  Getting incidence for analysis 9 of 12
#>  Getting incidence for analysis 10 of 12
#>  Getting incidence for analysis 11 of 12
#>  Getting incidence for analysis 12 of 12
#>  Overall time taken: 0 mins and 12 secs
#>  Estimating prevalence
#>  Getting prevalence for analysis 1 of 12
#>  Getting prevalence for analysis 2 of 12
#>  Getting prevalence for analysis 3 of 12
#>  Getting prevalence for analysis 4 of 12
#>  Getting prevalence for analysis 5 of 12
#>  Getting prevalence for analysis 6 of 12
#>  Getting prevalence for analysis 7 of 12
#>  Getting prevalence for analysis 8 of 12
#>  Getting prevalence for analysis 9 of 12
#>  Getting prevalence for analysis 10 of 12
#>  Getting prevalence for analysis 11 of 12
#>  Getting prevalence for analysis 12 of 12
#>  Time taken: 0 mins and 7 secs
#> 
#>  Sampling cohorts
#> Returning entry cohort as the size of the cohorts to be sampled is equal or
#> smaller than `n`.
#>  Generating an age and sex matched cohort for cohort_1
#> Starting matching
#>  Creating copy of target cohort.
#>  1 cohort to be matched.
#>  Creating controls cohorts.
#>  Excluding cases from controls
#>  Matching by gender_concept_id and year_of_birth
#>  Removing controls that were not in observation at index date
#>  Excluding target records whose pair is not in observation
#>  Adjusting ratio
#> Binding cohorts
#>  Done
#>  adding demographics columns
#>  adding tableIntersectCount 1/1
#>  summarising data
#>  summarising cohort cohort_1_sampled
#>  summarising cohort cohort_1_matched
#>  summariseCharacteristics finished!
#>  Getting age density
#>  The following estimates will be computed:
#>  age: density
#> → Start summary of data, at 2025-04-03 13:06:12.823006
#>  Summary finished, at 2025-04-03 13:06:13.210709
#>  Running large scale characterisation
#>  Summarising large scale characteristics 
#> 
#>  - getting characteristics from table condition_occurrence (1 of 6)
#>  - getting characteristics from table visit_occurrence (2 of 6)
#>  - getting characteristics from table measurement (3 of 6)
#>  - getting characteristics from table procedure_occurrence (4 of 6)
#>  - getting characteristics from table observation (5 of 6)
#>  - getting characteristics from table drug_exposure (6 of 6)
#>  Sampling cohorts
#> Returning entry cohort as the size of the cohorts to be sampled is equal or
#> smaller than `n`.
#>  Generating an age and sex matched cohort for cohort_2
#> Starting matching
#>  Creating copy of target cohort.
#>  1 cohort to be matched.
#>  Creating controls cohorts.
#>  Excluding cases from controls
#>  Matching by gender_concept_id and year_of_birth
#>  Removing controls that were not in observation at index date
#>  Excluding target records whose pair is not in observation
#>  Adjusting ratio
#> Binding cohorts
#>  Done
#>  adding demographics columns
#>  adding tableIntersectCount 1/1
#>  summarising data
#>  summarising cohort cohort_2_sampled
#>  summarising cohort cohort_2_matched
#>  summariseCharacteristics finished!
#>  Getting age density
#>  The following estimates will be computed:
#>  age: density
#> → Start summary of data, at 2025-04-03 13:07:04.375822
#>  Summary finished, at 2025-04-03 13:07:04.754184
#>  Running large scale characterisation
#>  Summarising large scale characteristics 
#> 
#>  - getting characteristics from table condition_occurrence (1 of 6)
#>  - getting characteristics from table visit_occurrence (2 of 6)
#>  - getting characteristics from table measurement (3 of 6)
#>  - getting characteristics from table procedure_occurrence (4 of 6)
#>  - getting characteristics from table observation (5 of 6)
#>  - getting characteristics from table drug_exposure (6 of 6)
#> 

shinyDiagnostics(result, tempdir())
#>  Creating shiny from provided data

CDMConnector::cdmDisconnect(cdm = cdm)
# }