The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
redcap_delete()
function. It deletes a vector of
records. (Thanks @joundso, #372, #373)redcap_arm_export()
function. It retrieves a list
of REDCap project arms. (#375)redcap_read()
and redcap_read_oneshot()
accept a new locale
parameter that specifies date, time,
and number formats, like using a comma as the decimal separator. It is a
readr::locale
object. (#377, suggested by @joundso)redcap_instruments()
function exports a list of the
data collection instruments for a project. (#381, @vcastro)redcap_event_instruments()
function exports the
instrument-event mappings for a project (i.e., how the data collection
instruments are designated for certain events in a longitudinal
project).. (#381, @vcastro)redcap_dag_read()
function returns the Data Access
Groups for a project (#382, @joundso)sanitize_token()
now allows lowercase characters –in
addition to uppercase characters & digits. (#347, @jmbarbone)redcap_metadata_read()
now uses json (instead of csv)
to transfer the dictionary between server & client. This
accommodates super-wide dictionaries with 35k+ variables. The user
shouldn’t notice a difference, and still will receive a data.frame.
(#335, @januz &
@datalorax)testthat::skip_on_cran()
calls to
comply with CRAN’s “fail
gracefully” policy. Similarly, skip remaining examples that depend
on external resources. (#352)retrieve_credential_local()
can now user
username
to identify the desired credential row (#364)redcap_read()
and redcap_read_oneshot()
gain the http_response_encoding
parameter that’s passed to
httr::content()
.
The default value remains “UTF-8”. (#354, @lrasmus)redcap_users_export()
(which calls REDCap’s user
export). The API dropped the data_export
variable and added
the forms_export
variable. (#396)redcap_read_oneshot_eav()
: if the project isn’t
longitudinal, a dummy value for event_id
is used internally
(#396)httr::user_agent
, following the advice of httr’s
vignette (#397)The package has been stable for years and should be reflected in the major version number.
redcap_write()
and redcap_write_oneshot()
have
a new parameter that converts R’s logical
/boolean columns
to integers. This meshes well with T/F and Y/N items that are coded as
1/0 underneath. The default will be FALSE (ie, the integers are not
converted by default), so it doesn’t break existing code. (#305)redcap_write()
and redcap_write_oneshot()
can
toggle the ability to overwrite with blank/NA cells (suggested by @auricap, #315)redcap_read_oneshot()
,
redcap_read()
, & redcap_read_oneshot_eav()
now support the parameters datetime_range_begin
and
datetime_range_end
. The are passed to the REDCap parameters
dateRangeBegin
and dateRangeEnd
, which
restricts records returned, based on their last modified date in the
server. (Thanks @pbchase, #321 & #323.)export_survey_fields
parameter in the functions redcap_read()
&
redcap_read_oneshot()
. (Thanks @isaactpetersen, #333)redcap_report()
export records that populate a REDCap report. (#326.)create_credential_local()
starts a well-formed csv file that can contain tokens. (#340, after
conversations with @higgi13425 & @kamclean.)config_option
element. (Proposed
by @BastienRance, #307)success
value returned by
redcap_read()
and redcap_write()
when the
parameter continue_on_error
is true. (Bug found by @llrs, #317)kernel_api()
defaults to “text/csv” and UTF-8 encoding. Formerly, the function would
decide on the content-type and encoding. More details are below in the
‘Stability Features’ subsection.
constant()
no longer accepts simplify
as an options. An integer vector
is always returned. (#280)
It’s now possible to specify the exact col_types
(a
readr::cols
object) that is passed to readr::read_csv()
inside redcap_read_oneshot()
.
(#258)
reader::type_convert()
is used after all the batches are stacked on top of each other.
This way, batches cannot have incompatible data types as they’re
combined. (#257; thanks @isaactpetersen #245) Consequently,
the guess_max
parameter in redcap_read()
no
longer serves a purpose, and has been soft-deprecated. (#267)
redcap_metadata_write()
writes to the project’s metadata. (#274, @felixetorres)
redcap_survey_link_export_oneshot()
retrieves the URL to a specific record’s survey (e.g.,
“https://bbmc.ouhsc.edu/redcap/surveys/?s=8KuzSLMHf6”) (#293)
convert_logical_to_integer
is a new parameter for redcap_write()
and redcap_write_oneshot()
.
If TRUE
, all [base::logical] columns in ds
are
cast to an integer before uploading to REDCap. Boolean values are
typically represented as 0/1 in REDCap radio buttons. Defaults to
FALSE
to maintain backwards compatibility. (#305)
httr::content()
(which is inside
kernel_api()
) now processes the returned value as
“text/csv”, by default. This should prevent strange characters from
tricking the process as the internal variable raw_text
is
being formed. See the
[httr::content()](https://httr.r-lib.org/reference/content.html) documentation for a list of possible values for the
content_type`
parameter. (Thanks to great debugging by @vortexing #269, @sybandrew #272, & @begavett, #290)
Similarly, kernel_api()
now has an
encoding
parameter, which defaults to “UTF-8”.
(#270)
‘checkmate’ package is now imported, not suggested (Thanks @dtenenba, #255).
Allow more than one httr::config()
parameter to be
passed (Thanks @BastienRance, #307).
redcap_next_free_record_name()
: API call for ‘Generate
Next Record Name’, which returns the next available record ID (Issue
#237)redcap_read()
and redcap_read_oneshot()
allow the user to specify if all variables should be returned with the
character
data type. The default is to allow
readr::read_csv()
to guess the data type. (#194)redcap_read_oneshot()
allows use to specify how many
rows should be considered when readr::read_csv()
guesses
the data type. (#194)redcap_read()
, redcap_read_oneshot()
, and
redcap_read_oneshot_eav()
always return Linux-style line
endings (ie \n
) instead of Windows style line endings (ie,
\r\n
) on all OSes. (#198)read_metadata()
always returns character
vectors for all variables. With readr 1.2.0, some column were returned
differently than before. (#193)redcap_users_export()
now included (#163)redcap_read()
,
redcap_read_oneshot()
, &
redcap_read_oneshot_eav()
(#206). It was already implemented
for redcap_metadata_read()
.constants()
) easily exposes
REDCap-specific constants. (#217)id_position
allows user to specify if the record_id
isn’t in the first position (#207). However, we recommend that all
REDCap projects keep this important variable first in the data
dictionary.redcap_read()
and
redcap_read_oneshot()
are more consistent with the order in
raw REDCap API. (#204)verbose
parameter is NULL, then the value from
getOption(“verbose”) is used. (#215)guess_max
parameter provided in
redcap_read()
(no longer just
redcap_read_oneshot()
). Suggested by @isaactpetersen in #245.redcap_variables()
now throws an error when passed a
bad URI (commit e542155639bbb7).kernal_api()
function, which uses the ‘httr’ and ‘curl’
packages underneath. Until now, each function called those packages
directly. (#213)readr::read_csv()
is used instead of
utils::read.csv()
(Issue #127).odbc
package to retrieve credentials from the
token server. Remove RODBC and RODBCext (#188). Thanks to @krlmlr for error checking
advice in https://stackoverflow.com/a/50419403/1082435.data.table::rbindlist()
replaced by
dplyr::bind_rows()
testit::assert()
and base:stop()
) (#190
& #208).collapse_vector()
is refactored and tested (#209)pkgload
package (#218)retrieve_token_mssql()
, because
retrieve_credential_mssql()
is more general and more
useful.redcap_variables()
.redcap_read_oneshot_eav()
,
which can be accessed with a triple colon (ie,
REDCapR::redcap_read_oneshot_eav()
).redcap_read()
and
redcap_read_oneshot()
(PR #126)retrieve_credential_mssql()
and
retrieve_credential_local()
. These transition from storing
& retrieving just the token (ie,
retrieve_token_mssql()
) to storing & retrieving more
information. retrieve_credential_local()
facilitates a
standard way of storing tokens locally, which should make it easier to
follow practices of keeping it off the repository.data.table::rbindlist()
is used. This should prevent errors
with the first batch’s data type (for a column) isn’t compatible with a
later batch. For instance, this occurs when the first batch has only
integers for record_id
, but a subsequent batch has values
like aa-test-aa
. The variable for the combined dataset
should be a character. (Issue #128 &
https://stackoverflow.com/questions/39377370/bind-rows-of-different-data-types;
Thanks @arunsrinivasan)dplyr
package instead of plyr
.
This shouldn’t affect callers, because immediately before returning the
data, REDCapR::redcap_read()
coerces the
tibble::tibble
(which was formerly called
dplyr::tbl_df
) back to a vanilla data.frame
with as.data.frame()
.retrieve-token()
tests now account for the (OS X)
builds where the RODBC package isn’t available.curl
package, instead of RCurl
).requireNamespace()
instead of
require()
.readcap_read()
is being
used without ‘Full Data Set’ export privileges. The problem involves the
record IDs are hashed.id_position
in the
first stage of batching. The metadata needed to be read before that,
after the updates for REDCap Version 6.0.x.retrieve_token_mssql()
uses regexes to validate
parametersconfig_options
in the httr package are exposed to
the REDCapR user. See issues #55 & #58; thanks to @rparrish and @nutterb for their
contributions (https://github.com/OuhscBbmc/REDCapR/issues/55 &
https://github.com/OuhscBbmc/REDCapR/issues/58).redcap_metadata_read()
are tested and public.testthat::skip_on_cran()
before any
call involving OUHSC’s REDCap server.redcap_write()
and redcap_write_oneshot()
are now tested and public.redcap_write()
and redcap_write_oneshot()
are now tested and public.redcap_download_file_oneshot()
function contributed by
John Aponte (@johnaponte; Pull request #35)redcap_upload_file_oneshot()
function contributed by
@johnaponte (Pull
request #34)verbose==TRUE
. Follows advice of @johnaponte, Benjamin Nutter (@nutterb), and Rollie
Parrish (@rparrish).
Closes #43.records_collapsed
default empty value is now an
empty string (i.e., ""
) instead of
NULL
. This applies when records_collapsed
is
either a parameter, or a returned value.redcap_download_file_oneshot()
documentation, thanks to Andrew Peters (@ARPeters #45).httr
package, which provides benefits
like the status code message can be captured (eg, 200-OK, 403-Forbidden,
404-NotFound). See https://cran.r-project.org/package=httr.status_message
to
outcome_message
. This is because the message associated
with http code returned is conventionally called the ‘status messages’
(eg, OK, Forbidden, Not Found).raw_text
value
(which was formerly called raw_csv
) is returned as an empty
string to save RAM. It’s not really necessary with httr’s status message
exposed.redcap_column_sanitize()
function to address
non-ASCII charactersredcap_write()
(as an internal function).redcap_project()
object reduces repeatedly passing
parameters like the server URL, the user token, and the SSL cert
location.redcap_read_batch()
to
redcap_read()
. These changes reflect our suggestion that
reads should typically be batched.redcap_read()
to
redcap_read_oneshot()
redcap_write()
to
redcap_write_oneshot()
(which is an internal
function).redcap_read()
and
redcap_read_batch()
with documentationredcap_read()
takes parameter for
raw_or_label
(Thanks Rollie Parrish #3)redcap_read()
takes parameter for
export_data_access_groups
thanks to Rollie Parrish (@rparrish #4)GitHub Commits and Releases
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.