Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
0fb292d
last version renv
cebarboza May 20, 2026
2255e67
Merge pull request #8 from mi-erasmusmc/last_version_renv
ariannaa7 May 20, 2026
f5be9b2
Merge branch 'main' into develop
cebarboza May 23, 2026
ee7e850
unzip and three tests
cebarboza May 23, 2026
068436e
unzipstudyfiles
cebarboza May 23, 2026
b9be709
Updating documentation and adding github rcmdcheck
cebarboza May 25, 2026
9a48d0f
Merge pull request #13 from mi-erasmusmc/10-unzipping-results-fun
cebarboza May 25, 2026
87e8971
r cmd check update
cebarboza May 25, 2026
4633590
rcmd check
cebarboza May 25, 2026
1aa511c
s character in rcmd action file
cebarboza May 25, 2026
2414368
create results dir with test
cebarboza May 25, 2026
e511324
Merge pull request #14 from mi-erasmusmc/3-tool-to-set-folders-to-sav…
cebarboza May 25, 2026
cde4652
arrangeCdmNames
cebarboza May 26, 2026
bccbdb1
Merge pull request #18 from mi-erasmusmc/17-create-function-to-retrie…
cebarboza May 26, 2026
76e4dbe
assertCdmNames
cebarboza May 28, 2026
3200b19
update test
cebarboza May 28, 2026
694f8d0
fixes to review
cebarboza May 29, 2026
ebf52bc
Potential fix for pull request finding
cebarboza May 29, 2026
3c8b965
Potential fix for pull request finding
cebarboza May 29, 2026
79bdb28
document
cebarboza May 29, 2026
2d446d6
parameter fix
cebarboza May 29, 2026
0eeadd9
Merge pull request #19 from mi-erasmusmc/17-create-function-to-retrie…
cebarboza May 29, 2026
ca12a91
zip fun, updating documentation from unzip fun, and fixing error in d…
cebarboza May 31, 2026
68c0930
normalization of paths in unzipstudyfiles
cebarboza May 31, 2026
7f004d1
adding normalization to createResultsDir and default for outputdir is…
cebarboza May 31, 2026
1e4e8ad
default null
cebarboza May 31, 2026
21fec4c
eliminated warning from normalized path when it was not finding the f…
cebarboza May 31, 2026
5afdf36
documents
cebarboza May 31, 2026
80d2605
declared variable to store pkg names
Jun 1, 2026
71410de
Removed informal test
Jun 1, 2026
438e952
Fixed 'pkg_vector' assignment typos and renamed from 'outDir' to 'out…
Jun 1, 2026
6bdaacb
Merge pull request #28 from mi-erasmusmc/23-getpkgzips-cannot-find-pkgs
cebarboza Jun 1, 2026
cb53095
Merge pull request #26 from mi-erasmusmc/25-tool-zipstudyfiles-to-exp…
cebarboza Jun 1, 2026
6ee0b1d
typo
cebarboza Jun 2, 2026
dcae350
Typo II
cebarboza Jun 3, 2026
643dadb
Searches project dir for renv.lock and creates an outDir in renv if o…
Jun 4, 2026
e30cd71
Merge branch 'develop' into 22-getpkgzips-should-try-to-pick-default-…
Jun 4, 2026
1d17a1a
Switched 'outputDir' back to 'outDir' to address merge mistake
Jun 4, 2026
67b66aa
Merge pull request #36 from mi-erasmusmc/22-getpkgzips-should-try-to-…
cebarboza Jun 4, 2026
b2474ae
zip dependency
cebarboza Jun 4, 2026
9819957
Updated examples to address truncation issue
Jun 4, 2026
2ca1f5b
Merge branch 'develop' into 29-when-running-devtoolscheck-we-got-the-…
Jun 4, 2026
6f59019
Switched from @import to @importFrom to avoid warning
Jun 4, 2026
fca190f
document
cebarboza Jun 4, 2026
2ae58fb
Merge pull request #39 from mi-erasmusmc/29-when-running-devtoolschec…
cebarboza Jun 4, 2026
c39819a
Merge branch 'develop' into 27-getpkgzips-warning-message
Jun 4, 2026
d5430a6
Merge pull request #40 from mi-erasmusmc/27-getpkgzips-warning-message
cebarboza Jun 4, 2026
094bce8
logger set
cebarboza Jun 4, 2026
5751955
create loggers
cebarboza Jun 4, 2026
de924da
test createLoggers
cebarboza Jun 4, 2026
006d6d1
createLoggers error and test
cebarboza Jun 4, 2026
572078a
devtools check, tests and examples ok
cebarboza Jun 5, 2026
3f18211
Merge pull request #41 from mi-erasmusmc/38-tool-createlogger-with-oh…
cebarboza Jun 5, 2026
083ec77
website
cebarboza Jun 7, 2026
3f172c3
Merge pull request #43 from mi-erasmusmc/16-create-gh-website
cebarboza Jun 7, 2026
37ab726
Added insertStructure() function and subfunctions
laacri Jun 8, 2026
a2f0be0
Added expectations for insertStructure() and a sample testPackage to …
laacri Jun 8, 2026
544dc95
Added path parameter to insertDocs()
laacri Jun 9, 2026
584fd96
updated tests and small modifications
laacri Jun 10, 2026
f1cf6ae
Merge branch 'develop' into 21-function-to-create-extra-files-for-stu…
cebarboza Jul 1, 2026
503648f
Added insertStructure() function and subfunctions
laacri Jun 8, 2026
0034a93
test passing deleting extra files
cebarboza Jul 1, 2026
f455256
tests passing
cebarboza Jul 1, 2026
41fd4c4
declaring project explicitely inside installPackageBungle
cebarboza Jul 1, 2026
0a82f71
adding use this to temp project
cebarboza Jul 1, 2026
cbe5e73
adding fonts libraries to linux for github actions
cebarboza Jul 1, 2026
011a9db
makevars for linux github actions fix
cebarboza Jul 2, 2026
3f8ef47
cli makevars correction
cebarboza Jul 2, 2026
f891b30
textshaping github actions fix
cebarboza Jul 2, 2026
4163946
adding more headers for ragg
cebarboza Jul 3, 2026
543e84d
Merge pull request #47 from mi-erasmusmc/21-function-to-create-extra-…
cebarboza Jul 3, 2026
a74284e
readme
cebarboza Jul 15, 2026
f276b4d
studygenerics
cebarboza Jul 15, 2026
ce658bd
update readme
cebarboza Jul 15, 2026
97cfebf
update readme
cebarboza Jul 15, 2026
9da3461
updates grammar revision
cebarboza Jul 15, 2026
62e5c5c
readme update titles
cebarboza Jul 15, 2026
764110f
Merge pull request #48 from mi-erasmusmc/srs_content
cebarboza Jul 15, 2026
d95ba32
description initial dev
cebarboza Jul 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,10 @@
^\.Rproj\.user$
^\.positai$
^\.claude$
^LICENSE\.md$
^README\.Rmd$
^\.github$
^_pkgdown\.yml$
^docs$
^pkgdown$
^README.html$
1 change: 1 addition & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.html
75 changes: 75 additions & 0 deletions .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# 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, develop]
pull_request:

