| Title: | Tools for Clinical Data Management | 
| Version: | 0.2.6 | 
| Description: | For checking the dataset from EDC(Electronic Data Capture) in clinical trials. 'dmtools' reshape your dataset in a tidy view and check events. You can reshape the dataset and choose your target to check, for example, the laboratory reference range. | 
| Depends: | R (≥ 3.6) | 
| Imports: | magrittr (≥ 1.5), dplyr (≥ 1.0.0), readxl (≥ 1.3.1), purrr (≥ 0.3.3), lubridate (≥ 1.7.4), httr (≥ 1.4.1), tidyr (≥ 1.1.0), tibble (≥ 3.0.1), progress (≥ 1.2.2) | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/KonstantinRyabov/dmtools | 
| BugReports: | https://github.com/KonstantinRyabov/dmtools/issues | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.1.1 | 
| Suggests: | testthat, knitr, rmarkdown | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2020-11-08 21:49:03 UTC; X7-KR | 
| Author: | Konstantin Ryabov [aut, cre] | 
| Maintainer: | Konstantin Ryabov <chachabooms@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2020-11-08 22:00:02 UTC | 
Add columns if columns don't exist
Description
Add columns if columns don't exist
Usage
add_cols(dset, ds_part, target_cols)
Arguments
dset | 
 A data frame. The dataset.  | 
ds_part | 
 A character scalar. Prefix or postfix.  | 
target_cols | 
 A character vector with necessary columns.  | 
Value
A data frame. The dataset.
Function for calculating the difference between two dates
Description
Function for calculating the difference between two dates
Usage
calc_diff(st_inter, dt_item)
Arguments
st_inter | 
 An interval. An object of interval.  | 
dt_item | 
 A date item. An object of date.  | 
Value
An integer scalar. Differences between the two dates.
Check the dataset
Description
Check the dataset
Usage
check(obj, dataset)
Arguments
obj | 
 An object for check.  | 
dataset | 
 A dataset, a type is a data frame.  | 
Value
An object with a check result.
Examples
id <- c("01", "02", "03")
screen_date_E1 <- c("1991-03-13", "1991-03-07", "1991-03-08")
rand_date_E2 <- c("1991-03-15", "1991-03-11", "1991-03-10")
ph_date_E3 <- c("1991-03-21", "1991-03-16", "1991-03-16")
bio_date_E3 <- c("1991-03-23", "1991-03-16", "1991-03-16")
df <- data.frame(id, screen_date_E1, rand_date_E2, ph_date_E3, bio_date_E3,
  stringsAsFactors = FALSE
)
timeline <- system.file("dates.xlsx", package = "dmtools")
obj_date <- date(timeline, id, dplyr::contains)
obj_date <- check(obj_date, df)
Check the dataset
Description
Check the dataset
Usage
## Default S3 method:
check(obj, dataset)
Arguments
obj | 
 An object for check.  | 
dataset | 
 A dataset, a type is a data frame.  | 
Value
An object with a check result.
Examples
id <- c("01", "02", "03")
screen_date_E1 <- c("1991-03-13", "1991-03-07", "1991-03-08")
rand_date_E2 <- c("1991-03-15", "1991-03-11", "1991-03-10")
ph_date_E3 <- c("1991-03-21", "1991-03-16", "1991-03-16")
bio_date_E3 <- c("1991-03-23", "1991-03-16", "1991-03-16")
df <- data.frame(id, screen_date_E1, rand_date_E2, ph_date_E3, bio_date_E3,
  stringsAsFactors = FALSE
)
timeline <- system.file("dates.xlsx", package = "dmtools")
obj_date <- date(timeline, id, dplyr::contains)
obj_date <- check(obj_date, df)
Filter the final result
Description
Filter the final result
Usage
choose_test(obj, test, group_id)
Arguments
obj | 
 An object for check.  | 
test | 
 Parameters, which use to filter the final dataset.  | 
group_id | 
 A logical scalar, default is TRUE.True is grouped by id, otherwise, it isn't grouped.  | 
