Skip to content

Commit

Permalink
Release v1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
anthonysena authored Oct 8, 2024
2 parents 33dd01b + 9d4c074 commit f01bd49
Show file tree
Hide file tree
Showing 229 changed files with 15,525 additions and 19,330 deletions.
4 changes: 4 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,7 @@ compare_versions
.github
docs
.idea
^_pkgdown\.yml$
^docs$
^pkgdown$
^\.github$
1 change: 1 addition & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.html
14 changes: 3 additions & 11 deletions .github/workflows/R_CMD_check_Hades.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
fail-fast: false
matrix:
config:
- {os: windows-latest, r: '4.2.3', rtools: '42', rspm: "https://cloud.r-project.org"}
#- {os: macOS-latest, r: '4.2.3', rtools: '42', rspm: "https://cloud.r-project.org"}
- {os: ubuntu-20.04, r: '4.2.3', rtools: '42', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
- {os: windows-latest, r: 'release', rtools: '', rspm: "https://cloud.r-project.org"}
- {os: macOS-latest, r: 'release', rtools: '', rspm: "https://cloud.r-project.org"}
- {os: ubuntu-20.04, r: 'release', rtools: '', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
Expand Down Expand Up @@ -61,7 +58,6 @@ jobs:
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
rtools-version: ${{ matrix.config.rtools }}

- uses: r-lib/actions/setup-tinytex@v2

Expand All @@ -70,11 +66,7 @@ jobs:
- name: Install system requirements
if: runner.os == 'Linux'
run: |
sudo apt-get install -y make
sudo apt-get install -y default-jdk
sudo apt-get install -y libcurl4-openssl-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y libglpk-dev
sudo apt-get install -y libssh-dev
while read -r cmd
do
eval sudo $cmd
Expand All @@ -93,7 +85,7 @@ jobs:

- name: Upload source package
if: success() && runner.os == 'Windows' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: package_tarball
path: check/*.tar.gz
Expand Down Expand Up @@ -164,7 +156,7 @@ jobs:
#
# - name: Download package tarball
# if: ${{ env.new_version != '' }}
# uses: actions/download-artifact@v2
# uses: actions/download-artifact@v4
# with:
# name: package_tarball
#
Expand Down
104 changes: 104 additions & 0 deletions .github/workflows/pkgdown.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
release:
types: [published]
workflow_dispatch:

name: pkgdown.yaml

permissions: read-all

jobs:
pkgdown:
runs-on: ubuntu-latest
# Only restrict concurrency for non-PR jobs
concurrency:
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
services:
postgres:
image: postgres:latest
env:
POSTGRES_DB: strategus
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
ports:
- 5432:5432
options: --name postgres --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Pandoc
uses: r-lib/actions/setup-pandoc@v2

- name: Setup R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true

- name: Setup R Dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::pkgdown, local::.
needs: website

- name: Build site
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}

- name: Wait for PostgreSQL to be ready
run: |
until pg_isready -h 127.0.0.1 -p 5432 -U myuser; do
echo "Waiting for postgres...";
sleep 3;
done
- name: Run SQL Script
run: |
PGPASSWORD=password psql -h 127.0.0.1 -U user -d strategus -f extras/rdms/full_data_model_pg.sql
- name: Configure SchemaSpy environment
run: |
sudo apt-get update
sudo apt-get install default-jdk -y
sudo apt-get install postgresql-client -y
- name: Download PostgreSQL JDBC Driver
run: |
wget https://jdbc.postgresql.org/download/postgresql-42.2.24.jar -O $HOME/postgresql-jdbc.jar
- name: Execute SchemaSpy
run: |
java -jar extras/rdms/schemaspy-6.2.4.jar -vizjs -dp $HOME -configFile extras/rdms/schemaspy-config.properties -meta extras/rdms/schema_meta.xml -debug -desc "Results data model" -noTablePaging -noimplied
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: documentation-artifact
path: public

- name: download documentation
uses: actions/download-artifact@v4
with:
name: documentation-artifact
path: docs/results-schema

- name: Deploy to GitHub pages 🚀
if: github.event_name != 'pull_request'
uses: JamesIves/[email protected]
with:
clean: false
branch: gh-pages
folder: docs
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,7 @@ src/*.dll
/Debug
standalone/build/*
_targets
docs

extras/rdms/public
extras/rdms/*.class
70 changes: 42 additions & 28 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,55 +1,69 @@
Package: Strategus
Type: Package
Title: Coordinating and Executing Analytics Using HADES Modules
Version: 0.3.0
Date: 2023-06-04
Title: Coordinate and Execute OHDSI HADES Modules
Version: 1.0.0
Date: 2024-10-08
Authors@R: c(
person("Martijn", "Schuemie", email = "[email protected]", role = c("aut")),
person("Anthony", "Sena", email = "[email protected]", role = c("aut", "cre")),
person("Martijn", "Schuemie", email = "[email protected]", role = c("aut")),
person("Jamie", "Gilbert", role = c("aut")),
person("Observational Health Data Science and Informatics", role = c("cph"))
)
Maintainer: Anthony Sena <[email protected]>
Description: An R package for coordinating and executing analytics using HADES modules.
License: Apache License 2.0
URL: https://ohdsi.github.io/Strategus, https://github.com/OHDSI/Strategus
BugReports: https://github.com/OHDSI/Strategus/issues
Description: Coordinate and execute large scale analytics using OHDSI Health
Analytics Data-to-Evidence Suite (HADES) (<https://ohdsi.github.io/Hades/>)
modules.
Depends:
R (>= 4.2.0),
CohortGenerator (>= 0.8.0),
DatabaseConnector (>= 6.2.3)
CohortGenerator (>= 0.11.0),
DatabaseConnector (>= 6.2.3),
R6
Imports:
targets,
renv (>= 1.0.0),
ParallelLogger (>= 3.1.0),
dplyr,
checkmate,
keyring,
rlang,
utils,
R.utils,
cli,
digest,
dplyr,
methods,
tibble,
ResultModelManager (>= 0.3.0),
SqlRender (>= 1.11.0),
semver,
httr2,
jsonlite
ParallelLogger (>= 3.1.0),
purrr,
readr,
ResultModelManager (>= 0.5.8),
rlang,
SqlRender (>= 1.18.0)
Suggests:
testthat (>= 3.0.0),
Characterization,
CirceR,
CohortDiagnostics,
CohortIncidence,
CohortMethod,
Cyclops,
Eunomia,
EvidenceSynthesis,
FeatureExtraction,
fs,
knitr,
PatientLevelPrediction,
rmarkdown,
Eunomia,
RSQLite,
SelfControlledCaseSeries,
testthat (>= 3.0.0),
withr
Remotes:
ohdsi/Characterization,
ohdsi/CohortDiagnostics,
ohdsi/CohortGenerator,
ohdsi/CohortIncidence,
ohdsi/CohortMethod,
ohdsi/PatientLevelPrediction,
ohdsi/ResultModelManager,
ohdsi/Eunomia
ohdsi/SelfControlledCaseSeries
License: Apache License 2.0
VignetteBuilder: knitr
URL: https://ohdsi.github.io/Strategus, https://github.com/OHDSI/Strategus
BugReports: https://github.com/OHDSI/Strategus/issues
NeedsCompilation: no
RoxygenNote: 7.3.1
RoxygenNote: 7.3.2
Roxygen: list(markdown = TRUE)
Encoding: UTF-8
Language: en-US
Config/testthat/edition: 3
33 changes: 22 additions & 11 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,25 +1,36 @@
# Generated by roxygen2: do not edit by hand

export(CharacterizationModule)
export(CohortDiagnosticsModule)
export(CohortGeneratorModule)
export(CohortIncidenceModule)
export(CohortMethodModule)
export(EvidenceSynthesisModule)
export(PatientLevelPredictionModule)
export(SelfControlledCaseSeriesModule)
export(StrategusModule)
export(addCharacterizationModuleSpecifications)
export(addCohortDiagnosticsModuleSpecifications)
export(addCohortGeneratorModuleSpecifications)
export(addCohortIncidenceModuleSpecifications)
export(addCohortMethodeModuleSpecifications)
export(addEvidenceSynthesisModuleSpecifications)
export(addModuleSpecifications)
export(addPatientLevelPredictionModuleSpecifications)
export(addSelfControlledCaseSeriesModuleSpecifications)
export(addSharedResources)
export(compareLockFiles)
export(createCdmExecutionSettings)
export(createEmptyAnalysisSpecificiations)
export(createResultDataModels)
export(createResultDataModel)
export(createResultsDataModelSettings)
export(createResultsExecutionSettings)
export(ensureAllModulesInstantiated)
export(execute)
export(getModuleList)
export(installLatestModule)
export(retrieveConnectionDetails)
export(storeConnectionDetails)
export(syncLockFile)
export(unlockKeyring)
export(validateLockFile)
export(verifyModuleInstallation)
export(getCdmDatabaseMetaData)
export(uploadResults)
export(zipResults)
import(CohortGenerator)
import(DatabaseConnector)
import(R6)
import(dplyr)
importFrom(methods,is)
importFrom(rlang,.data)
23 changes: 21 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
Strategus 1.0.0
===============

- Eliminated the dependencies for `keyring`, `renv` and `targets` (#135)
- Centralized all modules into the Strategus package (#29, #45, #51, #140)
- Strategus execution provides a summary of the execution time (#4) and continues after an error (#64, #141)
- Modules provide functions for creating their results data model (#43) and to upload results.
- Allow modules to obtain the full set of OMOP CDM metadata collected (#20, #154)
- Adds the `cdm_holder` attribute to the database_id hash calculation (#48)
- Moves the `incremental` setting to the execution settings vs. the module settings (#155)
- Adds threading options via execution settings (#151)
- Select subset of modules to execute from analysis specification (#169)
- Ensure release of Strategus has Python dependencies (#22) and OHDSI Shiny App dependencies (#78). See [StrategusStudyRepoTemplate](https://github.com/ohdsi-studies/StrategusStudyRepoTemplate) for more details.
- Document the results data model for HADES modules (#143)

## Bug Fixes
- Make negative control outcome shared resource optional (#153)
- Export results data model specification file for PatientLevelPrediction (#165)

Strategus 0.3.0
===============
- Provide option to skip modules (#87)
Expand Down Expand Up @@ -27,7 +46,7 @@ Strategus 0.1.0
- Robust handling of connection details via keyring (#74)
- Ensures uniqueness of all CDM tables when gathering database metadata (#82)
- `tempEmulationSchema` added to execution settings and passed properly to modules (#82)
- Adding logging to module initalization to detect `renv` restore errors (#82)
- Adding logging to module initialization to detect `renv` restore errors (#82)
- Adopt HADES-wide lock file in latest versions of all modules (#83)
- Use renv >= v1.0.0 for all modules and Strategus (#83)
- Add GitHub unit tests for HADES adopted version (currently v4.2.3) and the latest R versions for all modules and Strategus. (#83)
Expand Down Expand Up @@ -60,7 +79,7 @@ Strategus 0.0.3
- Breaking change: removed function `createExecutionSettings()` and replaced with 2 new functions: `createCdmExecutionSettings()` and `createResultsExecutionSettings()`. (#19)
- Added Vignettes (#23)
- Provide better support for `keyring` to handle named/locked keyrings (#24)
- Add function to list Strategus modules (#30)
- Add function to list HADES modules (#30)
- Fixes from testing (#36)
- Enforce module structure for proper use with renv (#37)
- Support CDM 5.4 source table format (#41)
Expand Down
Loading

0 comments on commit f01bd49

Please sign in to comment.