CTIS
CTIS
trial data processingCTIS
by disabling HTTP/2 multiplexing in another functionCTGOV2
CTGOV
has retired on 2024-06-25 the classic website and API used by ctrdata
since 2015. To support users, ctrdata
now automatically translates and redirects queries to the current website. This helps with automatically updating previously loaded queries (ctrLoadQueryIntoDb(querytoupdate = <n>)
), manually migrating queries and reproducible work on clinical trials information. This new functionality in ctrdata
translates a user's search query URL from the classic website into a query for the current CTGOV
website, for all search parameters. Since the structure and format of data differs between data retrieved from the current API and previously retrieved from the classic API, ctrdata
will continue to identify the current API as register = "CTGOV2"
, to support the analysis stage. In addition, ctrdata
documentation continues to include examples of analyses with CTGOV
data, as this may have been downloaded earlier.
CTIS
has been relaunched on 2024-06-17, and ctrdata
has been fully updated to it. At the moment, CTIS
provides basic searches and no search query URL. To support users, ctrdata
includes an updated script that extracts a user's search parameters from the register search page to the clipboard and into the browser URL bar. In addition, the script triggers a search for trials when opening such a query URL, see https://rfhb.github.io/ctrdata/#id_2-script-to-automatically-copy-users-query-from-web-browser. File names of CTIS
documents start now with the document type, e.g. SbjctInfaICF - L1 SIS and ICF NL for publication.pdf
, since the prefix (document source) introduced in version 1.18.0 is no more applicable.
CRAN
notesctrFindActiveSubstanceSynonyms()
to CTGOV2
API; this is now based on terms used in studiesctrdata-collection
for data frames with trial information; same content as attribute ctrdata-table
, which will be removed by end 2024CTGOV2
CTIS
CTIS
now include the document type and use different separators (e.g., "parts2auth - SbjctInfaICF - ..." as abbreviation of "Subject information and informed consent form (for publication)", was previously "parts2auth_...")CTGOV2
(automatically retrieved from CTIS
, not available for other registers)CTIS
DuckDB
and CTGOV2
dbGetFieldsIntoDf()
unlink
of intermediate filesCTIS
CTIS
CTIS
downloads in a given sessionCTIS
field types and possibly documents (associated clinical trials)ctId
instead of id
as CTIS
top-level field (a further synonym used in the API is clinicalTrialId
)EUCTR
EUCTR
CTIS
query did not result in any trialsdbGetFieldsIntoDf()
to accelerate and have more predictable, simplified returns, in particular for nested fields; also attempts to recursively expand simply nested data into additional columns in the returned data framedbFindFields()
to accelerate; both based on improved nodbi::docdb_query()
dbFindFields()
now digests a sample of records to quickly find fields, or all records if sample = FALSE
but taking increasing time with increasing number of recordsnodbi::scr_postgres()
, parameter fields
of dbGetFieldsIntoDf()
is limited to less than 50 fields; a message flags for any backend potential compatibility issues, suggesting to use parent fields, e.g., a.b
instead of c("a.b.c.d", "a.b.c.e")
stopifnodata
of dbGetFieldsIntoDf()
is no more needed and deprecatedoptions(ctrdata.tempdir = "<user_specified_folder>")
cygwin
was found so that they may chose to delete itdbGetFieldsIntoDf()
CTIS
JSON
from CTIS
{"id":"PostAssignmentPeriod-46349"}
, was: {"@attributes":{"id":"PostAssignmentPeriod-46349"}}
@attributes
from field names such as dbGetFieldsIntoDf("clinical_results.baseline.analyzed_list.analyzed.count_list.count.@attributes.value", db)
NDJSON
(e.g., some but not all records have <start_date type="Actual">March 15, 2004</start_date>
, and this is converted to {"start_date":"March 15, 2004"}
)e83_single_site_trial
, was (EU trials): e83_the_trial_involves_single_site_in_the_member_state_concerned
e83_single_site_trial
, was (3rd country trials): e83_will_this_trial_be_conducted_ at_a_single_site_globally
e863_trial_sites_planned_in
, was (EU trials): e863_specify_the_regions_in_which_trial_sites_are_planned
e863_trial_sites_planned_in
, was (3rd country trials): e863_specify_the_countries_outside_of_the_eea_in_which_trial_sites_are_planned
e84_multiple_sites_in_member_state
, was (EU trials): e84_the_trial_involves_multiple_sites_in_the_member_state_concerned
e840_multiple_sites_globally
, was (3rd country trials): e84_will_this_trial_be_conducted_at_multiple_sites_globally
See also https://github.com/rfhb/ctrdata/issues/26#issuecomment-1749555081
totalSize
responseCygwin
, perl
, cat
, sed
, php
functionality for transforming text, XML and NDJSON replaced by Javascript using R
package V8
); addresses personally communicated concerns and faciliates use of package ctrdata
in more environments (e.g., https://github.com/rfhb/ctrdata/issues/26); consequently, this might be a breaking change for analysing certain fields, see above which fields are affected.dbFindFields()
returns fields for EU and 3rd country trials in EUCTR (addresses https://github.com/rfhb/ctrdata/issues/26)options(ctrdata.tempdir = ...)
if setdfListExtractKey()
, long deprecateddfMergeTwoVariablesRelevel()
, long deprecatedCTIS
, including file name sanitisationCTGOV2
CTGOV
ctrdataURLcopier.js
to only rewrite searches and views from CTIS
partIIInfo
object into array, adding a new partIIIinfoKey
so that
'{"partIIInfo": "<int>": {...}, "<int>": {...}}'
becomes
'{"partIIInfo": [{"partIIIinfoKey": <int>, ...}, {"partIIIinfoKey": <int>, ...}]}')
dbFindIdsUniqueTrials()
for single-record register contentsdfMergeVariablesRelevel()
superseeds dfMergeTwoVariablesRelevel()
dbFindFields()
dbFindIdsUniqueTrials()
ctrLoadQueryIntoDb()
for CTIS with nodbi >=0.9.2.9000dbFindIdsUniqueTrials()
dbFindFields()
for EUCTRcurl::multi_download()
which can resume retrievals from registersctrLoadQueryIntoDb()
to always return visible resultdfTrials2Long()
identifier (EUCTR no more top "1" across fields)dfName2Value()
dfName2Value()
dbGetFieldsIntoDf()
with missing datadbGetFieldsIntoDf()
for rare complex fieldswherevalue
in dfName2Value()
resultctrLoadQueryIntoDb()
new parameter euctrresultsfilespath
, deprecating euctrresultspdfpath
ctrLoadQueryIntoDb()
now also extracts and saves results files other than PDF filesctrFindActiveSubstanceSynonyms()
returns NULL for non-existing active substancedbFindFields()
returns a vector of fields which now has as names the register in which a field occursdbGetFieldsIntoDf()
for specific nested data structuresdfTrials2Long()
for specific fieldsdbFindIdsUniqueTrials()
when only single trial in any registermin_age
in CTGOVdbGetFieldsIntoDf()
and simplify more fieldsdbFindFields()
returns names of all leaf and node fieldsinstallCygwinWindowsDoInstall()
to properly update an installation (remove --prune-install)installCygwinWindowsDoInstall()
and only cache successful binary testingrequired_header.download_date
dfTrials2Long()
, covering nested itemsdbFindFields()
ctrGetQueryUrlFromBrowser()
, long deprecated