Releases: OHDSI/WebAPI
WebAPI v2.14.0
New Features
Read Restricted Permissions (#2300):
A feature introduced by @rkboyce and team allows assets to be filtered by read-permission on the server, hiding assets where users do not have permissions to them. Complete details (and known issues) are described in the new wiki article: Read restricted Configuration.
Externalize SOLR dependencies
In order to reduce the build size and insulate the build from vulnerabilities from 3rd party software, SOLR has become an optional dependency which must be imported via a maven profile. See the Building the WebAPI.war file using Maven, and the section on appending the new webapi-solr
profile to your builds if you are using SOLR.
What's Changed
- TagRepository findXXXTagInfo() produces invalid SQL, should return minimal columns #2241 by @anton-abushkevich in #2242
- Refactored imports to depend on com.google.guava:guava by @ecruz165 in #2219
- Bump up several libraries by @ecruz165 in #2202
- Bump up maven tooling versions by @ecruz165 in #2200
- Hypersistence Optimizer Issues: Blocker: PooledSequenceOptimizerEvent by @ecruz165 in #2218
- Translated postgresql migration scripts to SQL Server up to v2.10 by @dsfrederic in #2238
- Webapi docker profile and TLS by @alondhe in #2235
- Added MAVEN_PARMS arg to Dockerfile by @alondhe in #2229
- Fix SQL in procedure drilldown report by @gebilaoman in #2224
- Set job status to failed when exception is thrown in listener. by @chrisknoll in #2217
- set default value for source.is_cache_enabled column to
false
by @chgl in #2133 - Fix cdmresults drill-down reports by @TomWhite-MedStar in #2257
- Enable PC and DPC for source and non-standard concepts by @TomWhite-MedStar in #2258
- Fix heracles 200 for spark by @TomWhite-MedStar in #2267
- Fix issue #2256 by @TomWhite-MedStar in #2269
- OpenID Connect custom parameters by @RowanErasmus in #2254
- limits for big query were changed to 10000 by @ssuvorov-fls in #2273
- Wildcard is not used now by default. User has to set it explicitly if needed by @ssuvorov-fls in #2277
- added permissions for downloading concepts by @ssuvorov-fls in #2279
- Added params to savePaths for spark dialect. by @chrisknoll in #2276
- raised versions of big query driver and libraries by @ssuvorov-fls in #2272
- Fixed PLE editor text for i18n. by @chrisknoll in #2290
- Enable OIDC authentication with a direct client by @RowanErasmus in #2289
- Bump circe to v1.11.0. by @chrisknoll in #2302
- Filter cohorts and concepts by permission (#2245) by @chrisknoll in #2301
- Update Dependencies and address defaultGlobalReadOnly param by @chrisknoll in #2305
- Dependabot Updates by @chrisknoll in #2309
- Fix: Sql syntax error on Update getConceptRecordCount.sql by @ww166 in #2311
- Finalizing externalizing Vocabulary Search Apache Solr implementation by @alex-odysseus in #2308
- Updated SqlRender v1.16.1 by @konstjar in #2313
New Contributors
- @ecruz165 made their first contribution in #2219
- @dsfrederic made their first contribution in #2238
- @gebilaoman made their first contribution in #2224
- @RowanErasmus made their first contribution in #2254
- @ww166 made their first contribution in #2311
Full Changelog: v2.13.0...v2.14.0
WebAPI v2.13.0
Notice
In the upcoming major release the dependency to Apache Solr (relates to the Concepts search functionality) will be defined in a separate Maven profile (in the pom.xml file) which might be a breaking change for your existing build process (any further configuration updates will be provided in the future release notes)
New Features
- library updates SqlRender 1.13.1
- preparations for Apache Solr dependency externalization
- ACHILLES and cron-based cache warming flags are set to 'false' by default ('cdm.cache.achilles.warming.enable', 'cdm.cache.cron.warming.enable' in pom.xml file)
- Concept Set comparison enhanced with a possibility to compare Concepts with a list of Concepts in a CSV file of specific structure
Refer to https://github.com/OHDSI/Atlas/releases/tag/v2.13.0 for ATLAS features
What's Changed
- Add cast to concept_id search. #2114 - test fix by @anton-abushkevich in #2140
- java.lang.reflect.UndeclaredThrowableException when download PLP #2132 by @anton-abushkevich in #2135
- Use temp tables for security migration scripts. by @chrisknoll in #2144
- Cannot delete a datasource if the source on the connection string does not exists #2152 by @anton-abushkevich in #2156
- Moderator cannot delete reusable despite reusable:*:delete permission #2158 by @anton-abushkevich in #2159
- Use LEN() instead of LENGTH(). by @chrisknoll in #2160
- user role mappings are removed when user is removed from group in AD/LDAP by @ssuvorov-fls in #2148
- Add tagging management through UI - Atlas#2773 by @anton-abushkevich in #2145
- Venn diagram by @TitrS in #2179
- Restrict T to first cohort episode per person. by @chrisknoll in #2180
- Bump Hydra version - fixes #2162 by @anthonysena in #2174
- achilles ddl endpoint was changed to unprotected by @ssuvorov-fls in #2184
- Fix issue #2112 - Heracles reports do not insert final results when using Spark by @TomWhite-MedStar in #2138
- hydra version was changed to 0.4.0 by @ssuvorov-fls in #2186
- fixed security test for ddl/achilles endpoint by @ssuvorov-fls in #2190
- hydra version was changed to 0.4.0 by @ssuvorov-fls in #2189
- Possible memory leak in auditTrail #2192 - exclude WebAPI/info calls by @anton-abushkevich in #2193
- Dependencies update 2.13.0 by @alex-odysseus in #2188
- Add csv for comparison conceptsets by @anton-abushkevich in #2176
- Adding flag to disable Achilles cache - fixes #2034 by @anthonysena in #2172
- solr functionalty was moved to sparate location by @ssuvorov-fls in #2196
- added check if the solr is enabled by @ssuvorov-fls in #2212
- Switch isNumeric() to anayisID test when casting. by @chrisknoll in #2209
- fix jdbc issue for spark by @ssuvorov-fls in #2207
- Referring to the latest SqlRender 1.13.1 (Netezza fixes) by @alex-odysseus in #2233
New Contributors
- @TitrS made their first contribution in #2179
- @TomWhite-MedStar made their first contribution in #2138
Full Changelog: v2.12.0...v2.13.0
WebAPI v2.12.1
Fixes
PLP and PLE analyses execution on ARACHNE Execution Engine are supported now (a new release of https://github.com/odysseusinc/DockerEnv is available soon)
- PLP package generated by WebAPI v2.12.0 fails on renv #2162
- Executing an Incidence Rate Analysis and Cohort Pathway on an IBM Netezza Data Source fails while creating a temp table #2124 #2123
- Heracles reports do not insert final results when using Spark #2112
- /ddl/achilles endpoint is closed by authentication #2183
- java.lang.reflect.UndeclaredThrowableException when download PLP #2132
- Cannot delete a datasource if the source on the connection string does not exists #2152
- Moderator cannot delete reusable despite reusable:*:delete permission #2158
Updating version for Hydra (0.4.0), Circe (1.10.1), Apache Shiro (1.10.1), Apache Tomcat Embedded (8.5.85)
WebAPI v2.12.0
New Features
- Phoebe 2.0: Concept Recommendations by @chrisknoll. Install instructions can be found here.
- Improve user tagging usability OHDSI/Atlas#2722 by @anton-abushkevich @ssuvorov-fls in #2067
- Added visit detail entity by @ssuvorov-fls @anton-abushkevich in #2076
- Support storage of more description fields #2058 by @anton-abushkevich @ssuvorov-fls in #2070
- Add valid_start_date and valid_end_date to concept endpoint #2057 by @anton-abushkevich in #2068
- Added isCacheEnabled to Source by @chrisknoll in #2077
- Added OpenTelemetry Java Agent for auto-instrumentation by @chgl in #2082
- configurable scopes for OpenID Connect (OIDC) authentication by @m0nhawk in #2083
- Snowflake dialect support by @ssuvorov-fls in #2096
- Azure Synapse Analytics Dedicated dialect support by @ssuvorov-fls in #2097
- Bump Hydra to v0.3.0 by @anthonysena in #2084
Implementation Notes
Phoebe 2.0
Phoebe 2.0 requires a new table concept_recommended
to be created in your OMOP CDM schema. Instructions on creating this table and populating it with the suggested concept recommendations are found in this post: https://forums.ohdsi.org/t/phoebe-2-0/17410
Assigning/unassigning Tags to/from Multiple Assets
Tagging is enabled with the help of <tag.enabled>true</tag.enabled> in the server configuration (WebAPI) and by an entry
config.enableTaggingSection = true; in config-local.js in the client configuration (ATLAS)
Visit Detail as a new Criteria Item
To use this feature your OMOP CDM Data Source should have the optional visit_detail table populated. For more information, please refer to
http://ohdsi.github.io/CommonDataModel/cdm54.html#VISIT_DETAIL
New Dialects Support - Snowflake and Azure Synapse Analytics Dedicated
The following OHDSI repositories have been extended to support the dialects:
OMOP CDM - OMOP CDM DDL scripts can be found there
DatabaseConnector - an R package to connect to a database
DatabaseConnectorJars - an R package which provides external JAR dependencies for the DatabaseConnector package
SqlRender - an R package to translate OHDSI SQL to the corresponding dialect
Achilles - an R package which provides descriptive statistics for an OMOP CDM database
[ARACHNE Commons] (https://github.com/OHDSI/ArachneCommons/tree/1.17.x) (https://github.com/OHDSI/ArachneCommons/tree/master) - a common component used by ATLAS/WebAPI and ARACHNE to share common code
[ARACHNE Execution Engine] (https://github.com/OHDSI/ArachneExecutionEngine) - an application used to execute SQL and R code provided by ATLAS/WebAPI (Patient Level Prediction (PLP), Population Level Effect Estimation (PLE) analyses or [ARACHNE Data Node] (https://github.com/OHDSI/ArachneNodeAPI)
Bug Fixes
- Refresh user names during scheduled user import #2059 by @anton-abushkevich in #2072
- Duplication in logs #2024 by @anton-abushkevich in #2029
- WebAPI v2.11 fails to start with many sources configured #2031 by @anton-abushkevich in #2032
- Achilles Heel report is deprecated in Achilles #2489 by @anton-abushkevich in #2036
- security fixes: add embed tomcat dependency 8.5.81 by @anton-abushkevich in #2044
- Treat pathway combo_id as Long. by @chrisknoll in #2063
Known Issues
- analyses execution on an IBM® Netezza® OMOP CDM Data Source are failing
- PLP and PLE analyses execution on ARACHNE Execution Engine are not supported after updating WebAPI to use Hydra 0.3.0 skeletons - a new release of https://github.com/odysseusinc/DockerEnv is required
- incorrect Cohort counts with a Visit Detail criteria when the corresponding OMOP CDM table is empty #2129
New Contributors
Thanks to @ttemnikova for Quality Assurance
Full Changelog: v2.11.0...v2.12.0
WebAPI v2.11.1
Fixes
- fixing duplicate entries in the application log #2024
- WebAPI fails to start with many sources configured #2031
- Job [warming cache] SQL syntax error #2033
- deprecating ACHILLES Heel report #2036
- BATCH_JOB_EXECUTION_PARAMS error when restarting WebAPI #2038
Embedded Apache Tomcat library has been raised to the latest version 8.5.81 #2044
WebAPI v2.11.0
New Features
- Person Counts (PC) and Descendant Person Counts (DPC) are available in the Vocabulary search results #1981
- ACHILLES results visualization performance improvement #1978
- Spark dialect support #1979, #1991, #1994
- an endpoint added to get entities by tag names #1946
- updating dependencies #1996, #1987
- Log4J update #1970
Fixes
- sample_settings.xml updated to have no references to Microsoft SQL Server and Oracle #1964
- a broken backward compatibility reverted for the endpoint to check Cohort Definitions #1971
- permissions are properly configured for the endpoint 'cohortdefinition/checkV2' #1988
- a fix in the Audit Trail functionality #1983
- long job names workaround #2007
- cohorts comparison doesn't fail with distribution statistics #2002
Acknowledgments
Many thanks to the release contributors @anton-abushkevich @ssuvorov-fls @chrisknoll @anthonysena @alondhe @OdysseusMark @alex-odysseus
WebAPI v2.10.1
Fixes
#1933: A PLE analysis fails on an execution on a Google BigQuery data source
#1934: A PLP analysis fails on an execution on an Apache Impala data source
#1939: Cohort generation on RedShift - serializable isolation violation on table Error: 1023
#1953: Cohort definition version update error when security is disabled
Apache Shiro updated to 1.8.0
WebAPI v2.10.0
New Features
#1917: Tagging capability
#1913: Audit trail
#1923: Versioning of design assets
Fixes
#1885: Update Hydra to latest version
#1892: Fixes error when trying to save a concept set with a concept not included in default vocabulary source
#1890: Update error message for cohort sampling
#1896: Add missing title for condition occurrence status
#1897: ConceptNotExistException should be validated
#1902: Error handling when user does have vocabulary data source role
#1903: Skip failing unit tests
#1904: Fix std diff calculation for distribution item
#1906: Duplicate values in Included Source Codes if Included Concepts count more than 10000
#1908: Update concept hierarchy initialization for Spark compatibility
#1910: faType is null in WebAPI/cohort-characterization/generation/{id}/result
#1918: Disable PLP results viewer
#1886: Use JDK 11 base image to support building for ARM (Docker)
Acknowledgements
Thanks to @anton-abushkevich, @ssuvorov-fls, @chrisknoll, @alex-odysseus, @OdysseusMark, @alondhe, @blootsvoets. @chgl for their contributions to this release.
WebAPI v2.9.1
Fixes
#1890: BadRequestException: sample parameter size must fall in the range (1, 500)
#1892: Data tables error if we try to save concept set with a concept which is not included in default vocabulary source
#1896: Added missing title for condition occurrence status
#1897: ConceptNot ExistException should be validated (user-readable message)
#1902: javax.ws.rs.ForbiddenException in alert if user does not have vocabulary data source role
WebAPI v2.9.0
New Features
#1821: Localization feature was introduced including translations to Korean and Chinese languages. Thanks to IQVIA and APAC for their contribution.
MS SQL JDBC driver version was updated.
Fixes
#1782: Replacement for RANDOM keyword was added for Netezza
#1797: Sequence used for sec_permission table was changed
#1791: Permissions to view evidence were added
#1800: Fixed missing BigQuery libraries
#1799: Fix caching keys
#1817: Permission checking for priority daimon has been added
#1829: Changes how users are registered
#1822: Checking of age value was added
#1836: Fixed filter jobParameters in notifications
#1841: Quotes have been removed from source keys
#1840: Prevent stacktrace input from endpoint
#1813: Fixed calculation for standard mean difference
#1847: FEAggregate serialization fixes
#1863: Unable to copy Pathway Analysis
#1867: NotFoundException after clicking Pathway analysis in notification