name: R-CMD-check.yaml

permissions: read-all

jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}

name: ${{ matrix.config.os }} (${{ matrix.config.r }})

strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'release'}

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes

steps:
- uses: actions/checkout@v6

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

- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}

- name: Install Linux system libraries
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
libcairo2-dev \
libfribidi-dev \
libfontconfig1-dev \
libfreetype6-dev \
libharfbuzz-dev \
libjpeg-dev \
libpng-dev \
libtiff5-dev \
libwebp-dev \
pkg-config

- name: Configure Linux Makevars for gdtools
if: runner.os == 'Linux'
run: |
mkdir -p ~/.R
cat <<EOF >> ~/.R/Makevars
CPPFLAGS=$(pkg-config --cflags cairo freetype2 fontconfig)
LDFLAGS=$(pkg-config --libs-only-L cairo freetype2 fontconfig)
LDLIBS=$(pkg-config --libs-only-l cairo freetype2 fontconfig)
EOF

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check

- uses: r-lib/actions/check-r-package@v2
with:
upload-snapshots: true
error-on: '"error"'
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'
47 changes: 47 additions & 0 deletions .github/workflows/pkgdown.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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, develop]
pull_request:
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
steps:
- uses: actions/checkout@v6

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

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

- 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: Deploy to GitHub pages 🚀
if: github.event_name != 'pull_request'
uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0
with:
clean: false
branch: gh-pages
folder: docs
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
.Ruserdata
.positai
.DS_Store
docs
README.html
37 changes: 28 additions & 9 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,24 +1,43 @@
Package: StudyToolBelt
Package: studyGenerics
Type: Package
Title: What the Package Does (Title Case)
Version: 0.1.0
Title: A centralised repository of tested and frequently used methods for OMOP-CDM studies
Version: 0.0.0.9000
Authors@R: c(
person(
"Jane", "Doe",
email = "jane@example.com",
"Cesar", "Barboza",
email = "c.barboza@mi-erasmusmc.nl",
role = c("aut", "cre")
),
person(
"Cristiana", "Di Tullio",
email = "a.alamshahi@mi-erasmusmc.nl",
role = c("aut")
),
person(
"Arianna", "Alamshahi",
email = "a.alamshahi@mi-erasmusmc.nl",
role = c("aut")
)
)
Description: More about what it does (maybe more than one line).
Continuation lines should be indented.
License: What license is it under?
Description: This set of generic functions wraps routine and basic functions required to run an OMOP-CDM study.
But besides testing this recurrent methods, studyGenerics aims to centralise colaboration to speed-up development of this type of projects.
License: Apache License (>= 2)
Encoding: UTF-8
LazyData: true
Imports:
cli,
httr,
renv
renv,
ParallelLogger,
checkmate,
glue,
stringr,
zip,
here,
fs,
usethis
Config/roxygen2/version: 8.0.0
Suggests:
testthat (>= 3.0.0)
Config/testthat/edition: 3
URL: https://mi-erasmusmc.github.io/studyGenerics/
194 changes: 194 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
Apache License
==============