Value
The filtered dataset.
Examples
id <- c("01", "02", "03")
screen_date_E1 <- c("1991-03-13", "1991-03-07", "1991-03-08")
rand_date_E2 <- c("1991-03-15", "1991-03-11", "1991-03-10")
ph_date_E3 <- c("1991-03-21", "1991-03-16", "1991-03-16")
bio_date_E3 <- c("1991-03-23", "1991-03-16", "1991-03-16")
df <- data.frame(id, screen_date_E1, rand_date_E2, ph_date_E3, bio_date_E3,
  stringsAsFactors = FALSE
)
timeline <- system.file("dates.xlsx", package = "dmtools")
obj_date <- date(timeline, id, dplyr::contains)
obj_date <- check(obj_date, df)
choose_test(obj_date, "out")
Filter the final result of the object date
Description
Filter the final result of the object date
Usage
## S3 method for class 'date'
choose_test(obj, test = "out", group_id = T)
Arguments
obj | 
 An object for calculation. Class date.  | 
test | 
 A character scalar. Parameters, which use to filter the final dataset, default: "out": "out" - dates, which are out of the protocol's timeline, "uneq" - dates, which are unequal, "ok" - correct dates, "skip" - empty dates.  | 
group_id | 
 A logical scalar, default is TRUE.True is grouped by id, otherwise, it isn't grouped.  | 
Value
The dataset by a value of test.
Examples
id <- c("01", "02", "03")
screen_date_E1 <- c("1991-03-13", "1991-03-07", "1991-03-08")
rand_date_E2 <- c("1991-03-15", "1991-03-11", "1991-03-10")
ph_date_E3 <- c("1991-03-21", "1991-03-16", "1991-03-16")
bio_date_E3 <- c("1991-03-23", "1991-03-16", "1991-03-16")
df <- data.frame(id, screen_date_E1, rand_date_E2, ph_date_E3, bio_date_E3,
  stringsAsFactors = FALSE
)
timeline <- system.file("dates.xlsx", package = "dmtools")
obj_date <- date(timeline, id, dplyr::contains)
obj_date <- check(obj_date, df)
choose_test(obj_date, "out")
Filter the final result of the object lab
Description
Filter the final result of the object lab
Usage
## S3 method for class 'lab'
choose_test(obj, test = "mis", group_id = T)
Arguments
obj | 
 An object. Class lab.  | 
test | 
 A character scalar. Parameters, which use to filter the final dataset, default: "mis": "ok" - analysis, which has a correct estimate of the result, "mis" - analysis, which has an incorrect estimate of the result, "skip" - analysis, which has an empty value of the estimate, "null" - analysis, which has an empty result and value of the estimate.  | 
group_id | 
 A logical scalar, default is TRUE.True is grouped by id, otherwise, it isn't grouped.  | 
Value
The filtered dataset by a value of test.
Examples
ID <- c("01", "02", "03")
SITE <- c("site 01", "site 02", "site 03")
AGE <- c("19", "20", "22")
SEX <- c("f", "m", "f")
GLUC_V1 <- c(5.5, 4.1, 9.7)
GLUC_IND_V1 <- c("norm", "no", "cl")
AST_V2 <- c("30", "48", "31")
AST_IND_V2 <- c(NA, "norm", "norm")
df <- data.frame(
  ID, SITE, AGE, SEX,
  GLUC_V1, GLUC_IND_V1,
  AST_V2, AST_IND_V2,
  stringsAsFactors = FALSE
)
refs <- system.file("labs_refer.xlsx", package = "dmtools")
obj_lab <- lab(refs, ID, AGE, SEX, "norm", "no")
obj_lab <- check(obj_lab, df)
choose_test(obj_lab, "mis")
For creating part of the specification
Description
For creating part of the specification
Usage
create_spec(df_spec, all_colname, part_spec, is_pst)
Arguments
df_spec | 
 A dataset, a type is a data frame.  | 
all_colname | 
 A character vector with all names in the dataset.  | 
part_spec | 
 A character scalar. Prefixes or postfixes.  | 
is_pst | 
 A logical scalar, default is TRUE. True is postfix, otherwise, prefix.  | 
Value
A data frame. Part of the specification.
Create object date
Description
Create object date
Usage
date(file, id, get_visit, get_date = dplyr::contains, str_date = "DAT")
Arguments
file | 
 A character scalar. Path to the date's parameters in the excel table.  | 
id | 
 A column name of the subject id in the dataset, without quotes.  | 
get_visit | 
 A function, which select necessary visit or event e.g. dplyr::start_with, dplyr::contains.  | 
get_date | 
 A function, which select dates from necessary visit e.g. dplyr::matches, dplyr::contains, default: dplyr::contains.  | 
str_date | 
 A date's pattern in column names, default: "DAT".  | 
