OHDSI Home | Forums | Wiki | Github

Beta Releases - HERMES and WebAPI

Happy Friday.

I’ve pushed updates for HERMES and WebAPI that I am considering Beta releases.

HERMES

The HERMES search experience has been modified to provide the user with information on which Domain is being filtered as you make your choices in the guided search. In addition the guided search now includes Domain, Standard Concept and Vocabulary.

The Related Concept Listing now has a feature on the toolbar for Related Concepts to be selected and those selections to be saved to a Selected Concept Listing. The Selected concepts can then be exported to a comma separated code set list of concept identifiers.

Additional Related Concept Filters have been added to the prompt library.

For a complete list of enhancements included in this release checkout the filtered list of issues here.

WebAPI

There has been a change to the way WebAPI has been configured. There are two additional parameters that need to be set in Web.xml and a change to the database.url configuration. The database.url configuration should now omit the name of the database or schema of your database. Instead configuration of your CDM schema and Result schema should be placed in the database.cdm.schema and database.results.schema parameters respectively.

Along with the configuration changes the WebAPI Beta also has a number of new RESTful methods to support both HERMES as well as early development work being completed on CERCES. I’ve added complete documentation on these new as well as the original set of RESTful methods on the wiki.

As always feedback is welcome. We will let everyone know once @lee_evans has had a chance to update the public running versions of HERMES and the WebAPI. In the meantime please let me know if you experience any issues configuring the projects in your local environments.

Awesome! I now have the WebAPI and HERMES running at Hong Kong University (using Postgres).

Building the WAR file might be a bit tricky for most (including me :wink: ). Any chance we can provide that as a binary release?

Martijn,

Our OHDSI Analytics Environment is still a couple months away but we’ll be
wrapping the API with database configuration, user management, and some
apps into a release. In the meanwhile, I think the only barrier to
releasing the WebAPI as a standalone WAR is the configuration web.xml that
needs to be edited before the build. Is there a way around this?

Definitely plan on putting together a WAR when we do a release. Being BETA and all I’m assuming anyone touching the code can compile it.

As for the deployment, my understanding is that whatever web server you publish the WAR to will allow you to specify your own web.xml upon deployment or the web.xml will be extracted as part of the process of deployment to the web server; at least that has been my limited experience. So we could either include the web.xml as a separate artifact during the release process or people could deploy the WAR and then edit the web.xml for their environment.

Ecstatic to hear we’re up and running in Hong Kong! :smile:

@Frank I have now updated the public running versions of the WebAPI and HERMES to the latest versions.

Question: does Hermes currently support entries in the source_to_concept_map (i.e. local mappings)? If so, what exactly do I need to do to make Hermes show these relationships?

No, it doesn’t include anything identified through the source_to_concept_map relationships in the related concept listing. To see how the related concepts are identified you can check out this query here. In the Janssen internal version of Hermes (aka Concept Explorer) we had a separate tab to display the ‘source codes’. We did this both to avoid confusion and also for performance reasons. I’m not sure if either are still concerns for Hermes. The quickest way to include them in Hermes would be to edit that one file and append a union to bring them into the results.

I think adding in the source_to_concept_map content would be a useful
addition for everyone who does have local codes, so they can see them in
the same interface. The union could be something like:

union select stcm.SOURCE_CODE AS CONCEPT_ID, stcm.SOURCE_CODE_DESCRIPTION
as CONCEPT_NAME, ‘N’ AS STANDARD_CONCEPT, ISNULL(stcm.INVALID_REASON,‘V’)
INVALID_REASON, stcm.SOURCE_CODE AS CONCEPT_CODE, NULL AS CONCEPT_CLASS_ID,
NULL AS DOMAIN_ID, stcm.SOURCE_VOCABULARY_ID as VOCABULARY_ID, ‘Descendant
Source to concept map’ , MIN_LEVELS_OF_SEPARATION + 1 AS
RELATIONSHIP_DISTANCE from @CDM_schema.CONCEPT_ANCESTOR ca join @CDM_schema.
CONCEPT c on c.CONCEPT_ID = ca.DESCENDANT_CONCEPT_ID join
@CDM_schema.SOURCE_TO_CONCEPT_MAP stcm on ca.DESCENDANT_CONCEPT_ID =
stcm.TARGET_CONCEPT_ID where ANCESTOR_CONCEPT_ID = @id

t