Skip to content

Commit be8214b

Browse files
authored
112 v020 cran release prep (#119)
* News and readme update * pkgdown site update * rcmd check failure * Update Readme * Update News * Update release notes * Update README.Rmd to be insync with md
1 parent 0e8fcd3 commit be8214b

File tree

5 files changed

+210
-132
lines changed

5 files changed

+210
-132
lines changed

NEWS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# sdtm.oak V0.2.0
2+
3+
- DM Domain: New functions `calc_min_max_date()` and `oak_calc_ref_dates()` to support DM domain programming.
4+
- Supplementary Qualifier SUPP Domains - New function`generate_sdtm_supp()` to facilitate the programming of supplemental qualifier domains.
5+
- Bug Fixes:
6+
- Resolved an issue in mapping algorithms to prevent overwriting results.
7+
- Fixed the `problems()` function to ensure blank values are excluded from warning messages when converting dates to ISO8601 format.
8+
- Corrected controlled terminology functions to alert users when a value cannot be mapped according to the controlled terms in `assign_ct()` and `hardcode_ct()` functions.
9+
10+
With this release, users can now efficiently create the DM domain as well as various SDTM domains across Findings, Events, Findings About, Supplemental qualifiers and Intervention classes, significantly broadening the range of supported domains.
11+
112
# sdtm.oak V0.1.1
213

314
Fixed the bug that was causing test cases to fail. Updated `derive_blfl()`

README.Rmd

Lines changed: 79 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ knitr::opts_chunk$set(
1919
[![CRAN status](https://www.r-pkg.org/badges/version/sdtm.oak)](https://CRAN.R-project.org/package=sdtm.oak)
2020
<!-- badges: end -->
2121

22-
An EDC and Data Standard agnostic solution that enables the pharmaceutical
23-
programming community to develop SDTM datasets in R. The reusable algorithms
24-
concept in `{sdtm.oak}` provides a framework for modular programming and also
25-
can automate SDTM creation based on the standard SDTM spec.
22+
An EDC (Electronic Data Capture systems) and Data Standard agnostic
23+
solution that enables the pharmaceutical programming community to
24+
develop CDISC (Clinical Data Interchange Standards Consortium) SDTM
25+
(Study Data Tabulation Model) datasets in R. The reusable algorithms
26+
concept in 'sdtm.oak' provides a framework for modular programming. We
27+
plan to develop a code generation feature based on a standardized SDTM
28+
specification format, which has the potential to automate the creation
29+
of SDTM datasets.
2630

2731
## Installation
2832

@@ -41,44 +45,93 @@ remotes::install_github("pharmaverse/sdtm.oak")
4145

4246
## Challenges with SDTM at the Industry Level
4347

44-
* Raw Data Structure: Data from different EDC systems come in varying structures, with different variable names, dataset names, etc.
48+
- Raw Data Structure: Data from different EDC systems come in varying
49+
structures, with different variable names, dataset names, etc.
4550

46-
* Varying Data Collection Standards: Despite the availability of CDASH, pharmaceutical companies still create different eCRFs using CDASH standards.
51+
- Varying Data Collection Standards: Despite the availability of CDASH
52+
(Clinical Data Acquisition Standards Harmonization), pharmaceutical
53+
companies still create different eCRFs using CDASH standards.
4754

48-
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.
55+
Due to the differences in raw data structures and data collection
56+
standards, it may seem impossible to develop a common approach for
57+
programming SDTM datasets.
4958

5059
## GOAL
51-
`{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.
60+
'sdtm.oak' aims to address this issue by providing an EDC-agnostic,
61+
standards-agnostic solution. It is an open-source R package that offers
62+
a framework for the modular programming of SDTM in R. With future
63+
releases; we plan to develop a code generation feature based on a
64+
standardized SDTM specification format, which has the potential to
65+
automate the creation of SDTM datasets.
5266

5367
## Scope
54-
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.
68+
Our goal is to use 'sdtm.oak' to program most of the domains specified
69+
in SDTMIG (Study Data Tabulation Model Implementation Guide: Human
70+
Clinical Trials) and SDTMIG-AP (Study Data Tabulation Model
71+
Implementation Guide: Associated Persons). This R package is based on
72+
the core concept of `algorithms`, implemented as functions capable of
73+
carrying out the SDTM mappings for any domains listed in the CDISC
74+
SDTMIG and across different versions of SDTM IGs. The design of these
75+
functions allows users to specify a raw dataset and a variable name(s)
76+
as parameters, making it EDC (Electronic Data Capture) agnostic. As long
77+
as the raw dataset and variable name(s) exist, 'sdtm.oak' will execute
78+
the SDTM mapping using the selected function. It’s important to note
79+
that 'sdtm.oak' may not handle sponsor-specific details related to
80+
managing metadata for LAB tests, unit conversions, and coding
81+
information, as many companies have unique business processes.
82+
83+
## This Release
84+
85+
With the V0.2.0 release of 'sdtm.oak' users can now efficiently
86+
create the DM domain and various SDTM domains, encompassing Findings,
87+
Events, Findings About, and Intervention classes. However, the V0.2.0 release does NOT cover Trial Design Domains, SV (Subject Visits), SE (Subject Elements), RELREC (Related Records), Associated Person domains, or the EPOCH Variable across all domains.
5588

5689
## Road Map
5790

58-
This Release: The V0.1.0 release of `{sdtm.oak}` users can create the majority of the SDTM domains. Domains that are NOT in scope for the V0.1.0 release are DM, Trial Design Domains, SV, SE, RELREC, Associated Person domains, and EPOCH Variable across all domains.
59-
60-
Subsequent Releases:
61-
We are planning to develop the below features in the subsequent releases.\
62-
- Functions required to derive reference date variables in the DM domain.\
63-
- Metadata driven automation based on the standardized SDTM specification.\
64-
- Functions required to program the EPOCH Variable.\
65-
- Functions to derive standard units and results based on metadata.
91+
Subsequent Releases: We are planning to develop the below features in
92+
the subsequent releases.\
93+
- Metadata driven code generation based on the standardized SDTM
94+
specification.\
95+
- Functions required to program the Domains SV (Subject Visits), SE (Subject Elements) and the EPOCH Variable.\
96+
- Functions to derive standard units and results based on metadata.
97+
- Additional features to be developed based on the user feedback.
6698

6799
## References and Documentation
68100

69-
* Please go to [Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html) article to learn about Algorithms.
70-
* Please go to [Create Interventions Domain](https://pharmaverse.github.io/sdtm.oak/articles/interventions_domain.html) to learn about step by step process to create an Events domain.
71-
* 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 a Findings domain.
72-
* Please go to [Path to Automation](https://pharmaverse.github.io/sdtm.oak/articles/study_sdtm_spec.html)
73-
to learn about how the foundational release sets up the stage for automation.
101+
- Please go to
102+
[Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html)
103+
article to learn about Algorithms.
104+
- Please go to [Create Events
105+
Domain](https://pharmaverse.github.io/sdtm.oak/articles/interventions_domain.html)
106+
to learn about step by step process to create an Events domain.
107+
- Please go to [Create Findings
108+
Domain](https://pharmaverse.github.io/sdtm.oak/articles/findings_domain.html)
109+
to learn about step by step process to create a Findings domain.
110+
- Please go to [Path to
111+
Automation](https://pharmaverse.github.io/sdtm.oak/articles/study_sdtm_spec.html)
112+
to learn about how the foundational release sets up the stage for
113+
automation.
114+
- Please watch this YouTube video to learn about using the package
115+
[YouTube
116+
Video](https://www.youtube.com/watch?v=H0FdhG9_ttU&list=PLMtxz1fUYA5C67SvhSCINluOV2EmyjKql&index=3&ab_channel=RinPharma%5D)
117+
- RinPharma Virtual workshop
118+
[slides](https://pharmaverse.github.io/rinpharma-2024-SDTM-workshop/)
74119

75120
## Feedback
76121

77-
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:
122+
We ask users to follow the mentioned approach and try 'sdtm.oak' to map
123+
any SDTM domains supported in this release. Users can also utilize the
124+
test data in the package to become familiar with the concepts before
125+
attempting on their own data. Please get in touch with us using one of
126+
the recommended approaches listed below:
78127

79-
- [Slack](https://oakgarden.slack.com/)
80-
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)
128+
- [Slack](https://oakgarden.slack.com/)
129+
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)
81130

82131
## Acknowledgments
83132

84-
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.
133+
We thank the contributors and authors of the package. We also thank the
134+
CDISC COSA for sponsoring the 'sdtm.oak'. Additionally, we would like to
135+
sincerely thank the volunteers from Roche, Pfizer, GSK, Vertex, and
136+
Merck for their valuable input as integral members of the CDISC COSA -
137+
OAK leadership team.

README.md

Lines changed: 61 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
1+
---
2+
editor_options:
3+
markdown:
4+
wrap: 72
5+
---
16

27
<!-- README.md is generated from README.Rmd. Please edit that file -->
38

4-
# sdtm.oak <a href="https://pharmaverse.github.io/sdtm.oak/"><img src="man/figures/logo.svg" align="right" height="139" /></a>
9+
# sdtm.oak <a href="https://pharmaverse.github.io/sdtm.oak/"><img src="man/figures/logo.svg" align="right" height="139"/></a>
510

611
<!-- badges: start -->
712

813
[![CRAN
914
status](https://www.r-pkg.org/badges/version/sdtm.oak)](https://CRAN.R-project.org/package=sdtm.oak)
15+
1016
<!-- badges: end -->
1117

12-
An EDC (Electronic Data Capture systems) and Data Standard agnostic solution that enables the pharmaceutical programming community to develop CDISC (Clinical Data Interchange Standards Consortium) SDTM (Study Data Tabulation Model) datasets in R. The reusable algorithms concept in 'sdtm.oak' provides a framework for modular programming and also can automate SDTM creation based on the standard SDTM spec.
18+
An EDC (Electronic Data Capture systems) and Data Standard agnostic
19+
solution that enables the pharmaceutical programming community to
20+
develop CDISC (Clinical Data Interchange Standards Consortium) SDTM
21+
(Study Data Tabulation Model) datasets in R. The reusable algorithms
22+
concept in 'sdtm.oak' provides a framework for modular programming. We
23+
plan to develop a code generation feature based on a standardized SDTM
24+
specification format, which has the potential to automate the creation
25+
of SDTM datasets.
1326

1427
## Installation
1528

@@ -29,10 +42,12 @@ remotes::install_github("pharmaverse/sdtm.oak")
2942

3043
## Challenges with SDTM at the Industry Level
3144

32-
- Raw Data Structure: Data from different EDC systems come in varying
33-
structures, with different variable names, dataset names, etc.
45+
- Raw Data Structure: Data from different EDC systems come in varying
46+
structures, with different variable names, dataset names, etc.
3447

35-
- Varying Data Collection Standards: Despite the availability of CDASH (Clinical Data Acquisition Standards Harmonization), pharmaceutical companies still create different eCRFs using CDASH standards.
48+
- Varying Data Collection Standards: Despite the availability of CDASH
49+
(Clinical Data Acquisition Standards Harmonization), pharmaceutical
50+
companies still create different eCRFs using CDASH standards.
3651

3752
Due to the differences in raw data structures and data collection
3853
standards, it may seem impossible to develop a common approach for
@@ -43,9 +58,9 @@ programming SDTM datasets.
4358
'sdtm.oak' aims to address this issue by providing an EDC-agnostic,
4459
standards-agnostic solution. It is an open-source R package that offers
4560
a framework for the modular programming of SDTM in R. With future
46-
releases; it will also strive to automate the creation of SDTM datasets
47-
based on the metadata-driven approach using standard SDTM
48-
specifications.
61+
releases; we plan to develop a code generation feature based on a
62+
standardized SDTM specification format, which has the potential to
63+
automate the creation of SDTM datasets.
4964

5065
## Scope
5166

@@ -62,57 +77,60 @@ as the raw dataset and variable name(s) exist, 'sdtm.oak' will execute
6277
the SDTM mapping using the selected function. It’s important to note
6378
that 'sdtm.oak' may not handle sponsor-specific details related to
6479
managing metadata for LAB tests, unit conversions, and coding
65-
information, as many companies have unique business processes. With
66-
subsequent releases, strive to automate SDTM creation using a
67-
metadata-driven approach based on a standard SDTM specification format.
80+
information, as many companies have unique business processes.
6881

69-
## Road Map
82+
## This Release
7083

71-
This Release: The V0.1.0 release of 'sdtm.oak' users can create the
72-
majority of the SDTM domains. Domains that are NOT in scope for the
73-
V0.1.0 release are DM (Demographics), Trial Design Domains, SV (Subject Visits), SE (Subject Elements), RELREC (Related Records), Associated
74-
Person domains, and EPOCH Variable across all domains.
84+
With the V0.2.0 release of 'sdtm.oak' users can now efficiently
85+
create the DM domain and various SDTM domains, encompassing Findings,
86+
Events, Findings About, and Intervention classes. However, the V0.2.0 release does NOT cover Trial Design Domains, SV (Subject Visits), SE (Subject Elements), RELREC (Related Records), Associated Person domains, or the EPOCH Variable across all domains.
87+
88+
## Road Map
7589

7690
Subsequent Releases: We are planning to develop the below features in
77-
the subsequent releases.
78-
- Functions required to derive reference date variables in the DM
79-
domain.
80-
- Metadata driven automation based on the standardized SDTM
81-
specification.
82-
- Functions required to program the EPOCH Variable.
83-
- Functions to derive standard units and results based on metadata.
91+
the subsequent releases.\
92+
- Metadata driven code generation based on the standardized SDTM
93+
specification.\
94+
- Functions required to program the Domains SV (Subject Visits), SE (Subject Elements) and the EPOCH Variable.\
95+
- Functions to derive standard units and results based on metadata.
96+
- Additional features to be developed based on the user feedback.
8497

8598
## References and Documentation
8699

87-
- Please go to
88-
[Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html)
89-
article to learn about Algorithms.
90-
- Please go to [Create Events
91-
Domain](https://pharmaverse.github.io/sdtm.oak/articles/interventions_domain.html)
92-
to learn about step by step process to create an Events domain.
93-
- Please go to [Create Findings
94-
Domain](https://pharmaverse.github.io/sdtm.oak/articles/findings_domain.html)
95-
to learn about step by step process to create a Findings domain.
96-
- Please go to [Path to
97-
Automation](https://pharmaverse.github.io/sdtm.oak/articles/study_sdtm_spec.html)
98-
to learn about how the foundational release sets up the stage for
99-
automation.
100+
- Please go to
101+
[Algorithms](https://pharmaverse.github.io/sdtm.oak/articles/algorithms.html)
102+
article to learn about Algorithms.
103+
- Please go to [Create Events
104+
Domain](https://pharmaverse.github.io/sdtm.oak/articles/interventions_domain.html)
105+
to learn about step by step process to create an Events domain.
106+
- Please go to [Create Findings
107+
Domain](https://pharmaverse.github.io/sdtm.oak/articles/findings_domain.html)
108+
to learn about step by step process to create a Findings domain.
109+
- Please go to [Path to
110+
Automation](https://pharmaverse.github.io/sdtm.oak/articles/study_sdtm_spec.html)
111+
to learn about how the foundational release sets up the stage for
112+
automation.
113+
- Please watch this YouTube video to learn about using the package
114+
[YouTube
115+
Video](https://www.youtube.com/watch?v=H0FdhG9_ttU&list=PLMtxz1fUYA5C67SvhSCINluOV2EmyjKql&index=3&ab_channel=RinPharma%5D)
116+
- RinPharma Virtual workshop
117+
[slides](https://pharmaverse.github.io/rinpharma-2024-SDTM-workshop/)
100118

101119
## Feedback
102120

103-
We ask users to follow the mentioned approach and try 'sdtm.oak' to
104-
map any SDTM domains supported in this release. Users can also utilize
105-
the test data in the package to become familiar with the concepts before
121+
We ask users to follow the mentioned approach and try 'sdtm.oak' to map
122+
any SDTM domains supported in this release. Users can also utilize the
123+
test data in the package to become familiar with the concepts before
106124
attempting on their own data. Please get in touch with us using one of
107125
the recommended approaches listed below:
108126

109-
- [Slack](https://oakgarden.slack.com/)
110-
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)
127+
- [Slack](https://oakgarden.slack.com/)
128+
- [GitHub](https://github.com/pharmaverse/sdtm.oak/issues)
111129

112130
## Acknowledgments
113131

114132
We thank the contributors and authors of the package. We also thank the
115-
CDISC COSA for sponsoring the 'sdtm.oak'. Additionally, we would like
116-
to sincerely thank the volunteers from Roche, Pfizer, GSK, Vertex, and
133+
CDISC COSA for sponsoring the 'sdtm.oak'. Additionally, we would like to
134+
sincerely thank the volunteers from Roche, Pfizer, GSK, Vertex, and
117135
Merck for their valuable input as integral members of the CDISC COSA -
118136
OAK leadership team.

_pkgdown.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ reference:
5252
- title: Calculation of reference dates in DM
5353
contents:
5454
- oak_cal_ref_dates
55+
- cal_min_max_date
5556

5657
- title: Explicit dot pipe operator
5758
desc: A simple alternative to `%>% {...}`
@@ -62,10 +63,6 @@ reference:
6263
contents:
6364
- generate_sdtm_supp
6465

65-
- title: Calculation of minimum/maximum ISO8601 dates
66-
contents:
67-
- cal_min_max_date
68-
6966
authors:
7067
Ramiro Magno:
7168
href: https://www.pattern.institute/team/rmagno/

0 commit comments

Comments
 (0)