_Version 2.0, January 2004_
_&lt;<http://www.apache.org/licenses/>&gt;_

### Terms and Conditions for use, reproduction, and distribution

#### 1. Definitions

“License” shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.

“Licensor” shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.

“Legal Entity” shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, “control” means **(i)** the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the
outstanding shares, or **(iii)** beneficial ownership of such entity.

“You” (or “Your”) shall mean an individual or Legal Entity exercising
permissions granted by this License.

“Source” form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.

“Object” form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.

“Work” shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).

“Derivative Works” shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.

“Contribution” shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
“submitted” means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as “Not a Contribution.”

“Contributor” shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.

#### 2. Grant of Copyright License

Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.

#### 3. Grant of Patent License

Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.

#### 4. Redistribution

You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:

* **(a)** You must give any other recipients of the Work or Derivative Works a copy of
this License; and
* **(b)** You must cause any modified files to carry prominent notices stating that You
changed the files; and
* **(c)** You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.

You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.

#### 5. Submission of Contributions

Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.

#### 6. Trademarks

This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.

#### 7. Disclaimer of Warranty

Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.

#### 8. Limitation of Liability

In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.

#### 9. Accepting Warranty or Additional Liability

While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.

_END OF TERMS AND CONDITIONS_

### APPENDIX: How to apply the Apache License to your work

To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets `[]` replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same “printed page” as the copyright notice for easier identification within
third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading
Loading