Value
The object date.
Examples
obj_date <- date("dates.xlsx", id, dplyr::contains)
obj_date <- date("dates.xlsx", id, dplyr::contains, "uneq")
dmtools: package to validate data
Description
for checking the dataset from EDC in clinical trials
Find column names
Description
Find column names
Usage
find_colnames(obj, dataset, row_file)
Arguments
obj | 
 An object for check.  | 
dataset | 
 A dataset, a type is a data frame.  | 
row_file | 
 A row of the file.  | 
Value
A data frame. Result of run_tests.
Find column names with dates
Description
Find column names with dates
Usage
## S3 method for class 'date'
find_colnames(obj, dataset, row_file)
Arguments
obj | 
 An object for validation.  | 
dataset | 
 A data frame. Class date.  | 
row_file | 
 A data frame. A data frame with analysis parameters.  | 
Value
A data frame. Visit's dates.
Find column names
Description
Find column names
Usage
## Default S3 method:
find_colnames(obj, dataset, row_file)
Arguments
obj | 
 An object for validation.  | 
dataset | 
 A dataset, a type is a data frame.  | 
row_file | 
 A row of the file.  | 
Value
A data frame. Result of run_tests.
Get the final result of the check
Description
Get the final result of the check
Usage
get_result(obj, group_id = T)
Arguments
obj | 
 An object. Can be all classes: short, lab, date.  | 
group_id | 
 A logical scalar, default is TRUE.True is grouped by id, otherwise, it isn't grouped.  | 
Value
A data frame. The final result.
Examples
id <- c("01", "02", "03")
site <- c("site 01", "site 02", "site 03")
sex <- c("f", "m", "f")
preg_yn_e2 <- c("y", "y", "y")
preg_res_e2 <- c("neg", "neg", "neg")
preg_yn_e3 <- c("y", "y", "n")
preg_res_e3 <- c("neg", "pos", "unnes")
df <- data.frame(
  id, site, sex,
  preg_yn_e2, preg_res_e2,
  preg_yn_e3, preg_res_e3,
  stringsAsFactors = FALSE
)
preg <- system.file("preg.xlsx", package = "dmtools")
obj_short <- short(preg, id, "LBORRES", c("site", "sex"))
obj_short <- check(obj_short, df)
get_result(obj_short)
Create object lab
Description
Create object lab
Usage
lab(
  file,
  id,
  age,
  sex,
  normal,
  abnormal,
  is_post = T,
  name_to_find = "LBNRIND"
)
Arguments
file | 
 A character scalar. Path to the laboratory's reference in the excel table.  | 
id | 
 A column name of the subject id in the dataset, without quotes.  | 
age | 
 A column name of the subject age in the dataset, without quotes.  | 
sex | 
 A column name of the subject sex in the dataset, without quotes.  | 
normal | 
 A normal estimate, for example, "NORMAL".  | 
abnormal | 
 An abnormal estimate, for example, "ABNORMAL".  | 
is_post | 
 A logical scalar, default is TRUE. True is postfix, otherwise, prefix.  | 
name_to_find | 
 A character scalar. For search prefixes or postfixes, default is "LBNRIND".  | 
Value
The object lab.
Examples
obj_lab <- lab("lab_refer.xlsx", ID, AGE, SEX, 1, 2)
obj_lab <- lab("lab_refer.xlsx", ID, AGE, SEX, "NORMAL", "ABNORMAL")
obj_lab <- lab("lab_refer.xlsx", ID, AGE, SEX, "norm", "no", FALSE)
A list to a tibble.
Description
A list to a tibble.
Usage
list_parse(to_tibble)
Arguments
to_tibble | 
 A list with nested lists.  | 
Value
A tibble.
Examples
temp_list <- list(list(a = 1, b = 3), list(a = 4, b = 5))
list_parse(temp_list)
Get the token
Description
Get the token
Usage
meddra_auth(target_url, meddra_id, api_key)
Arguments
target_url | 
 The url for authenticate.  | 
meddra_id | 
 The user's meddra id.  | 
api_key | 
 The user's api key.  | 
Value
A string scalar. The user's token.
Examples
## Not run: 
meddra_auth(url, id, key)
## End(Not run)
Create the post query
Description
Create the post query
Usage
meddra_post(target_url, json, token)
Arguments
target_url | 
 The url for a post query.  | 
json | 
 A string scalar or a list. The json query.  | 
token | 
 The user's token.  | 
