| 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.