OHDSI Home | Forums | Wiki | Github

HADES development announcements

I’d like to use this thread to make short announcements on new and upcoming releases of HADES packages.

6 Likes

ParallelLogger 2.0.1 has been released to CRAN. Probably the most important change is the removal of the XML package dependency. XML was the only HADES dependency requiring R version 4. With this dependency gone, people can still use older R versions for a little while. However, there are nice features in R 4 that I would like to use, so we will be requiring R 4 in the near future.

4 Likes

Andromeda 0.4.0 has been released. Most important is a bugfix when using a tilde in file paths. Additionally, this version introduces functions for creating indices to improve performance.

1 Like

Cyclops 3.1.0 has been released to CRAN, with two important updates: First, some bugfixes for likelihood profiling, which we’ll use for combining effect size estimates across the OHDSI network (especially important when there are low or zero counts). Second, adding support for competing risk analyses, which will be integrated into CohortMethod.

1 Like

EvidenceSynthesis 0.1.0 has been released. This introduces a new approach to combining evidence on effect sizes across the OHDSI network, without sharing patient-level data (by sharing non-normal approximations of the per-site likelihood functions).

3 Likes

Eunomia 1.0.1 has been released. The only real change is that Eunomia is now in CRAN, which will allow us to move other HADES packages into CRAN, which in the end should make installing the HADES packages a lot easier.

EvidenceSynthesis 0.2.0 has been released. Most important change is that the package is now available in CRAN.

EvidenceSynthesis 0.2.1 has been released. This release primarily addresses an issue in the CRAN testing infrastructure.

Hydra 0.1.1 has been released. This just contains a single patch fixing a problem when hydrating packages while specifying a new package name. It is recommended to use Hydra to generate study packages based on the JSON specifications created in ATLAS. (The Hydra version in ATLAS is not up-to-date, so packages generated by ATLAS itself will not use the latest and greatest of HADES).

2 Likes

CohortMethod 4.0.1 has been released. This contains several bugfixes, including better handling of exposure cohorts that become empty somewhere during the analysis. Also by default likelihood profiles are generated which are needed for EvidenceSynthesis.

1 Like

EvidenceSynthesis 0.2.3 has been released. No relevant changes (just more work to prevent unit tests from failing on the CRAN testing infrastructure).

2 Likes

One week from now, new versions of DatabaseConnector (v4.0.0) and SqlRender (v1.7.0) will be released. Especially the DatabaseConnector release will have major impact for users. Here are the most important changes:

  1. In the past, the JDBC drivers for Oracle, PostgreSQL, SQL Server, PDW, and RedShift were automatically included (through DatabaseConnectorJars). However, the newer versions of these drivers require more space and are no longer allowed on CRAN. Users will therefore need to download these drivers, and for this purpose a new downloadJdbcDrivers() function has been introduced that will download the driver for you. You will however need to specify the location on your local drive where these drivers are stored. Most convenient is to set this path using the DATABASECONNECTOR_JAR_FOLDER environmental variable. All will be explained in the new vignette.

  2. For those using SQL Server or PDW with integrated security, note that the new JDBC driver does not work with the old authentication DLL. You will need to download the new authentication DLL.

  3. The oracleTempSchema argument found in many SqlRender and DatabaseConnector functions will be deprecated. Instead, there’s a new tempEmulationSchema argument, which can be set via the R sqlRenderTempEmulationSchema option. So in the future, those that needed to provide the oracleTempSchema argument in almost every function call can simply declare options(sqlRenderTempEmulationSchema = "<your temp schema>") once and be done with it. This should also avoid many bugs in study packages where we forgot to foward the oracleTempSchema argument to lower-level function calls.

  4. For security reasons, the connectionDetails object no longer stores the user’s credentials, but instead the function call that gets these credentials. This should not really impact anyone, unless someone used something like user <- connectorDetails$user in their code, which is not a terribly good idea anyway. We highly recommend the keyring package for keeping your credentials out of your code.

Some changes that should not impact users directly:

  1. Downloading BIGINT fields from a database now can be converted to type integer64 in the bit64 package. Unfortunately, since this is not a native R type, there are major downsides to using integer64 in your code, with many opportunities for silent errors (e.g. this one). To avoid having to spend the coming years debugging integer64-related issues, by default the integer64 types are immediately converted to R’s numeric type (double). One advantage that we do get is that DatabaseConnector now throws an error when this conversion leads to a loss of precision. We’ll be updating our methods packages to avoid downloading BIGINTS that may lead to loss of precision as much as possible.

  2. Bulk upload for PostgreSQL is now supported, which should prove useful as more of our Shiny apps start using a Postgres backend.

In addition, there are many bugfixes unrelated to these changes.

All other HADES packages should work with these new versions. For those that want to try them out, you can install them from the respective develop branches:

install.packages("remotes")
remotes::install_github("ohdsi/SqlRender", ref = "develop")
remotes::install_github("ohdsi/DatabaseConnector", ref = "develop")
1 Like

Anything specific that BigQuery users need to know about? How are the Simba JDBC drivers handled based on what you wrote about the other JDBC drivers.

Currently BQ users already need to download the JDBC drivers manually, and that will still work.

We are in fact exploring whether we can also provide the BQ drivers via the new downloadJdbcDrivers() function to make life easier for BQ users. (In the past this was impossible because of the size of those drivers, which would never be allowed in CRAN).

SqlRender 1.7.0 has been released. As mentioned above, this introduces the new tempEmulationSchema that will eventually replace oracleTempSchema. It also contains some bugfixes and additional translation rules.

DatabaseConnector 4.0.0 has been released. As mentioned above, probably the most important change is the need to download the JDBC drivers manually for Oracle, PostgreSQL, SQL Server, PDW, and RedShift. See the vignette for instructions.

2 Likes

If we are making changes to connectionDetails it would be nice to possibly include few other frequently used parameters, namely

  • cdmDatabaseSchema
  • resultsDatabaseSchema
  • vocabularyDatabaseSchema
  • (maybe not that one) but also often needed :work folder

Please try and keep this forum thread for development announcements only. For package-specific questions, please use the respective issue trackers.

EmpiricalCalibration v2.1.0 has been released. This introduces the Expected Absolute Systematic Error (EASE) metric for summarizing the systematic error in a study design. This metric is already being used in several (not yet published) papers.

1 Like

MethodEvaluation v2.1.0 has been released. Most important change is the addition of a new reference set (‘ohdsiDevelopment’) with only one target, one comparator, and multiple real negative and synthetic positive control outcomes. This set is based on the LEGEND Hypertension study. It should be used for evaluating methods that are being developed, since you shouldn’t develop against the full OHDSI Methods Benchmark, as that would be training on your test data.

1 Like
t