Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRAN release documentation update #82

Merged
merged 16 commits into from
Jul 31, 2024
48 changes: 37 additions & 11 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,59 @@
# sdtm.oak 0.1

The V0.1 release of {sdtm.oak} users can create the majority of the SDTM domains. Domains that are *NOT* in scope for the V0.1 release are DM, Trial Design Domains, SV, SE, RELREC, Associated Person domains, and EPOCH Variable across all domains.

- Functions for commonly used SDTM mapping Algorithms
- assign_no_ct\
- assign_ct\
- hardcode_no_ct\
- hardcode_ct\
- assign_datetime\
- condition_add\
- Functions for SDTM derived variables\
- Derive Baseline Flag or Last Observation Before Exposure Flag\
- Derive the sequence number (--SEQ) variable\
- Derive study day\
- ISO8601 date, datetime conversion.\
- Functions to support {sdtm.oak}
- derive oak id variables
- Create conditioned dataframes to support if then else conditions in SDTM mappings
- Import study controlled terminology
- Articles
- Algorithms
- Creating an Events SDTM domain
- Creating a Findings SDTM domain
- Conditioned Data Frames
- Converting dates, times or date-times to ISO 8601
- Path to Automation

# sdtm.oak 0.0.0.9005 (development version)
galachad marked this conversation as resolved.
Show resolved Hide resolved

* New function for creating conditioned data frames: `condition_add()`.
* New pipe operator: `%.>%` for explicit dot placeholder placement.
* `oak_id_vars()` is now an exported function.
- New function for creating conditioned data frames: `condition_add()`.
- New pipe operator: `%.>%` for explicit dot placeholder placement.
- `oak_id_vars()` is now an exported function.

# sdtm.oak 0.0.0.9004 (development version)

* New function: `derive_seq()` for deriving a sequence number variable.
- New function: `derive_seq()` for deriving a sequence number variable.

# sdtm.oak 0.0.0.9003 (development version)

## New Features

* New function: `assign_datetime()` for deriving an ISO8601 date-time variable.
- New function: `assign_datetime()` for deriving an ISO8601 date-time variable.

# sdtm.oak 0.0.0.9002 (development version)

## New Features

* New function: `derive_study_day()` for study day calculation.
- New function: `derive_study_day()` for study day calculation.

* New functions for basic SDTM derivations: ` assign_no_ct()`, `assign_ct()`,
`hardcode_no_ct()` and `hardcode_ct()`.
- New functions for basic SDTM derivations: `assign_no_ct()`, `assign_ct()`, `hardcode_no_ct()` and `hardcode_ct()`.

* New functions for handling controlled terminologies: `read_ct_spec()`,
`read_ct_spec_example()`, `ct_spec_example()` and `ct_map()`.
- New functions for handling controlled terminologies: `read_ct_spec()`, `read_ct_spec_example()`, `ct_spec_example()` and `ct_map()`.

# sdtm.oak 0.0.0.9001 (development version)

## New Features

* New function `create_iso8601()` for conversion of vectors of dates, times or date-times to ISO8601 format.
- New function `create_iso8601()` for conversion of vectors of dates, times or date-times to ISO8601 format.
53 changes: 53 additions & 0 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,62 @@ can automate SDTM creation based on the standard SDTM spec.

## Installation

The package is available from CRAN and can be installed with:

```r
install.packages("sdtm.oak")
```

