dbFindFields()
more robust, specify scalar search
fields to identify recordsCTIS
search
from an URL, see
https://rfhb.github.io/ctrdata/#id_2-script-to-automatically-copy-users-query-from-web-browserCTIS
provides an advanced
searchCTIS
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