mirror of
https://github.com/agdamsbo/REDCapCAST.git
synced 2024-11-22 13:30:23 +01:00
Updated read_redcap_tables to handle non-longitudinal projects and give better error on invalid events or forms
This commit is contained in:
parent
b5c0a1af34
commit
7cae55dba4
@ -2,9 +2,10 @@ Package: REDCapCAST
|
|||||||
Title: REDCap Castellated Data Handling
|
Title: REDCap Castellated Data Handling
|
||||||
Version: 23.12.1
|
Version: 23.12.1
|
||||||
Authors@R: c(
|
Authors@R: c(
|
||||||
person("Andreas Gammelgaard", "Damsbo", email = "agdamsbo@clin.au.dk", role = c("aut", "cre"),
|
person("Andreas Gammelgaard", "Damsbo", email = "agdamsbo@clin.au.dk",
|
||||||
comment = c(ORCID = "0000-0002-7559-1154")),
|
role = c("aut", "cre"),comment = c(ORCID = "0000-0002-7559-1154")),
|
||||||
person("Paul", "Egeler", email = "paul.egeler@spectrumhealth.org", role = "aut"))
|
person("Paul", "Egeler", email = "paulegeler@gmail.com", role = c("aut"),
|
||||||
|
comment = c(ORCID = "0000-0001-6948-9498")))
|
||||||
Description: Originally forked from the R part of 'REDCapRITS' by Paul Egeler.
|
Description: Originally forked from the R part of 'REDCapRITS' by Paul Egeler.
|
||||||
See <https://github.com/pegeler/REDCapRITS>.
|
See <https://github.com/pegeler/REDCapRITS>.
|
||||||
Handles castellated datasets from 'REDCap' projects with repeating instruments.
|
Handles castellated datasets from 'REDCap' projects with repeating instruments.
|
||||||
|
6
NEWS.md
6
NEWS.md
@ -1,3 +1,9 @@
|
|||||||
|
# REDCapCAST 24.1.1
|
||||||
|
|
||||||
|
### Functions
|
||||||
|
|
||||||
|
* Fix: `read_redcap_tables()`: checking form names based on data dictionary to allow handling of non-longitudinal projects. Prints invalid form names and invalid event names. If invalid form names are supplied to `REDCapR::redcap_read()` (which is the backbone), all forms are exported, which is not what we want with a focused approach. Invalid event names will give an output with a rather peculiar formatting.
|
||||||
|
|
||||||
# REDCapCAST 23.12.1
|
# REDCapCAST 23.12.1
|
||||||
|
|
||||||
One new function to ease secure dataset retrieval and a few bug fixes.
|
One new function to ease secure dataset retrieval and a few bug fixes.
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
#' Download REDCap data
|
#' Download REDCap data
|
||||||
#'
|
#'
|
||||||
#' Implementation of REDCap_split with a focused data acquisition approach using
|
#' Implementation of REDCap_split with a focused data acquisition approach using
|
||||||
#' REDCapR::redcap_read nad only downloading specified fields, forms and/or
|
#' REDCapR::redcap_read and only downloading specified fields, forms and/or
|
||||||
#' events using the built-in focused_metadata including some clean-up.
|
#' events using the built-in focused_metadata including some clean-up.
|
||||||
#' Works with longitudinal projects with repeating instruments.
|
#' Works with classical and longitudinal projects with or without repeating
|
||||||
|
#' instruments.
|
||||||
#' @param uri REDCap database uri
|
#' @param uri REDCap database uri
|
||||||
#' @param token API token
|
#' @param token API token
|
||||||
#' @param records records to download
|
#' @param records records to download
|
||||||
@ -39,27 +40,30 @@ read_redcap_tables <- function(uri,
|
|||||||
)) {
|
)) {
|
||||||
|
|
||||||
|
|
||||||
if (!is.null(forms) | !is.null(events)){
|
m <- REDCapR::redcap_metadata_read(redcap_uri = uri, token = token)[["data"]]
|
||||||
arm_event_inst <- REDCapR::redcap_event_instruments(redcap_uri = uri,
|
|
||||||
token = token)
|
|
||||||
|
|
||||||
if (!is.null(forms)){
|
if (!is.null(forms)){
|
||||||
|
|
||||||
forms_test <- forms %in% unique(arm_event_inst$data$form)
|
forms_test <- forms %in% unique(m$form_name)
|
||||||
|
|
||||||
if (any(!forms_test)){
|
if (any(!forms_test)){
|
||||||
|
print(paste0("The following form names are invalid: ", paste(forms[!forms_test],collapse=", "),"."))
|
||||||
stop("Not all supplied forms are valid")
|
stop("Not all supplied forms are valid")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is.null(events)){
|
if (!is.null(events)){
|
||||||
|
arm_event_inst <- REDCapR::redcap_event_instruments(redcap_uri = uri,
|
||||||
|
token = token)
|
||||||
|
|
||||||
event_test <- events %in% unique(arm_event_inst$data$unique_event_name)
|
event_test <- events %in% unique(arm_event_inst$data$unique_event_name)
|
||||||
|
|
||||||
if (any(!event_test)){
|
if (any(!event_test)){
|
||||||
|
print(paste0("The following event names are invalid: ", paste(events[!event_test],collapse=", "),"."))
|
||||||
stop("Not all supplied event names are valid")
|
stop("Not all supplied event names are valid")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
# Getting dataset
|
# Getting dataset
|
||||||
d <- REDCapR::redcap_read(
|
d <- REDCapR::redcap_read(
|
||||||
|
@ -43,9 +43,10 @@ list of instruments
|
|||||||
}
|
}
|
||||||
\description{
|
\description{
|
||||||
Implementation of REDCap_split with a focused data acquisition approach using
|
Implementation of REDCap_split with a focused data acquisition approach using
|
||||||
REDCapR::redcap_read nad only downloading specified fields, forms and/or
|
REDCapR::redcap_read and only downloading specified fields, forms and/or
|
||||||
events using the built-in focused_metadata including some clean-up.
|
events using the built-in focused_metadata including some clean-up.
|
||||||
Works with longitudinal projects with repeating instruments.
|
Works with classical and longitudinal projects with or without repeating
|
||||||
|
instruments.
|
||||||
}
|
}
|
||||||
\examples{
|
\examples{
|
||||||
# Examples will be provided later
|
# Examples will be provided later
|
||||||
|
Loading…
Reference in New Issue
Block a user