← Back to all sparks
S

sdtm.oak

ANALYTICS
Velocity0.0

An EDC and Data Standard agnostic SDTM data transformation engine that automates the transformation of raw clinical data in ODM format to SDTM based on standard mapping algorithms

Two releases in, the open-source SDTM toolkit now covers the domains it originally excluded.

clinical-trialssdtmpharmaverser-packageregulatory-submission
Current state
sdtm.oak builds SDTM datasets — the tabulation standard clinical trial submissions are filed in — from raw collected data. The 0.1.0 release shipped the mapping algorithm functions and derived-variable helpers but explicitly excluded DM, trial design domains, and several others. Version 0.2.0 closes the largest of those gaps, adding DM domain support via calc_min_max_date() and oak_calc_ref_dates(), plus generate_sdtm_supp() for supplemental qualifier domains.
Where it's heading
This is the pharmaverse pattern of building submission tooling in the open, one domain class at a time, with the release history running through GitHub release-candidate tags before each CRAN submission. The direction is clear from the domain checklist: start with the mechanically simple Findings and Events domains, then work toward the ones with cross-dataset dependencies. DM and SUPP were the two that most often forced teams back to bespoke code.
Prediction
The remaining exclusions from the 0.1.0 scope — trial design domains, SV, SE, RELREC and the EPOCH variable — are the obvious next targets, with EPOCH likely first since it depends on the reference dates 0.2.0 just added. Expect the same rhythm of release candidates ahead of each CRAN submission.

Recent moves

  1. 1y ago

    sdtm.oak v0.2.0 CRAN release

    ⚡ SPARK

    The release that takes the package from partial to broadly usable: DM and supplemental qualifier domains were the two headline exclusions from 0.1.0's scope, and both land here. It converts sdtm.oak from a tool that handles the easy domains into one that can carry a full mapping effort.

    View source ↗
  2. 1y ago

    sdtm.oak v0.1.1 CRAN release

    A patch release fixing failing tests, adjusting derive_blfl() for baseline timepoints, and correcting documentation typos. Housekeeping between the initial release and the domain expansion in 0.2.0.

    View source ↗
  3. 1y ago

    sdtm.oak v0.1.0 CRAN release

    The foundational CRAN release, establishing the mapping algorithm vocabulary — assign_ct(), hardcode_ct(), condition_add() and friends — alongside derived-variable helpers for baseline flags, sequence numbers and study day. It also states the scope honestly, listing DM and trial design domains as out of scope, which is the checklist 0.2.0 then works through.

    View source ↗
  4. 1y ago

    v0.1.0rc4: [skip vbump] 90 cran comments (#91)

    A release-candidate build addressing CRAN reviewer comments ahead of the 0.1.0 submission, including a dependency swap from memoise to tidyr. Build-stamp noise in the feed rather than a user-facing release.

    View source ↗
  5. 2y ago

    v0.1.0rc2: Fix CRAN Comments (#84)

    Another pre-submission release candidate fixing CRAN comments and a pipeline failure. No functional change for users.

    View source ↗
  6. 2y ago

    v0.1.0: [skip vbump] Bump version for cran release (#77)

    A version bump tag cut for the CRAN release, with no content of its own. The substance of this release is described in the 0.1.0 CRAN entry.

    View source ↗