Value
A list. The result of query.
Examples
## Not run: 
meddra_post(url, json_body, token)
## End(Not run)
For rename dataset
Description
For rename dataset
Usage
rename_dataset(
  dataset,
  path_crfs,
  no_readable_name,
  readable_name,
  num_sheet = 1,
  extension = "*.xlsx",
  is_post = T
)
Arguments
dataset | 
 A dataset, a type is a data frame.  | 
path_crfs | 
 A character scalar. Path to the specification files the in excel table.  | 
no_readable_name | 
 A character scalar. A column name of no_readable values.  | 
readable_name | 
 A character scalar. A column name of readable values.  | 
num_sheet | 
 An integer scalar, default is the first sheet. A position of a sheet in the excel document.  | 
extension | 
 A character scalar. A extension of files, default is *.xlsx.  | 
is_post | 
 A logical scalar, default is TRUE. True is postfix, otherwise, prefix.  | 
Value
The list with two values: data - renamed dataset, spec - common specification. The common specification is data frame of two values: no_readable_var, readable_var.
Examples
id <- c("01", "02", "03")
age <- c("19", "20", "22")
sex <- c("f", "m", "f")
bio_date_post <- c("1991-03-23", "1991-03-16", "1991-03-16")
gluc_post <- c("5.5", "4.1", "9.7")
gluc_res_post <- c("norm", "no", "norm")
df <- data.frame(
  id, age, sex,
  bio_date_post,
  gluc_post, gluc_res_post,
  stringsAsFactors = FALSE
)
crfs <- system.file("forms", package = "dmtools")
result <- rename_dataset(df, crfs, "old_name", "new_name")
result[["data"]]
Create object short
Description
Create object short
Usage
short(
  file,
  id,
  name_to_find,
  common_cols = NULL,
  extra = NULL,
  is_post = T,
  is_add_cols = F
)
Arguments
file | 
 A character scalar. Path to the excel table.  | 
id | 
 A column name of the subject id in the dataset, without quotes.  | 
name_to_find | 
 A character scalar. For search prefixes or postfixes.  | 
common_cols | 
 A character vector. A column names in the dataset, which common for all events.  | 
extra | 
 A character scalar. For additional information.  | 
is_post | 
 A logical scalar, default is TRUE. True is postfix, otherwise, prefix.  | 
is_add_cols | 
 A logical scalar, default is FALSE. If necessary add columns.  | 
Value
The object short.
Examples
obj_short <- short("preg.xlsx", id, "res", c("site", "sex"))
obj_short <- short("labs.xlsx", id, "name_labs", c("site"), "human_name")
Cast to double type
Description
Cast to double type
Usage
to_dbl(vals)
Arguments
vals | 
 A character or double vector.  | 
Value
A double vector.
Reshape the dataset to a long view
Description
Reshape the dataset to a long view
Usage
to_long(obj, dataset, row_file, part)
Arguments
obj | 
 An object for check.  | 
dataset | 
 A data frame.  | 
row_file | 
 A data frame. A data frame with parameters.  | 
part | 
 A character scalar. Prefixes or postfixes.  | 
Value
A data frame. The part of final result.
Reshape the dataset to a long view
Description
Reshape the dataset to a long view
Usage
## S3 method for class 'date'
to_long(obj, dataset, row_file, date)
Arguments
obj | 
 An object for validation.  | 
dataset | 
 A data frame. Class date.  | 
row_file | 
 A data frame. A data frame with analysis parameters.  | 
date | 
 A column name with dates.  | 
Value
A data frame. Result of the date's validation.
Reshape the dataset to a long view
Description
Reshape the dataset to a long view
Usage
## S3 method for class 'lab'
to_long(obj, dataset, row_file, part)
Arguments
obj | 
 An object. Class lab.  | 
dataset | 
 A data frame.  | 
row_file | 
 A data frame. A data frame with parameters.  | 
part | 
 A character scalar. Prefixes or postfixes.  | 
Value
A data frame. The part of the final result.
Reshape the dataset to a long view
Description
Reshape the dataset to a long view
Usage
## S3 method for class 'short'
to_long(obj, dataset, row_file, part)
Arguments
obj | 
 An object. Class short.  | 
dataset | 
 A data frame.  | 
row_file | 
 A data frame. A data frame with parameters.  | 
part | 
 A character scalar. Prefixes or postfixes.  | 
Value
A data frame. The part of the final result.