You can install the development version of `{sdtm.oak}` from [GitHub](https://github.com/pharmaverse/sdtm.oak/) with:

``` r
# install.packages("remotes")
remotes::install_github("pharmaverse/sdtm.oak")
```

## Challenges with SDTM at the Industry Level

* Raw Data Structure: Data from different EDC systems come in varying structures, with different variable names, dataset names, etc.

* Varying Data Collection Standards: Despite the availability of CDASH, pharmaceutical companies still create different eCRFs using CDASH standards.

Due to the differences in raw data structures and data collection standards, it may seem impossible to develop a common approach for programming SDTM datasets.

## GOAL
`{sdtm.oak}` aims to address this issue by providing an EDC-agnostic, standards-agnostic solution. It is an open-source R package that offers a framework for the modular programming of SDTM in R. With future releases; it will also strive to automate the creation of SDTM datasets based on the metadata-driven approach using standard SDTM specifications.

## Scope
Our goal is to use `{sdtm.oak}` to program most of the domains specified in SDTMIG (Study Data Tabulation Model Implementation Guide: Human Clinical Trials) and SDTMIG-AP (Study Data Tabulation Model Implementation Guide: Associated Persons). This R package is based on the core concept of `algorithms`, implemented as functions capable of carrying out the SDTM mappings for any domains listed in the CDISC SDTMIG and across different versions of SDTM IGs. The design of these functions allows users to specify a raw dataset and a variable name(s) as parameters, making it EDC (Electronic Data Capture) agnostic. As long as the raw dataset and variable name(s) exist, `{sdtm.oak}` will execute the SDTM mapping using the selected function. It's important to note that `{sdtm.oak}` may not handle sponsor-specific details related to managing metadata for LAB tests, unit conversions, and coding information, as many companies have unique business processes. With subsequent releases, strive to automate SDTM creation using a metadata-driven approach based on a standard SDTM specification format.

## Road Map

This Release: The V0.1 release of `{sdtm.oak}` users can create the majority of the SDTM domains. Domains that are NOT in scope for the V0.1 release are DM, Trial Design Domains, SV, SE, RELREC, Associated Person domains, and EPOCH Variable across all domains.

Subsequent Releases:
We are planning to develop the below features in the subsequent releases.\
- Functions required to derive reference date variables in the DM domain.\
- Metadata driven automation based on the standardized SDTM specification.\
- Functions required to program the EPOCH Variable.\
- Functions to derive standard units and results based on metadata.

## References and Documentation

* Please go to [Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html) article to learn about Algorithms.
* Please go to [Create Events Domain](https://pharmaverse.github.io/sdtm.oak/articles/events_domain.html) to learn about step by step process to create an Events domain.
* Please go to [Create Findings Domain](https://pharmaverse.github.io/sdtm.oak/articles/findings_domain.html) to learn about step by step process to create an Events domain.

## Feedback

We ask users to follow the mentioned approach and try `{sdtm.oak}` to map any SDTM domains supported in this release. Users can also utilize the test data in the package to become familiar with the concepts before attempting on their own data. Please get in touch with us using one of the recommended approaches listed below:

- [Slack](https://oakgarden.slack.com/)
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)

## Acknowledgments

We thank the contributors and authors of the package. We also thank the CDISC COSA for sponsoring the `{sdtm.oak}`. Additionally, we would like to sincerely thank the volunteers from Roche, Pfizer, GSK, Vertex, and Merck for their valuable input as integral members of the CDISC COSA - OAK leadership team.





94 changes: 94 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,104 @@ standard SDTM spec.

## Installation

The package is available from CRAN and can be installed with:

``` r
install.packages("sdtm.oak")
```

You can install the development version of `{sdtm.oak}` from
[GitHub](https://github.com/pharmaverse/sdtm.oak/) with:

``` r
# install.packages("remotes")
remotes::install_github("pharmaverse/sdtm.oak")
```

## Challenges with SDTM at the Industry Level

- Raw Data Structure: Data from different EDC systems come in varying
structures, with different variable names, dataset names, etc.

- Varying Data Collection Standards: Despite the availability of CDASH,
pharmaceutical companies still create different eCRFs using CDASH
standards.

Due to the differences in raw data structures and data collection
standards, it may seem impossible to develop a common approach for
programming SDTM datasets.

## GOAL

`{sdtm.oak}` aims to address this issue by providing an EDC-agnostic,
standards-agnostic solution. It is an open-source R package that offers
a framework for the modular programming of SDTM in R. With future
releases; it will also strive to automate the creation of SDTM datasets
based on the metadata-driven approach using standard SDTM
specifications.

## Scope

Our goal is to use `{sdtm.oak}` to program most of the domains specified
in SDTMIG (Study Data Tabulation Model Implementation Guide: Human
Clinical Trials) and SDTMIG-AP (Study Data Tabulation Model
Implementation Guide: Associated Persons). This R package is based on
the core concept of `algorithms`, implemented as functions capable of
carrying out the SDTM mappings for any domains listed in the CDISC
SDTMIG and across different versions of SDTM IGs. The design of these
functions allows users to specify a raw dataset and a variable name(s)
as parameters, making it EDC (Electronic Data Capture) agnostic. As long
as the raw dataset and variable name(s) exist, `{sdtm.oak}` will execute
the SDTM mapping using the selected function. It’s important to note
that `{sdtm.oak}` may not handle sponsor-specific details related to
managing metadata for LAB tests, unit conversions, and coding
information, as many companies have unique business processes. With
subsequent releases, strive to automate SDTM creation using a
metadata-driven approach based on a standard SDTM specification format.

## Road Map

This Release: The V0.1 release of `{sdtm.oak}` users can create the
majority of the SDTM domains. Domains that are NOT in scope for the V0.1
release are DM, Trial Design Domains, SV, SE, RELREC, Associated Person
domains, and EPOCH Variable across all domains.

Subsequent Releases: We are planning to develop the below features in
the subsequent releases.
- Functions required to derive reference date variables in the DM
domain.
- Metadata driven automation based on the standardized SDTM
specification.
- Functions required to program the EPOCH Variable.
- Functions to derive standard units and results based on metadata.

## References and Documentation

- Please go to
[Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html)
article to learn about Algorithms.
- Please go to [Create Events
Domain](https://pharmaverse.github.io/sdtm.oak/articles/events_domain.html)
to learn about step by step process to create an Events domain.
- Please go to [Create Findings
Domain](https://pharmaverse.github.io/sdtm.oak/articles/findings_domain.html)
to learn about step by step process to create an Events domain.

## Feedback

We ask users to follow the mentioned approach and try `{sdtm.oak}` to
map any SDTM domains supported in this release. Users can also utilize
the test data in the package to become familiar with the concepts before
attempting on their own data. Please get in touch with us using one of
the recommended approaches listed below:

- [Slack](https://oakgarden.slack.com/)
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)

## Acknowledgments

We thank the contributors and authors of the package. We also thank the
CDISC COSA for sponsoring the `{sdtm.oak}`. Additionally, we would like
to sincerely thank the volunteers from Roche, Pfizer, GSK, Vertex, and
Merck for their valuable input as integral members of the CDISC COSA -
OAK leadership team.
6 changes: 6 additions & 0 deletions _pkgdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,9 @@ reference:
- title: Package global state
contents:
- clear_cache

authors:
Ramiro Magno:
href: https://www.pattern.institute/team/rmagno/
Pattern Institute:
href: https://www.pattern.institute
galachad marked this conversation as resolved.
Show resolved Hide resolved
galachad marked this conversation as resolved.
Show resolved Hide resolved
7 changes: 7 additions & 0 deletions inst/WORDLIST
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,10 @@ RFXSTDTC
TPT
xxTPT
APSC
CDASH
COSA
IGs
RELREC
SDTMIG
SV
GSK
Loading
Loading