admiral (development version)
New Features
- The documentation was enhanced: (#2585)
- The default value of an argument is now displayed in the argument description.
- For complex functions each example has now a title, which is also shown in the TOC, and a description. This enabled adding more examples without losing readability. See
derive_extreme_records()for an example. - The output of the structured examples used for complex functions is displayed in the help pages in RStudio.
- New lab grading metadata for US (Conventional) units for the three grading criteria
admiralalready produces for SI units (#2557).-
atoxgr_criteria_ctcv4_uscv(NCI-CTCAEv4 criteria) -
atoxgr_criteria_ctcv5_uscv(NCI-CTCAEv5 criteria) -
atoxgr_criteria_daids_uscv(DAIDs criteria)
-
Updates of Existing Functions
- In
derive_vars_joined(), thefilter_addargument is now correctly applied for all join types, fixing an issue where it was ignored whenjoin_type != "all". (#2682) - The function
extract_duplicate_records()was updated to consider all variables in the input dataset for the by group if theby_varsargument is omitted entirely. (#2644) - In
slice_derivation(), previously the derivation is not called for empty subsets, however this can lead to issues when the input dataset is empty. Now the derivation is called for all subsets. (#2645) - The examples section for the function
derive_var_trtemfl()was enhanced to include a showcasing of all scenarios discussed in the following PHUSE White Paper on Treatment-Emergent AEs. (#2455) -
derive_var_atoxgr_dir()updated to handle more than one unit in grading metadata. Related to providing US (Conventional) units for grading (#2557). - The background checks in
derive_summary_records()were too restrictive:by_varswere expected indatasetalthough the code did not require it. This requirement has therefore been dropped (#2686). - The functions
derive_vars_joined(),derive_var_joined_exist_flag(), andfilter_joined()produce correct results now when they are used withjoin_type = "before"orjoin_type = "after"anddatasetanddataset_adddiffer or thefilter_addargument is used. (#2863)
Breaking Changes
Lab grading metadata
atoxgr_criteria_ctcv4(),atoxgr_criteria_ctcv5()andatoxgr_criteria_daids()variableSI_UNIT_CHECKrenamed toUNIT_CHECK(#2557).The values of the variable specified for
tmp_obs_nr_varinderive_vars_joined(),derive_var_joined_exist_flag(),filter_joined()are now populated differently if there are multiple records indatasetordataset_addfor the same values ofby_varsandorder. Before each of these records was assigned a different value, i.e., the variable (together withby_vars) was a unique identifier. Now the value is the same for all these records. (#2683)-
The following function arguments are entering the next phase of the deprecation process: (#2487) (#2595)
Phase 1 (message)
Phase 2 (warning)
Phase 3 (error)
Phase 4 (removed)
Documentation
-
The examples sections of the following functions were enhanced:
Added an example to the
derive_vars_transposed()reference page to showcase how duplicates-related errors can arise when records indataset_mergeare not uniquely identified. (#2609)Default value of
typeinderive_vars_aage()is now shown asintervalto match the function behavior. (#2685)The “Lab Grading” vignette was updated to correct some typos and make text easier to read (#2623). Also, updated to include new metadata for grading using US (Conventional) units (#2557).
The “BDS Time-to-Event” vignette was updated to include
SRCSEQconsistently (#2658).The template for ADAE and the OCCDS vignette were updated to include an example of the
DOSEONandDOSEUvariables (#2737).The template for ADPC and vignette were updated to include an example of using
DTYPEfor imputed records (#2657).The “Higher Order Functions” vignette was updated to showcase an example of two higher order functions used in combination. The documentation for each of the higher order functions was also corrected by removing the stated requirement that the
derivationtakes adatasetargument (#2656).The ‘Details’ section of the
derive_var_analysis_ratio()function and the ‘Derive Analysis Ratio’ section of the “Creating a BDS Finding ADaM” vignette were updated to include references toR2AyHIandR2AyLO. (#2548)The
derive_basetype_records()documentation was updated to clarifyBASETYPEderivations. (#2545)
Various
Developer Notes
- Removed CODEOWNERS file from repo (#2674)
admiral 1.2.0
CRAN release: 2025-01-15
New Features
- New function
derive_vars_cat()for deriving pairs of variables or more, e.g.AVALCATy&AVALCAyN. (#2480) - New function
derive_vars_crit_flag()for deriving criterion flag variables (CRITy,CRITyFL,CRITyFN). (#2468) - New function
transform_range()to transform values from a source range to a target range. (#2571)
Updates of Existing Functions
Added
"message"as option forcheck_typeargument inderive_var_obs_number()function. (#2481)Added
"message"as option forcheck_typeargument infilter_extreme()function. (#2481)Users can now specify how duplicate records are handled in
derive_param_tte()using thecheck_typeargument, with options including"error","warning","message", or"none", allowing for greater flexibility in managing duplicate data scenarios. (#2481)The
orderargument has been added toevent_source()andcensor_source()and
defaulted toNULLto allow specifying variables in addition to the date variable. This can be used to ensure the uniqueness of the select records if there is more than one record per date. (#2481)-
NCICTCAEv5 grading criteria (
atoxgr_criteria_ctcv5):- fix for
TERM = "INR increased", criteria was wrongly usingx ULN, for first part of criteria for grades 1 to 3. For example,">2.5 x ULN"changed to">2.5"for grade 3. (#2534). - when looking at abnormal baseline we now use
BNRINDinstead of comparingBASEwithANRHI, asANRHImay differ within a subject and lab test due to data from different lab vendors. This effects 5 terms, namely,Alanine aminotransferase increased,Alkaline phosphatase increased,Aspartate aminotransferase increased,Blood bilirubin increasedandGGT Increased. (#249) -
derive_var_atoxgr_dir(): new argumentabnormal_indicatorto pass in value ofBNRINDto indicate lab test is abnormal. This is only used for the 5 lab tests described above. (#249)
- fix for
The
keep_nasargument ofderive_param_computed()was enhanced such that it is now possible to specify a list of variables for whichNAs are acceptable. I.e., records are added even if some of the specified variables areNA. (#2510)derive_param_tte()now provides a useful error message if inevent_conditionsorcensor_conditionsa dataset is referenced which is not specified insource_datasets. (#2519)The
derive_param_qtc()function accepts now both"ms"and"msec"as unit of the input parameters. (#2513)In
derive_vars_query()the error message was improved for the cases that some of the requested query variables are already present in the input dataset or that the queries dataset contains duplicates. (#2543)derive_vars_atc()andcreate_single_dose_dataset()by_varsargument updated to useget_admiral_option("subject_keys")instead ofUSUBJIDorSTUDYIDinbds_exposure.Rmd. (#2501)The test scripts, R, and markdown files for
create_single_dose_dataset()andoccds.Rmdupdated to include aSTUDYIDcolumn because ofget_admiral_option("subject_keys")update above. (#2501)Update
derive_vars_period()to make it work when there is only one new variable. (#2582)A check was added to
derive_vars_transposed()andderive_vars_atc()which stops execution if the records indataset_mergeordataset_facmrespectively are not unique. (#2563)The functions
derive_vars_joined(),derive_var_joined_exist_flag(),derive_extreme_event(), andfilter_joined()were updated to reduce their memory consumption. As the new code increases the run-time, it is not used by default. To enable it the new admiral optionsave_memoryhas to be set toTRUE. (#2590)The function
compute_egfr()updated to allow missing values for sex which result in missing values for output. (#2612)
Breaking Changes
-
The following function arguments are entering the next phase of the deprecation process: (#2487) (#2595)
Phase 1 (message)
-
derive_param_extreme_record()is deprecated and replaced byderive_extreme_event() -
derive_var_dthcaus()is deprecated and replaced byderive_vars_extreme_event() -
date_source()is deprecated and replaced byevent() -
dthcaus_source()is deprecated and replaced byevent() -
derive_var_extreme_dt()andderive_var_extreme_dtm()are deprecated and replaced byderive_vars_extreme_event() -
get_summary_records()is deprecated. Please usederive_summary_records()with thedataset_addargument and without thedatasetargument.
Phase 2 (warning)
No functions or arguments in this Phase
Phase 3 (error)
No functions or arguments in this Phase
Phase 4 (removed)
consolidate_metadata(check_keys)- Removed at v1.1.1
compute_egfr(wt) - Removed at v1.1.1
derive_expected_records(dataset_expected_obs) - Removed at v1.1.1
derive_locf_records(dataset_expected_obs) derive_extreme_event(ignore_event_order)derive_vars_merged(match_flag)derive_var_merged_summary(new_var, analysis_var, summary_fun)- Removed at v1.1.1
derive_param_computed(analysis_value, analysis_var) derive_param_exposure(filter, analysis_var, summary_fun)derive_summary_records(filter)- Removed at v1.1.1
derive_extreme_records(filter) derive_var_joined_exist_flag(first_cond, filter)event_joined(first_cond)filter_joined(first_cond, filter)- In
get_summary_records(), previously deprecated formal argumentsanalysis_varandsummary_funnow removed from function, documentation, tests etc. (#2521)
-
Documentation
derive_locf_records()documentation example was fixed to display LOCF records. (#2461)The “Find my function” and “Presentation Archive”” links were made more prominent in the website navigation bar. (#2536)
derive_var_joined_exist_flag()documentation updated with extra examples. (#2523)Updated the Cheat Sheet to be in line with the 1.2 release of admiral. (#2458)
In the
derive_param_tte()documentation is was clarified which event/censoring is selected if there is more than one at the same date (for events the first one specified inevent_conditionsand for censoring the last one incensor_conditions). (#2639)
Various
- Replace use of
data("sdtm")withsdtm <- pharmaverse::sdtmin templates and vignettes. (#2498) - Remove
dthcaus_source()calls inADSLtemplate because they are deprecated. (#2517) - Update
ADEGtemplate to flagABLFLandANL01FLbased onDTYPE == "AVERAGE"records. (#2561)
Developer Notes
- Created unit tests for developer internal function
restricted_imputed_dtc_dt()(#2495) - Adopted
data-raw/dataR Package Convention (#2427, #2584) -
compute_bsa()now uses the more common (but equivalent) version of the DuBois-DuBois formula for BSA. The results have not changed. (#2532)
- Removed
.devcontainerfile (codespace) (#2524) - Restructured
derive_adeg_parms.Randderive_advs_parms.Rand related test files for easier reference (#2551)
admiral 1.1.1
CRAN release: 2024-06-17
-
derive_extreme_event()was fixed such thatcheck_type = "none"is accepted again. (#2462)
admiral 1.1.0
CRAN release: 2024-06-07
New Features
Added helper functions to
derive_vars_merged()(get_flagged_records()) andderive_vars_query()(get_vars_query()) so that those can be called independently as per user’s request.derive_vars_merged()function call results are not impacted by the change (#2441).Error Messaging has been made more “user-friendly”. (#2372)
New
country_code_lookup()metadata added to decode countries based on ISO 3166 codes. (#2388)
Updates of Existing Functions
group_var(optional) parameter is added toderive_var_trtemfl()to deriveTRTEMFLfor AE data if the data are collected as one episode of AE with multiple lines. (#2302)Templates for ADPC, ADPPK and ADPP are updated to handle urine records. (#2392)
create_single_dose_dataset()has been updated to error if thelookup_tablecontains duplicates. (#2247)derive_vars_merged()andderive_vars_transposed()have arelationshipargument added (the same as found indplyr::*_join()functions) for users to specify what type of join (one-to-one, one-to-many, etc.) should take place. (#2247)basket_select()function updated to add...argument to allow other qualifiers to be passed to user-defined function specified inget_terms_fun()argument for functioncreate_query_data(). (#2265)Messaging updated for
derive_extreme_event()to improve clarity around duplicates. #2405The
id_varsargument was added toderive_vars_transposed()andderive_vars_atc()to allow additional variables, beyond those inby_vars, to uniquely identify records in thedataset_mergeargument. (#2325)Update PK Programming vignette and templates for ADPC and ADPPK for the nominal time formula
NFRLTto reduce duplicate records in dose expansion withcreate_single_dose_dataset(). (#2426)Template for ADSL updated so that
EOSSTTis assigned as"ONGOING"when no study completion rows exist yet in DS. (#2436)The
slice_derivation()function was updated such that it works now when called in a function where objects from the function environment are used. (#2244)
Breaking Changes
-
The following function arguments are entering the next phase of the deprecation process: (#2299)
compute_egfr(wt)consolidate_metadata(check_keys)derive_expected_records(dataset_expected_obs)derive_locf_records(dataset_expected_obs)derive_extreme_event(ignore_event_order)derive_vars_merged(match_flag, new_var, analysis_var, summary_fun)derive_param_computed(analysis_value, analysis_var)derive_param_exposure(filter, analysis_var, summary_fun)derive_summary_records(filter)derive_extreme_records(filter)derive_var_joined_exist_flag(first_cond, filter)event_joined(first_cond)filter_joined(first_cond, filter)
-
The following function arguments have reached the end of the deprecation process and been removed: (#2299)
dthcaus_source(traceability_vars)date_source(traceability_vars)derive_var_ontrtfl(span_period)derive_var_shift(na_val)derive_vars_aage(unit)
Documentation
Documentation for
derive_extreme_event()has been updated to include a description for the value ofderive_extreme_event()whenkeep_source_vars = NULL. (#2398)The “Visit and Period Variables” vignette was updated and refactored to include example code to create a period reference dataset. (#2321)
The documentation of
derive_vars_merged()function is updated to describe that thecheck_typeargument is ignored (an error is issued) iforderis not specified. (#2326)The “User Guides” section has been reorganized. A new “Programming Concepts and Conventions” vignette was also added to provide more context and information around common admiral behaviors and ways of working. (#2395)
The “Get Started” section has been revamped, placing greater focus on material that may help users familiarize themselves with admiral. There are now new sections showcasing the various types of admiral functions and some of the more advanced topics have been moved to the new “Programming Concepts and Conventions” vignette. (#2395)
The Examples section of
derive_param_computed()now contains a new item showcasing how to create a derived parameter in the case that a variable contributing to the derived parameter has some/all of its values missing. (#2338)
Various
Templates and vignettes do not add or populate
AVALCfor BDS-findings datasets where the information contained inAVALCwould be redundant withAVAL. (#2442)The function
dplyr::transmute()is superseded in favor ofdplyr::mutate(.keep = "none"). Consequently, all the admiral functions that utilized the former have been updated accordingly. (#2274)The templates for ADPP and ADPC are updated for missing variables (#2308) and to make
ATPTandATPTNconsistent. (#2328)ADLB template updated to make
PARAMconsistent forPARAMCDvalues"BASO"and"LYMPH". (#2327)
Developer Notes
- In the previous version,
renvwas the default framework used to manage package dependencies. Now, we usedevtoolsas our main package manager (some changes also occurred for admiralci workflows). There is a possibility to get package dependency versions used for the workflows to ensure local reproducibility. For this, you need to go under the latest action summary in your current PR. You can see a deps artifact. For each version of R used forR CMD CHECKSjobs, there is an associated renv.lock file (under the deps artifact). - Splitting out
Randtestfiles for date/time functions for cyclomatic complexity refactor (#2340)(#2339) - Created three unit tests for
get_summary_records(). (#2304) - Created unit tests for developer internal function
get_imputation_target_date()(#2378) - Modified date/time unit tests to use unified example (#2424)
admiral 1.0.2
CRAN release: 2024-03-05
- Fix bug in
derive_param_tte()where argumentdatasetpopulated andPARAMCDinset_values_toargument is an expression. Previously, there was a check early in function to see ifPARAMCDdefined inset_values_toargument, already existed in the dataset passed intodatasetargument. IfPARAMCDwas not an expression i.e.PARAMCD = "XYZ"then check worked. However, ifPARAMCDto be created was an expression, and wasn’t resolved yet, this caused an ERROR. The check has been moved to near the end of the function, wherePARAMCDis resolved in the dataset holding the new parameters. (#2336)
admiral 1.0.1
CRAN release: 2024-02-01
- Fix bug in
derive_vars_query()where if AE terms were in mixed case no terms are flagged. (#2311)
admiral 1.0.0
CRAN release: 2023-12-15
New Features
The new function
derive_vars_extreme_event(), which works asderive_extreme_event()but adds variables instead of a parameter. (#2138)The new function
derive_var_merged_ef_msrc()is provided to add a flag indicating if one of the conditions in one of multiple source datasets is fulfilled. (#1728)-
New global option created
signif_digitsand added toset_admiral_options()to handle floating point issue, the value is set to15, and is used with thebase Rfunctionsignif()when comparing 2 numeric values. This is implemented inadmiralfunctionsderive_var_atoxgr_dir()andderive_var_anrind(). (#2134)For more information, please see blog: How admiral handles floating points
The new function
derive_vars_computed()is provided which has the same functionality asderive_param_computed()but instead of adding the computed values as a new parameter, adds it as a new variable. (#2178)
Updates of Existing Functions
Fixed a bug in
compute_tmf()where the time imputation flag was being incorrectly populated when any of the existing time components (hour, minute and/or second) of the date character vector ('--DTC'), was imputed. (#2146)derive_extreme_records(),derive_var_extreme_flag(),derive_vars_joined()andderive_vars_merged()were enhanced with the argumentstrue_valueandfalse_valueto align with preexisting functions that had similar functionality. (#2125)restrict_derivation()now allows dplyr functions likemutate()in thederivationargument. (#2143)derive_summary_records(),derive_var_merged_summary(), andget_summary_records()were enhanced such that more than one summary variable can be derived, e.g.,AVALas the sum andADTas the maximum of the contributing records. (#1792)derive_summary_records()was enhanced with the following arguments:dataset_add(required),dataset_ref(optional),missing_values(optional). These arguments respectively, generate summary variables from additional datasets, retain/add specific records from a reference dataset, and impute user-defined missing values. Note thatdataset_addcan be set to the same value asdatasetif a different additional dataset is not required.derive_param_exposure()was enhanced withdataset_addas well. (#2142)The
missing_valuesargument was added toderive_var_merged_summary(). It allows to define values for by groups, e.g., subjects which are not in the additional dataset. (#2230)The argument
datasetis now optional forderive_summary_records()andderive_param_exposure(). (#2142)-
The “joined” functions (
derive_vars_joined(),derive_var_joined_exist_flag(),filter_joined(), andevent_joined()) were unified: (#2126)- The
dataset_addandfilter_addarguments were added toderive_var_joined_exist_flag()andfilter_joined(). - The
filterargument was renamed tofilter_joininderive_var_joined_exist_flag()andfilter_joined(). - The
tmp_obs_nr_var, thejoin_type, thefirst_cond_lower, and thefirst_cond_upperarguments were added toderive_vars_joined(). - In
derive_var_joined_exist_flag(),filter_joined(), andevent_joined()thefirst_condargument was renamed tofirst_cond_upperand thefirst_cond_lowerargument was added. - In all “joined” functions the
filter_addargument is applied to the additional dataset grouped byby_varsand thefilter_joinargument is applied to the joined dataset grouped by the observations from the input dataset. I.e., summary functions likeall()orany()can be used.
- The
The
tmp_event_nr_varargument was added toderive_extreme_records()to allow more control of the selection of records. It creates a temporary variable for the event number, which can be used inorder. (#2140)signif_digargument added to bothderive_var_atoxgr_dir()andderive_var_anrind()functions with default value set to general optionsignif_digits. The new argument to these functions handles any floating point issues. (#2134)Fixed a bug in
derive_vars_period()where the function was throwing an error wheneverdataset_refcontained variables that were neither key variables, norAPERIOD,ASPER,APHASEN, nor mentioned in thenew_varsargument. (#2231)compute_duration(),derive_vars_duration(),derive_vars_aage()now accepts more terms for thein_unit,out_unit, andage_unitarguments (#2255)Updated the unit test for
derive_var_obs_number(). The new test checked the derivation of the default and customizednew_var, sorting with the the missing value and expected conditions. (#2260)The check for existence of
TERMNUM/TERMCHARin queries dataset is now less strict depending on values ofSRCVARforderive_vars_query()(#2264)DAIDS grading criteria fixed for
Grade = 0forTERM = "Absolute Lymphocyte Count, Low", criteria wasAVAL <= 0.65, now corrected toAVAL >= 0.65(#2284).A bug in
derive_extreme_event()was fixed. Theconditionfield is no longer ignored ifmodeis specified forevent()(#2291).A bug in
derive_vars_joined()was fixed. The function no longer fails if renaming is used inby_varsandnew_varsis not specified (#2289).
Breaking Changes
admiral now only supports R >= 4.0.0
In
derive_extreme_records()thedataset_addargument is now mandatory. (#2139)In
derive_summary_records()andget_summary_records()the argumentsanalysis_varandsummary_funwere deprecated in favor ofset_values_to. (#1792)In
derive_summary_records()andderive_param_exposure()the argumentfilterwas renamed tofilter_add(#2142)In
derive_var_merged_summary()the argumentsnew_var,analysis_var, andsummary_funwere deprecated in favor ofnew_vars. (#1792)In
derive_vars_merged(), the argumentmatch_flagwas renamed toexist_flag(#2125)The default value for the
false_valueargument inderive_extreme_records()was changed toNA_character_(#2125)In
consolidate_metadata(), the argumentcheck_keyswas renamed tocheck_typeto align with other functions (#2184)-
In
filter_joined()andderive_var_joined_exist_flag()(#2126)- the
first_condargument was deprecated in favor offirst_cond_upperand - the
filterargument was deprecated in favor offilter_join.
- the
In
event_joined()thefirst_condargument was deprecated in favor offirst_cond_upper. (#2126)-
In
derive_extreme_event(), theignore_event_orderargument was deprecated and the selection of the records was changed to allow more control. Before, the records were selected first by event and then byorder. Now they are selected byorderonly, but the event number can be added to it.To achieve the old behavior update
order = exprs(my_order_var), ignore_event_order = FALSE,to
tmp_event_nr_var = event_nr, order = exprs(event_nr, my_order_var),and
order = exprs(my_order_var), ignore_event_order = TRUE,to
order = exprs(my_order_var), -
create_query_data()andderive_vars_query()were updated to rename variables in query data set as follows: (#2186)-
TERMNAMEtoTERMCHAR -
TERMIDtoTERMNUM
Users need to adjust their
get_terms()function accordingly. -
-
The following functions, which were deprecated in previous admiral versions, have been removed: (#2098)
derive_param_extreme_event()derive_vars_last_dose()derive_var_last_dose_amt()derive_var_last_dose_date()derive_var_last_dose_grp()derive_var_basetype()derive_var_merged_cat()derive_var_merged_character()derive_var_confirmation_flag()
-
The following function arguments are entering the next phase of the deprecation process: (#2098)
compute_egfr(wt)derive_extreme_records(filter)derive_param_computed(analysis_value, analysis_var)derive_var_shift(na_val)derive_expected_records(dataset_expected_obs)derive_var_ontrtfl(span_period)
The
derive_param_extreme_record()function has been superseded in favor ofderive_extreme_event(). (#2141)The functions
derive_var_dthcaus(),derive_var_extreme_dt(), andderive_var_extreme_dtm()have been superseded in favor ofderive_vars_extreme_event(). (#2138)
Documentation
The documentation of the
by_varsandconstant_by_varsargument was improved and unified across all functions where it is used. (#2137)The functions
assert_db_requirements(),assert_terms(),assert_valid_queries(),extend_source_datasets(),filter_date_sources(),validate_basket_select(),validate_query()are no longer exported and have had documentation removed. (#2220)The function
extract_duplicate_records()has been re-classified as aninternalfunction, which means that the function still appears in our help pages but not on our website. (#2220)The “Generic Functions” vignette (now “Generic Derivations”) was rewritten. Now it provides a more complete overview of the generic derivations, describe the common concepts, and makes it easier to find the appropriate function. (#2230)
A way to standardize roxygen labels and descriptions for function arguments was implemented and tested. (#2034)
A link to published CDISC Population PK (ADPPK) implementation guide was added. (#2161)
Removed Deprecation section in Reference tab. Added new Superseded section in Reference tab. (#2174)
Added a link to the previous versions of the website to the navigation bar. (#2205)
The meaning of
date_imputation = "mid"was clarified in the documentation of the imputation functions, e.g.derive_vars_dtm(). (#2222)Added an example derivation of
DTHCGR1to the ADSL vignette. (#2218)Moved Development Process from admiraldev to Contribution Model in the
admiralwebsite, updated GitHub strategy. (#2196)Added new drop downs in Get Started navigation bar- Getting Started, Admiral Discovery, Cheat Sheet. Community removed from top. (#2217)
All “Example Script(s)” sections in the User Guide vignettes were updated to point the user towards using
use_ad_template("ADaM")rather than linking to the template in the code repository. (#2239)Handling of
NAvalues was added to the documentation of theorderargument for all functions. (#2230, #2257)
admiral 0.12.3
CRAN release: 2023-10-18
- Fixed a bug in
derive_var_dthcaus()where if a subject has observations in more than one of the sources, the one from the last source was selected regardless of the date. Now the function works as described in its documentation. (#2154)
admiral 0.12.2
CRAN release: 2023-10-06
- A unit test for
derive_param_computed()was modified in anticipation of major user-facing changes to R version 4.4 (#2147)
admiral 0.12.1
CRAN release: 2023-09-25
derive_extreme_records()no longer fails ifdataset_addis specified and a variable specified fororderis not indataset. (#2113)The
typeargument incompute_duration()changed the underlying default behavior inderive_vars_duration()without allowing the user to toggle between"duration"and"interval"as originally intended. This was fixed by adding thetypeargument forderive_vars_duration()and a wrapper functionderive_vars_aage()such that it gets passed throughcompute_duration()appropriately (#2112)Template
ad_adpp.Rupdated to replaceleft_join()withderive_vars_merged()(#2109).
admiral 0.12.0
CRAN release: 2023-09-12
New Features
event_joined()events were added. They can be specified for theeventsargument inderive_extreme_event(). This allows to define events based on more than one observation, e.g., events which need to be confirmed by a second assessment. (#1960)atoxgr_criteria_daids.rdaadded, which holds metadata for Division of AIDS (DAIDS) Table for Grading the Severity of Adult and Pediatric Adverse Events. You can find additional documentation hereatoxgr_criteria_daids()
Updates of Existing Functions
The functions
derive_param_bmi()andderive_param_bsa()are updated to have the option of producing more values at visits when only weight is collected (#1228).The functions
derive_var_age_years()andcompute_age_years()are updated to return anNAage in the case that the age unit is missing. (#2001) The argumentunitforderive_vars_aage()is also changed toage_unitfor consistency between these age-related functions. (#2025)The
derive_var_ontrtfl()function has been updated to allow for the column passed inref_end_dateto containNAvalues. Previously, if the end date wasNA, the row would never be flagged. Now, anNAvalue is interpreted as the treatment being ongoing, for example. (#1984)The function
derive_var_extreme_flag()has a new function argument,flag_allthat additionally flags all records if the first or last record is not unique. (#1979)-
The function
derive_param_computed()was enhanced: (#1968)- The
analysis_valueandanalysis_vararguments were deprecated in favor ofset_values_to. This enables users to compute more than one variable. - The
keep_nasargument was added. If it is set toTRUE, observations are created even if values contributing to the computed values areNA.
- The
The function
derive_vars_dy()is updated to avoid potential error when the inputdatasetwith columns ending withtemp. (#2012)Argument
keep_source_varswas added toderive_extreme_records()which specifies which variables in the new observations should be kept. (#1697)Templates, vignettes, and other uses of
{admiral.test}SDTM data are updated to use pharmaversesdtm instead. (#2040)The
traceability_varsargument indate_source()anddthcaus_sourcewere deprecated in favor ofset_values_to. Thedate_source()function creates a date_source object as input forderive_var_extreme_dt()andderive_var_extreme_dtm(),users can now define the traceability variables by assigning those variables to theset_values_toargument.Similarly, thedthcaus_sourcecreates a dthcaus_source Object. (#2068)-
derive_extreme_event()was enhanced (#1960):event_joined()events can be specified for theeventsargument. This allows to define events based on more than one observation, e.g., events which need to be confirmed by a second assessment.The
source_datasetsargument was added to the function and thedataset_namefield toevent(). It can be used to define events based on a different dataset than the input dataset.The
keep_source_varsargument was added to the function and thekeep_source_varsfield toevent(). It allows to select which variables should be kept for the selected observations.The
modeandorderfield were added toevent(). They allow to select the first or last observation per by group if there are multiple observation fulfilling the event condition.The
ignore_event_orderargument was added.The
descriptionfield was added toevent(). It can be used to provide a description of the event in plain language.
-
derive_var_atoxgr_dir()was enhanced (#1859):Can now select
atoxgr_criteria_daidsin argumentmeta_criteriato createATOXGRLandATOXGRHbased on Division of AIDS (DAIDS) Table for Grading the Severity of Adult and Pediatric Adverse EventsNew argument
signif_digadded to control the number of significant digits to use when comparing 2 numeric values. (https://github.com/pharmaverse/admiral/pull/2060)
Breaking Changes
The
compute_duration(type)argument added the"duration"type calculation, and this is the new default (previously"interval"differences were returned). See function help file for details on the difference between"duration"and"interval"calculations. (#1875)-
The following functions, which were deprecated in previous admiral versions, have been removed: (#1950)
derive_var_disposition_status()derive_vars_disposition_reason()format_eoxxstt_default()format_reason_default()derive_var_worst_flag()
-
The following functions have been deprecated from previous admiral versions using the next phase of the deprecation process: (#1950)
derive_param_extreme_event()derive_vars_last_dose()derive_var_last_dose_amt()derive_var_last_dose_date()derive_var_last_dose_grp()derive_var_basetype()derive_var_merged_cat()derive_var_merged_character()
The arguments
dataset_adslin the functionderive_param_exist_flag()andsubject_keyshave been deprecated versions using the next phase of the deprecation process. (#1950)The argument
wtin the functioncompute_egfr()was deprecated in favor ofweightusing the first phase of the deprecation process. (#2020)The
filterargument inderive_extreme_records()was deprecated in favor of thefilter_addusing the next phase of the deprecation process. (#1950)The
analysis_valueandanalysis_vararguments inderive_param_computed()were deprecated in favor ofset_values_to(#1968).The
na_valargument inderive_var_shift()has been deprecated in favor ofmissing_valueusing the first phase of the deprecation process. (#2014)The
dataset_expected_obsargument inderive_expected_records()andderive_locf_records()has been deprecated in favor ofdataset_ref. (#2037)The
span_periodargument inderive_var_ontrtfl()has been updated to only acceptTRUEorFALSE, where is previously accepted"Y"andNULL. (#2033)
Documentation
Non-exported utility and print functions were previously listed on the admiral website reference page. They have been removed. (#2049, #2050)
The description of the argument
reference_datein the functionderive_vars_dy()has been clarified to make it agnostic to start/end selection. (#2027)Date and Time Imputation User Guide/Vignette has section on preserving partial dates updated (#2028)
Various
The list of package authors/contributors has been reformatted so that those who are actively maintaining the code base are now marked as authors, whereas those who made a significant contribution in the past are now down as contributors. All other acknowledgments have been moved to README section (#1941).
derive_vars_joined()had two bugs with regards to duplicates messaging and whennew_varswas set toNULLthat have now been addressed (#1966).compute_dtf()had a bug with regards to imputing days to full date-time character strings. (#2042)
admiral 0.11.1
CRAN release: 2023-07-06
- Fix bug in
derive_param_tte(). (#1962) - Get Started page now points to correct article. (#1969)
admiral 0.11.0
CRAN release: 2023-06-08
New Features
In the function
derive_var_anrind(), added argumentuse_a1hia1loto turn the usage ofA1HIandA1LOoff and on, with the default being off. (#1795)New function
compute_age_years()for converting a vector of age values to years. (#1794)New functions
filter_exist()andfilter_not_exist()for selecting records from a dataset dependent on the existence of the corresponding by groups in a filtered source dataset. (#1699)New function
derive_param_extreme_record()that adds parameter based on the first or last record from multiple sources. (#1822)New ADPPK template script available
ad_adppk.Rwhich creates Population PK Analysis Dataset based on forthcoming CDISC Implementation guide. (#1772)New function
compute_egfr()for calculating Estimated Glomerular Filtration Rate (eGFR) and Creatinine Clearance for Kidney Function. (#1826)
Updates of Existing Functions
derive_extreme_records()was enhanced such that it includes the functionality ofderive_param_extreme_event(). (#1725)For the
set_values_toargument expressions are accepted now. For example,set_values_to = exprs(PARAMCD = str_to_upper(QSTESTCD)). This affectscensor_source(),derive_expected_records(),derive_extreme_event(),derive_extreme_records(),derive_param_bmi(),derive_param_bsa(),derive_param_computed(),derive_param_doseint(),derive_param_exposure(),derive_param_framingham(),derive_param_map(),derive_param_exist_flag(),derive_param_extreme_event(),derive_param_qtc(),derive_param_rr(),derive_param_wbc_abs(),derive_summary_records(),event_source(),get_summary_records(). (#1727)For the
orderargument expressions are accepted now. (#1727)-
derive_vars_merged()updates: (#1727)- The
missing_valuesargument to assign values to the new variables for non-matching observations was added. - The
new_varsargument accepts expressions now.
- The
-
derive_vars_joined()updates: (#1727)- The
missing_valuesargument to assign values to the new variables for non-matching observations was added. - The
new_varsand thejoin_varsargument accept expressions now.
- The
The
datefield ofdate_source()accepts expressions now. This affectsderive_var_extreme_dt()andderive_var_extreme_dtm(). (#1727)The
dateanddthcausfield ofdthcaus_source()accept expressions now. This affectsderive_var_dthcaus(). (#1727)The
datefield ofevent_source()andcensor_source()accepts expressions now. This affectsderive_param_tte(). (#1727)-
The
derive_param_computed()function was enhanced: (#1873)- The new
dataset_addargument allows to consider parameters from a different dataset than the input dataset. - The new
analysis_varargument allows to specify the variable to be populated, e.g.,AVALC. - For
parametersandconstant_parametersa list of expressions can be specified now. This allows to create temporary parameter codes, e.g., if SDTM data is used as input. - The
analysis_valueargument was enhanced such that any variable of the form<variable>.<parameter>can be used, e.g.,QSORRES.CHSF13.
- The new
Breaking Changes
-
create_query_data()andderive_vars_query()updated to rename variables in query data set as follows: (#1907)-
VAR_PREFIXtoPREFIX -
QUERY_NAMEtoGRPNAME -
QUERY_IDtoGRPID -
QUERY_SCOPEtoSCOPE -
QUERY_SCOPE_NUMtoSCOPEN -
TERM_LEVELtoSRCVAR -
TERM_NAMEtoTERMNAME -
TERM_IDtoTERMID
Users need to adjust their
get_terms()function accordingly. -
The
aval_funargument ofderive_param_exist_flag()was deprecated in favor of theset_values_toargument. (#1727)derive_var_merged_cat()andderive_var_merged_character()have been deprecated in favor ofderive_vars_merged(). (#1727)-
The following functions, which were deprecated in previous admiral versions, have been removed: (#1747)
derive_vars_merged_dt()derive_vars_merged_dtm()derive_var_agegr_ema()derive_var_agegr_fda()derive_param_first_event()derive_derived_param()derive_var_confirmation_flag()filter_confirmation()
-
The following functions have been deprecated from previous admiral versions using the next phase of the deprecation process: (#1747)
derive_var_disposition_status()derive_vars_disposition_reason()format_eoxxstt_default()format_reason_default()derive_var_worst_flag()
derive_param_extreme_event()was deprecated in favor ofderive_extreme_records(). (#1725)The
filterargument inderive_extreme_records()was deprecated in favor of thefilter_addargument. (#1725)derive_vars_last_dose(),derive_var_last_dose_amt(),derive_var_last_dose_date(),derive_var_last_dose_grp(), were deprecated in favor ofderive_vars_joined(). (#1797)derive_var_basetype()was deprecated in favor ofderive_basetype_records(). (#1796)In the function
derive_param_exist_flag()the argumentsdataset_adslandsubject_keyshave been renamed todataset_refandby_varsrespectively. (#1793)
Documentation
Updated example dataset to trigger deterioration flags in the vignette “Creating Questionnaire ADaMs”. (#1853, #1854)
Updated PK Programming vignette to include new Population PK Template
ad_adppk.R. (#1772)Updated “Lab Grading” Vignette to link to grading metadata available in admiral and clarify how abnormal baseline values are assigned in NCI-CTCAEv5. (#1863)
Updated “Visit and Period Variables” Vignette to add more detail about Study Specific Code that is required. (#1831)
Increased documentation for those functions which are regarded as wrapper functions. (#1726)
Examples in function documentation no longer rely on
library(admiral.test). (#1752)Conferences where admiral was presented were updated on the
README.md. (#1890)
Various
vars()which was used in the admiral function calls that expected a list of quosures has been removed. The admiral optionforce_admiral_varswas removed as well. (#1694)derive_vars_dtm()andderive_vars_dt()had a bug pertaining to imputations associated with supplying bothmin_datesandmax_datesthat has now been resolved. (#1843)Examples for
derive_var_extreme_flag()were reworked to reduce runtime that occasionally led to failing CI check. (#1780)create_period_dataset()had a bug that led to an error when both DT and DTM columns existed. (#1845)External functions are now consistently imported via namespace.
package::function()calls have been removed fromadmiralfunctions. (#1842)restrict_derivation()had a bug which led to failure if thederivationargument was not in the global environment. (#1765)
admiral 0.10.2
CRAN release: 2023-04-25
- Changing package maintainer from Thomas Neitmann to Ben Straub. (#1848)
admiral 0.10.1
CRAN release: 2023-03-14
- Fix checks on
derive_vars_dtm()andderive_vars_dt()that were too restrictive. (#1810)
admiral 0.10.0
CRAN release: 2023-03-08
New Features
Using testthat 3rd edition for unit testing. This is stricter in that messages must be addressed and deprecated functions throw errors. (#1754)
New function
consolidate_metadata()for consolidating multiple meta datasets into a single one. (#1479)New function
compute_scale()for computing the average of a vector and transforming the result from a source to a target range. (#1692)New ADPC template script available
ad_adpc.Rwhich creates PK Concentration Analysis Dataset (#849). This script includes formatting suitable for Non-Compartmental Analysis (ADNCA). (#851)New function
derive_expected_records()for adding expected records. (#1729)New function
derive_extreme_event()for adding the worst or best observation for each by group as new records. (#1755)
Updates of Existing Functions
Arguments
analysis_var,keep_varswere added toderive_locf_records(),analysis_varallows to specify analysis variable,keep_varskeeps variables that need carrying the last observation forward other thananalysis_var(e.g.,PARAMN,VISITNUM). (#1636)The function
create_single_dose_dataset()adds support for expanding relative nominal time (e.g. NFRLT) used in Pharmacokinetic (PK) analyses. The new parameternominal_timedefaults asNULLand does not change the normal operation of the function. If anominal_timeis specified such as NFRLT (Nominal Relative Time from First Dose) then the nominal time is incremented by the interval specified inEXDOSFRQfor example for “QD” records the NFRLT is incremented by 24 hours, e.g. 0, 24, 48… (#1640)create_single_dose_dataset()is also updated for values ofEXDOSFRQwith units in days but expected values less than 24 hours, such as “BID”, “TID”, and “QID”. Previously these values ofEXDOSFRQmay result in duplicate records where the day values are incremented but the time values are not. (#1643)The function
derive_var_confirmation_flag()andfilter_confirmation()gained thetmp_obs_nr_varargument. It helps flagging or selecting consecutive observations or the first or last observation in a by group. (#1724)The functions
derive_vars_merged(),derive_var_merged_cat(),derive_var_merged_character(),derive_var_merged_exist_flag(),derive_var_merged_summary(), andderive_vars_merged_lookup()were updated to allow renaming in the argumentby_vars. (#1680)The units “min” and “sec” are added as valid values of
out_unitincompute_duration()andderive_vars_duration(). (#1647)The function
derive_vars_query()now includes a consistency check forQUERY_SCOPEandQUERY_SCOPE_NUMvalues. (#652)Argument
new_varinderive_param_extreme_event()is made optional. (#1630)derive_vars_last_dose()no longer fails ifUSUBJIDis not included in the input dataset. (#1787)
Breaking Changes
-
All function arguments which expected a list of quosures created by
vars()are now expecting a list of expressions created byexprs(). For example, instead ofby_vars = vars(STUDYID, USUBJID)by_vars = exprs(STUDYID, USUBJID)must be used now.To enable running old scripts using
vars()in the admiral function calls admiral redefines thevars()function such that it returns a list of expressions. This can be disabled by the admiral optionforce_admiral_vars(seeset_admiral_options()). Please note that this is a temporary solution and will be removed in a future admiral release. (#1627) Function
derive_param_tte()has been updated such that only observations are added for subjects who have both an event or censoring and an observation indataset_adsl. (#1576)Function
derive_var_disposition_status()has been deprecated, please usederive_var_merged_cat()instead. (#1681)Function
derive_var_worst_flag()has been deprecated, in favor ofslice_derivation()/derive_var_extreme_flag(). (#1682)Function
derive_vars_disposition_reason()has been deprecated, in favor ofderive_vars_merged(). (#1683)-
The following functions have been deprecated from previous admiral versions using the next phase of the deprecation process: (#1712)
derive_derived_param()derive_param_first_event()derive_vars_merged_dt()derive_vars_merged_dtm()derive_var_agegr_ema()derive_var_agegr_fda()
-
The following functions, which were deprecated in previous admiral versions, have been removed: (#1712)
derive_var_ady()derive_var_aendy()derive_var_astdy()derive_var_atirel()derive_vars_suppqual()smq_select()sdg_select()
-
The following parameters, which were deprecated in previous admiral versions, have been removed: (#1712)
-
meddra_version,whodd_version,get_smq_funandget_sdg_funfrom thecreate_query_data()function -
date_imputation,time_imputationandpreserveparameters fromdate_source()function -
filterparameter fromderive_var_extreme_flag()
-
ADLBmetadata data set calledatoxgr_criteria_ctcv5updated to remove unit check forHYPERURICEMIAas grade criteria based onANRHIonly. This metadata holds criteria for lab grading based on Common Terminology Criteria for Adverse Events (CTCAE) v5.0. (#1650)Renamed
derive_var_confirmation_flag()andfilter_confirmation()toderive_var_joined_exist_flag()andfilter_joined()respectively. (#1738)
Documentation
New vignette “Creating a PK NCA ADaM (ADPC/ADNCA)”. (#1639)
New vignette “Hy’s Law Implementation”. (#1637)
New vignette “Creating Questionnaire ADaMs”. (#1715)
The expected value for the
derivationargument ofrestrict_derivation(),slice_derivation(), andcall_derivation()is described now. (#1698)Removed authors from function documentation, as we will now only be tracking an overall list of authors for admiral. (#1673)
Added an imputation example for
create_single_source_dataset()in function documentation. (#1408, #1760)Updates to examples for
derive_var_age_years()andderive_vars_duration(). (#1620, #1634)Increased the level of documentation for
derive_var_age_years()to describe the data type of the newly creatednew_varcolumn. (#970)
Various
- Functions
derive_vars_dtm()andderive_vars_dt()had a bug pertaining to imputations associated withNAvalues that has now been fixed. (#1646)
admiral 0.9.1
CRAN release: 2022-12-23
- Implement changes to
if_else()from the release ofdplyrversion 1.1.0, which affectsderive_vars_dtm()andand compute_tmf(). (#1641)
admiral 0.9.0
CRAN release: 2022-12-06
New Features
The new function
derive_vars_joined()adds variables from an additional dataset. The selection of the observations can depend on variables from both datasets. This can be used for addingAVISIT,AWLO,AWHIbased on time windows andADYor deriving the lowest value (nadir) before the current observation. (#1448)New function
derive_var_trtemfl()for deriving treatment emergent flags. (#989)The new function
chr2vars()turns a character vector into a list of quosures. (#1448)New function
derive_var_relative_flag()for flagging observations before or after a condition is fulfilled. (#1453)New functions
get_admiral_option()andset_admiral_options()to allow more flexibility on common function inputs; e.g. likesubject_keysto avoid several find and replace instances ofvars(STUDYID, USUBJID). (#1338)The new function
create_period_dataset()for creating a reference dataset for subperiods, periods, or phases from the ADSL dataset was added. The reference dataset can be used to create subperiod, period, and phase variables in OCCDS and BDS datasets. (#1477)The new function
derive_vars_period()adds subperiod, period, or phase variables to ADSL. The values for the new variables are provided by a period reference dataset. (#1477)New function
derive_var_merged_summary()adds a variable of summarized values to the input dataset. (#1564)A
print()method was added for all S3 objects defined by admiral, e.g.,date_source(),dthcaus_source(), … (#858)New metadata data set called
atoxgr_criteria_ctcv5which holds criteria for lab grading based on Common Terminology Criteria for Adverse Events (CTCAE) v5.0.Removed R Version 3.6 check in CI/CD workflows in favor of the three most recent versions: 4.0, 4.1 and 4.2. (#1556)
The new function
derive_locf_records()adds LOCF records as new observations. This can be used when the input dataset does not contain observations for missed visits/time points or whenAVALisNAfor particular visits/time points. (#1316)New function
convert_na_to_blanks()to convert characterNAto blanks. (#1624)
Updates of Existing Functions
Function
derive_param_first_event()has been replaced by a more generalizedderive_param_extreme_event()function with new argumentmodeallowing for the selection of either the"first"or"last"event record according to the conditions provided. Also thedate_varargument has been replaced with theorderargument instead. In addition, three new argumentsnew_var,true_value, andfalse_valuehave been added to allow the user to choose what variable is used to indicate whether an event happened, and the values it is given. (#1317, #1242)Argument
ignore_time_for_ref_end_datewas added toderive_var_ontrtfl(), which controls if time is considered for the condition ifstart_dateis afterref_end_date+ref_end_windowdays. (#989)derive_var_atoxgr_dir()default value ofatoxgr_criteria_ctcv4removed for parametermeta_criteria. Can now also chooseatoxgr_criteria_ctcv5for parametermeta_criteria, to implement NCI-CTCAEv5 grading criteria.Environment objects were consolidated into a single
admiral_environmentobject underR/admiral__environment.R. (#1572)The default value of the
keep_source_varsargument increate_single_dose_dataset()was updated such that it takes the values of the other arguments into account and thestart_datetimeandend_datetimearguments are optional now. (#1598)Function
create_query_data()has been updated such that the dictionary version is stored in the output dataset. (#1337)
Breaking Changes
Function
derive_param_first_event()has been deprecated. Please usederive_param_extreme_event()with theorderargument instead of thedate_varargument. (#1317)Functions
smq_select()andsdg_select()have been deprecated and replaced withbasket_select(). In thecreate_query_data()function,meddra_versionandwhodd_versionargument has been replaced byversionandget_smq_funandget_sdg_funargument byget_terms_fun. (#1597)
Various
Function
derive_param_tte()had a bug that setADTtoNAwhenstart_datewas missing, which has now been fixed. (#1540)Function
derive_vars_merged()had an improperly formatted error message which has been corrected. (#1473)Templates now save datasets as
.rdsinstead of.rda. (#1501)Function
create_single_dose_dataset()no longer fails if the input dataset contains observations with dose frequency"ONCE". (#1375)
admiral 0.8.4
CRAN release: 2022-10-14
- Fixed a bug where a recent update to
{lifecylce}caused severaladmiraltests to break (#1500)
admiral 0.8.3
CRAN release: 2022-10-07
- Second attempt to address issue where CRAN identified a failing test when “a strict Latin-1* locale” is used (#1469)
- Fixed a bug in
derive_vars_duration()that surfaced after changes in R-devel (#1486)
admiral 0.8.2
CRAN release: 2022-09-29
- Fixed an issue where CRAN identified a failing test when “a strict Latin-1* locale” is used (#1469)
admiral 0.8.1
CRAN release: 2022-09-20
-
derive_var_extreme_dt()andderive_var_extreme_dtm()were updated such that source observations where the date isNAare excluded (#1419)
admiral 0.8.0
CRAN release: 2022-09-05
New Features
get_summary_records()creates summary records e.g. derive analysis value (AVAL) from multiple records, only keeping the derived observations (#525)derive_param_framingham()adds a Parameter for Framingham Heart Study Cardiovascular Disease 10-Year Risk Score (#977)compute_qual_imputation()imputes values when qualifier exists in character result (#976)derive_vars_merged_lookup()maps lookup tables (#940)filter_confirmation()filters out confirmed observations (#1292) including supporting functionscount_vals(),min_cond(), andmax_cond().derive_var_confirmation_flag()derives a flag which depends on other observations of the input dataset (#1293)derive_var_atoxgr()derives lab toxicity/severity gradeATOXGRfromATOXGRLandATOXGRH.ATOXGRLholds toxicity/severity grade for low lab values, andATOXGRHholds toxicity/severity grade for high lab values.derive_var_atoxgr_dir()derives lab toxicity/severity grade for low lab values (ATOXGRL) or for high lab values (ATOXGRH). The grading is created from metadata.New metadata data set called
atoxgr_criteria_ctcv4which holds criteria for lab grading based on Common Terminology Criteria for Adverse Events (CTCAE) v4.0
Updates of Existing Functions
list_tte_source_objects()gains apackageparameter and is now exported (#1212)list_all_templates()anduse_ad_template()gain apackageparameter which can be used to indicate in which package to look for templates (#1205)Randomization Date
RANDDTvariable added to ADSL template and vignette (#1126)Renamed
derive_derived_param()toderive_param_computed()and added a deprecation notice (#1229)derive_vars_duration()updated to not display units when there is missing duration (#1207)value_varparameter added toderive_vars_atc()(#1120)format_eoxxstt_default()- Updated the default value of EOSSTT for screen failure patients (#885)-
The imputation functions (
derive_vars_dtm(),derive_vars_dt(),convert_dtc_to_dtm(),convert_dtc_to_dt()) have been enhanced to address users feedback (#1300):Partial dates with missing components in the middle like
"2003-12-15T-:15:18","2003-12-15T13:-:19","2020-07--T00:00"are handled now.-
The control of the level of imputation has been refined by adding the
highest_imputationargument. For example,highest_imputation = "D"requests imputation for day and time but not for year and month.(For the
date_imputationand thetime_imputationargumentNULLis no longer a permitted value.) It is now possible to impute completely missing dates by specifying
highest_imputation = "Y"and themin_datesormax_datesargument.
orderparameter added todthcaus_source()which allows an additional character vector to be used for sorting thedataset,derive_vars_dthcaus()updated to process additional parameter (#1125).create_single_dose_dataset()Fixed bug whereASTDTMandAENDTMwere not updated whenstart_date = ASTDTandend_date = AENDT. The function has been amended to now requirestart_datetimeandend_datetimeparameters in addition tostart_dateandend_date.Thekeep_source_varshas been added to specify the variables to be retained from the source dataset (#1224)
Breaking Changes
Moved all developer-facing functions and vignettes to admiraldev. admiraldev is now a dependency of admiral (#1231)
All ADaM datasets but
admiral_adslhave been removed from the package (#1234)derive_var_agegr_ema()andderive_var_agegr_fda()have been deprecated (#1333)-
Imputation related arguments have been deprecated for all functions except the imputation functions themselves (#1299). I.e., if a derivation like last known alive date is based on dates, DTC variables have to be converted to numeric date or datetime variables in a preprocessing step. For examples see the ADSL vignette. The following arguments were deprecated:
-
date_imputation,time_imputation, andpreserveindate_source()
The following arguments no longer accept DTC variables:
-
dateindate_source(),dthcaus_source(),censor_source(), andevent_source() -
dose_dateandanalysis_dateinderive_vars_last_dose(),derive_var_last_dose_amt(),derive_var_last_dose_date(),derive_var_last_dose_grp()
The following functions were deprecated:
derive_vars_merged_dt()derive_vars_merged_dtm()
-
For the
date_imputationand thetime_imputationargument of the imputation functions (derive_vars_dtm(),derive_vars_dt(),convert_dtc_to_dtm(),convert_dtc_to_dt())NULLis no longer a permitted value. The level of imputation can be controlled by thehighest_imputationargument now.-
The following functions, which were deprecated in previous {admiral} versions, have been removed:
derive_var_disposition_dt()derive_var_lstalvdt()lstalvdt_source()derive_var_trtedtm()derive_var_trtsdtm()
-
The following functions and parameters, which were deprecated in previous {admiral} versions, are now defunct and will output an ERROR if used:
derive_var_ady()derive_var_aendy()derive_var_astdy()derive_var_atirel()-
filterparameter inderive_var_extreme_flag()andderive_var_worst_flag()
Documentation
New ADMH template script can be accessed using
admiral::use_ad_template("admh")(#502)New vignette “Higher Order Functions” (#1047)
New vignette “Lab Grading” (#1369)
Fixed
derive_var_disposition_status()argument to render correctly (#1268)Added link to pharmaverse YouTube channel to README
Various
Restructured Reference page and updated all functions to use
familytag in roxygen headers for finding similar functions. (#1105)Rename “Articles” page on website to “User Guides” and moved developer vignettes to admiraldev website (#1356)
admiral 0.7.1
CRAN release: 2022-07-18
derive_vars_last_dose()no longer fails when a variable renamed innew_varsis supplied to thedose_dateparameter (#1206)derive_vars_duration()updated to not display units when there is missing duration (#1207)-
derive_param_first_event()was updated (#1214) such that-
AVALis derived instead ofAVALNand - all variables from the source dataset are kept.
-
create_single_dose_dataset()Fixed bug where ASTDTM and AENDTM were not updated whenstart_date=ASTDTandend_date=AENDT. The function has been amended to now require start_datetime and end_datetime parameters in addition to start_date and end_date.The keep_source_vars has been added to specify the variables to be retained from the source dataset.slice_derivation()was updated such that it no longer fails if a slice is empty (#1309)
admiral 0.7.0
CRAN release: 2022-05-31
New Features
-
Updates to date/time imputation functions (#761):
convert_date_to_dtm()andconvert_dtc_to_dtm()now have time_imputation = “00:00:00” as defaultderive_vars_dt()now has flag_imputation = “auto” as default
-
New functions for merging variables (#607):
-
derive_vars_merged()- Merge Variables from a Dataset to the Input Dataset -
derive_vars_merged_dt()- Merge a (Imputed) Date Variable -
derive_vars_merged_dtm()- Merge a (Imputed) Datetime Variable -
derive_var_merged_cat()- Merge a Categorization Variable -
derive_var_merged_exist_flag()- Merge an Existence Flag -
derive_var_merged_character()- Merge a Character Variable
-
create_query_data()is provided to create the queries dataset required as input forderive_vars_query()(#606)create_single_dose_dataset()- Derives dataset of single dose from aggregate dose information (#660)-
New functions for deriving first or last dates from multiple source datasets (#753):
-
derive_var_extreme_dtm()- Derive First or Last Datetime from Multiple Sources -
derive_var_extreme_dt()- Derive First or Last Date from Multiple Sources
-
New function
derive_extreme_records()for adding the first or last observation within each by group to the dataset (#1042)New function
derive_param_first_event(): Add a new parameter for the first event occurring in a dataset. (#1063)New function
derive_param_exist_flag(): Add a new parameter indicating that a certain event exists in a dataset. (#1064)-
New high order functions (#701):
-
restrict_derivation()- Execute a derivation on a subset of the input dataset -
slice_derivation()- The input dataset is split into slices (subsets) and for each slice a derivation is called separately. Some or all arguments of the derivation may vary depending on the slice.
-
filter_relative()- Selects observations before or after the observation where a specified condition is fulfilled. For example, all observations up to first disease progression. (#1023)
ADLB
New ADLB template script available
ad_adlb.R, specific ADLB functions developed and BDS Finding vignette has examples enhanced with ADLB functions. (#1122)derive_var_shift()- Derives a character shift variable containing concatenated shift in values based on user-defined pairing (#944)derive_var_analysis_ratio()- Derives a ratio variable based on user-supplied variables from a BDS dataset, e.g. ADLB. (#943)derive_param_wbc_abs()- Adds a parameter for lab differentials converted to absolute values. (#941)
ADPP
- New ADPP template script available
ad_adpp.Rwhich creates Pharmacokinetics Parameters Analysis Dataset (#850)
Updates of Existing Functions
Datasets internal to the package have been renamed with prefix
admiral_, e.g.adslhas been renamed toadmiral_adsl. Corresponding SDTM datasets in{admiral.test}have also been renamed, e.g.dmtoadmiral_dm. These changes will impact examples, vignettes, unit tests and templates (#1108 and #1088)When
derive_vars_dtm_to_tm()was called for variables created byderive_vars_dtm()the function failed. This bug was fixed (#1097).impute_dtc()- Fixed imputation bug. A user settingdate_imputation = MIDandpreserve = FALSEwould expect the date2019---07to be imputed to2019-06-30, but the function was returning2019-06-15. Now returns it correctly. This bug fix also addresses the issue in the downstream functionsderive_vars_dt()andderive_vars_dtm(). (#1081)format_eoxxstt_default()- Updated to have a more meaningful parameter name i.e. the parameter that was x is now status (#911)
Breaking Changes
derive_var_lstalvdt()has been deprecated in favor ofderive_var_extreme_dt()(#753).derive_vars_disposition_reason()now is updated such that the default is populatingDCSREASPonly whenDSDECODis equal to'OTHER', which is consistent with ADaMIG_v1.3 (#886).derive_vars_suppqual()has been removed from {admiral} as adding supplementary qualifiers is now done in another package called {metatools} in a function calledcombine_supp()and is available on CRAN (#950)The
filterparameter inderive_var_extreme_flag()andderive_var_worst_flag()has been deprecated in favor ofrestrict_derivation()(#701).-
The following functions and parameters, which were deprecated in previous {admiral} versions, have been removed (#1056):
derive_agegr_ema()derive_agegr_fda()derive_disposition_dt()derive_disposition_status()derive_extreme_flag()derive_worst_flag()derive_obs_number()derive_disposition_reason()derive_var_basec()derive_baseline()derive_params_exposure()derive_last_dose()-
datasetparameter inlstalvdt_sourceanddthcaus_source
-
The following functions were deprecated in favor of
derive_vars_dy()(#1076):-
derive_var_ady()- Derive Analysis Study Day -
derive_var_aendy()- Derive Analysis End Relative Day -
derive_var_astdy()- Derive Analysis Start Relative Day
-
-
The following functions were deprecated in favor of
derive_vars_merged_dtm()(#1076):-
derive_var_trtedtm()- Derive Datetime of Last Exposure to Treatment -
derive_var_trtsdtm()- Derive Datetime of First Exposure to Treatment
-
The
derive_var_disposition_dt()function was deprecated in favor ofderive_vars_merged_dt()(#1076)The
derive_var_atirel()function was deprecated, as it is deemed as too specific for admiral. Derivations like this can be implemented callingmutate()andcase_when().
Documentation
Additional explanation added to
derive_param_*andderive_derived_paramfunctions regarding which variables are populated in the additional rows (#939)Updated
derive_var_worst_flag()andderive_var_extreme_flag()vignettes to clarify their purpose (#691)Added example of ASEQ derivation in ADCM to OCCDS vignette (#720)
Examples have been added for
format_reason_default(),format_eoxxstt_default(),extend_source_datasets()andfilter_date_sources()(#745)
Various
- Naming convention of admiral.xxx packages change to admiralxxx from this point onwards (#968)
admiral 0.6.2
Address CRAN comments raised after submitting v0.6.1 (#925)
admiral 0.6.1
Address CRAN comments raised after submitting v0.6.0 (#918)
admiral 0.6.0
New Features
-
derive_vars_dy()derives the analysis day from one or more--DT(M)variables (#700)
Updates of Existing Functions
The
derive_last_dose()function has been split into a general functionderive_vars_last_dose()and three wrapper functionsderive_var_last_dose_amt(),derive_var_last_dose_date(), andderive_var_last_dose_grp()(#385)derive_var_ontrtfl()now has anew_varparameter to support the derivation ofONTRxxFLandONTRTwFLvariables (#721)derive_vars_dtm(),derive_var_dispositionandderive_var_lstalvdtnow havepreserveargument. A user can preserve partial dates when doing date imputation, e.g.2019---07would become2019-06-07by settingpreservetoTRUEwhen doing date_imputation (#592)derive_vars_dtm()now hasignore_seconds_flagargument so users can suppress"S"flag if seconds are not recorded in the data (#589)
Breaking Changes
derive_agegr_ema(),derive_agegr_fda(),derive_disposition_dt(),derive_disposition_status(),derive_extreme_flag(),derive_worst_flag(),derive_obs_number(),derive_disposition_reason()have been deprecated and renamed in favor ofderive_var_agegr_ema(),derive_var_agegr_fda(),derive_var_disposition_dt(),derive_var_disposition_status(),derive_var_extreme_flag(),derive_var_worst_flag(),derive_var_last_dose(),derive_var_obs_number(), andderive_vars_disposition_reason()respectively (#738)derive_var_basec()andderive_baseline()have been deprecated in favor of the extendedderive_var_base()function (#695)derive_params_exposure()has been deprecated and renamed asderive_param_exposure()(#722)The
derive_last_dose()function has been deprecated in favor ofderive_var_last_dose_date()(#385)The behavior of all functions providing the
date_imputationparameter, e.g.,derive_vars_dtm()andderive_vars_dt(), has changed fordate_imputation = "mid". Before the date was imputed as June 15th if both month and day were missing. Now it is imputed as June 30th. For the old behavior please specifydate_imputation = "06-15". Please note the behavior has not changed if only the day is missing. In this case the day is imputed as15(#592)derive_var_ontrtfl()now has anew_varparameter to support the derivation ofONTRxxFLandONTRTwFLvariables (#721)-
The following functions and parameters, which were deprecated in previous {admiral} versions, were removed (#513):
-
derive_aage(),derive_duration(),derive_query_vars(), andderive_suppqual_vars()function -
fnsandfilter_rowsparameters inderive_summary_records() -
date_varandtraceabilty_varsparameters indthcaus_source() -
flag_filterparameter inderive_extreme_flag() -
flag_filterparameter inderive_var_extreme_flag() -
date_varparameter inlstalvdt_source() -
dateparameter inderive_var_ontrtfl()
-
derive_var_agegr_fda()has been updated to use ranges <18, 18-64, >=65 (#829)
Documentation
README and site homepage has been updated with important new section around expectations of {admiral}, as well as other useful references such as links to conference talks (#868 & #802)
New vignette Development Process and improvements made to contribution vignettes (#765 & #758)
Updated Pull Request Review Guidance on using
task-list-completedworkflow (#817)
admiral 0.5.0
The first truly open source release licensed under Apache 2.0 (#680)
New vignette Contributing to admiral (#679)
New vignette Unit Test Guidance (#679)
Broken links in README have been fixed (#564)
admiral 0.4.0
New Features
General
derive_vars_dtm_to_tm()enables the easy conversion of datetime to time variables (#551)derive_var_age_years()derives age in years from a variable providing the age in different units (#569)
BDS
derive_param_tte()derives time-to-event-parameters (#546)For common time-to-event endpoints event and censoring source objects are provided (#612)
Developer
assert_list_element()checks if an element of a list of lists/classes fulfills a conditionassert_one_to_one()checks if there is a one to one mapping between two lists of variablesnegate_vars()negates a list of variables to remove them from a dataset withselect()
Breaking Changes
All SDTM datasets have been moved to the {admiral.test} package (#639)
The
min_datesandmax_datesparameters ofderive_vars_dt()andderive_vars_dtm()no longer expect alist()butvars()as input (#405)
Bug Fixes
derive_vars_dtm()no longer shifts the time of the input--DTCvariable (#436)derive_vars_dtm()Change the min_dates with max_dates in thelapplystatement when computing max_dates (#687)
Documentation
New vignette Creating a BDS Time-to-Event ADaM (#549)
New vignette Queries Dataset Documentation (#561)
New vignette Writing Vignettes (#334)
New vignette Pull Request Review Guidance (#554)
A section on handling missing values when working with {admiral} has been added to the “Get Started” vignette (#577)
Package installation instructions have been added to the README (#558)
The documentation of
derive_vars_dtm()falsely stated that theflag_imputationparameter should be eitherTRUEorFALSE. It now correctly states that the possible values are"time","date"or"auto"(#539)
admiral 0.3.0
New Features
General
convert_blanks_to_na()can be used to convert SAS blanks, i.e."", into proper RNAvalues (#482)call_derivation()enables users to call the same function multiple times with some parameters being fixed across iterations and others varying (#403)derive_vars_dtm_to_dt()enables the easy conversion of datetime to date variables (#376)derive_var_ontrtfl()can now handle events with a start and end date rather than just a single assessment date (#395)derive_worst_flag()enables the flagging of worst records (#300)
BDS
derive_derived_param()can be used to derive a new parameter from existing parameters in a BDS dataset (#325)derive_param_bmi(),derive_param_bsa()andderive_param_map()enables the derivation of the body mass index, body surface area and mean arterial pressure parameters respectively (#368)derive_param_qtc()enables the derivation of corrected QT intervals according to the formula of Bazett, Fridericia or Sagie (#325)derive_param_rr()enables the derivation of the RR interval (#325)derive_params_exposure()enables the derivation of summary exposure parameters (#400)derive_param_doseint()enables the derivation of dose intensity (#179)
OCCDS
derive_var_atirel()enables the derivation of the “Analysis Time Relative to Reference” (#397)derive_vars_atc()can be used to add ATC variables from FACM to ADCM (#396)
Updates of Existing Functions
derive_var_anrind()now checks whether theAVALvariable is present in the input dataset (#486)All derivation functions check whether the input dataset is grouped and throw an error if it is (#408)
use_ad_template()has been refactored to no longer make use of the {usethis} package which is no longer a dependency of {admiral} (#433)A performance issue in
derive_vars_dt()has been resolved (#384)
Breaking Changes
The
drop_values_fromparameter has been removed fromderive_summary_records()(#425)The format of the
date_imputationparameter ofderive_vars_dt()andderive_vars_dtm()has been changed from “dd-mm” to “mm-dd”. Thus, “01-12” now refers to January 12th rather than December 1st (#492)-
Several functions have been renamed. The old names are now deprecated. They can still be used but a warning will be issued (#507)
-
derive_aage()->derive_vars_aage() -
derive_duration()->derive_vars_duration() -
derive_query_vars()->derive_vars_query() -
derive_suppqual_vars()->derive_vars_suppqual()
-
The
date_varparameter oflstalvdt_source()has been renamed todateThe
filter_rowsparameter ofderive_summary_records()has been renamed tofilter. Thefnsparameter has been deprecated in favor ofanalysis_varandsummary_fun(#491)The
date_varandtraceabilty_varsparameters ofdthcaus_source()have been renamed todateandtraceability_vars, respectively (#493)The
flag_filterparameter ofderive_extreme_flag()has been renamed tofilter(#487)
Bug Fixes
-
derive_agegr_fda()used to returnNAfor ages less than or equal 18. It now returns<=18(#441)
Documentation
New vignette on “Date and Time Imputation” has been created (#198)
A “Guidance for git Usage” has been created (#266)
“OCCDS” has been added as a new section on the reference page on the package website (#485)
The Programming Strategy has been updated (#495)
A search feature has been added to the package website (#438)
New template scripts for ADEX (#181), ADCM (#268) and ADEG (#258) have been created
New vignette for programming ADEX has been created (#372)
A section on how to create query variables (e.g. SMQs in ADAE) has been added to the Occurrence datasets vignette (#370)
The BDS vignette has been updated to incorporate examples of ADVS and ADEG specific functions (#371)
admiral 0.2.1
- Fixed a critical bug in
use_ad_template()that prevented the function from being usable at all (#326)
admiral 0.2.0
New Features
General
Function argument checks have been completely re-written to provide clearer error messages to users (#263, #288)
SDTM
SUPP--datasets can be merged onto their parent domain usingderive_suppqual_vars()(#145)In case a derivation detects duplicate records after applying a
filter, the dataset of duplicate records is made available to users viaget_duplicates_dataset()(#202)derive_vars_dt()andderive_vars_dtm()gain amin_datesandmax_datesparameter which can be used to ensure that the imputed date(time) is not before themin_datesnor after themax_dates, e.g. avoid thatAENDTis after the data cut date orASTDTis before the first treatment date (#158)use_ad_template()can be used to open a template script for an ADaM dataset; all available templates can be displayed usinglist_all_templates()(#110)
ADSL
EMA and FDA defined age groupings can be derived using
derive_agegr_ema()andderive_agegr_fda(), respectivelyDisposition Status can be derived using
derive_disposition_status()(#92)Disposition Reason can be derived using
derive_disposition_reason()Disposition Dates can be derived using
derive_disposition_dt()(#91)Date Last Known Alive can be derived using
derive_var_lstalvdt()(#94)Cause of Death can be derived using
derive_var_dthcaus()(#93)
BDS
- Summary records for BDS datasets, e.g. with
DTYPE == "AVERAGE", can be derived usingderive_summary_records()(#177)
Breaking Changes
derive_merged_vars()has been removed from {admiral} in favor of smaller special purpose functions, e.g.derive_disposition_status()(#167)-
Function arguments no longer accept expressions created with
expr()orexprs()as inputs; instead filter expressions can be passed “as is” and multiple variables have to be wrapped insidevars()(#187)Old:
derive_extreme_flag( vs, new_var = LASTFL, by_vars = exprs(USUBJID, VSTESTCD, VISIT), order = exprs(VSTPTNUM), mode = "last", flag_filter = expr(VISIT != "BASELINE") )New:
read_dap_m3()andinitialize()have been migrated to {admiral.roche} (#272)The
start_dateandend_dateparameters ofderive_var_ady(),derive_var_aendy()andderive_var_astdy()have been renamed toreference_dateanddate, respectively (#121)
Bug Fixes
derive_var_basetype()no longer drops records which do not match any condition defined in thebasetypeargument (#226)Join warnings like “Column
USUBJIDhas different attributes on LHS and RHS of join when using left_join()” are no longer displayed (#271)For datetimes with time imputed to “00:00:00” the time part is now displayed (#206)
