Eureka! Clinical Analytics Webapp
Georgia Clinical and Translational Science Alliance (Georgia CTSA), Emory University, Atlanta, GA
What does it do?
It implements a proxy servlet and router for web clients to access the web services provided by eurekaclinical-analytics-service
, eurekaclinical-protempa-service
, and eurekaclinical-user-service
.
Version 2.0
The API gateway has no new functionality, but the services to which it provides access have the following new and changed functionality:
- Basic support for id generation for tabular files.
- New data processing modes for managing phenotypes.
- Phenotype data store.
Version 1.0
The version 1.0 series is a refactoring of the eureka project's eureka-webapp module. The functionality is the same as in the last release of eureka-webapp.
Build requirements
Runtime requirements
- Oracle Java JRE 8
- Tomcat 7
- Also running
- The eurekaclinical-analytics-service war
- The eurekaclinical-protempa-service war
- The eurekaclinical-user-webapp war
- The eurekaclinical-user-service war
- The cas-server war
Proxied REST APIs
You can call all of eureka's REST APIs through a proxy provided by eureka-webapp
. The proxy will forward selected calls to eureka-protempa-etl
and eurekaclinical-user-service. All other valid URLs will be forwarded to eureka-services
. Replace /protected/api
with /proxy-resource
in your URLs. See the READMEs for each of these service projects for REST endpoint documentation.
Proxy calls that are forwarded to eurekaclinical-protempa-service
/proxy-resource/file
/proxy-resource/output
Proxy calls that are forwarded to eurekaclinical-user-service
/proxy-resource/users
/proxy-resource/roles
Proxy calls that are forwarded to eurekaclinical-analytics-service
Everything else
Building it
The project uses the maven build tool.
Typically, you build it by invoking mvn clean install
at the command line. For simple file changes, not additions or deletions, you can usually use mvn install
. See https://github.com/eurekaclinical/dev-wiki/wiki/Building-Eureka!-Clinical-projects for more details.
Performing system tests
You can run this project in an embedded tomcat by executing mvn process-resources cargo:run -Ptomcat
after you have built it. You also must be running the eurekaclinical-analytics-webclient project. The webapp will then be accessible in your web browser at https://localhost:8000/eurekaclinical-analytics-webapp/. Your username will be superuser
.
Installation
Configuration
This webapp is configured using a properties file located at /etc/eureka/application.properties
. It supports the following properties:
cas.url
: https://hostname.of.casserver:port/cas-servereureka.common.callbackserver
: https://hostname:porteureka.common.demomode
: true or false depending on whether to act like a demonstration; default is false.eureka.common.ephiprohibited
: true or false depending on whether to display that managing ePHI is prohibited; default is true.eureka.webapp.registrationenabled
: true or false to enable/disable registering for an account managed by this project; default is true.eureka.support.uri
: URI link for contacting support. Could be http, https, or mailto.eureka.support.uri.name
: Display name of the URI link for contacting support.eureka.webapp.callbackserver
: URL of the server running the webapp; default is https://localhost:8443.eureka.webapp.url
: the URL of the webapp; default is https://localhost:8443/eurekaclinical-analytics-webapp.eureka.webapp.ephiprohibited
: true or false depending on whether to display that managing ePHI is prohibited; default is true.eureka.webapp.demomode
: true or false depending on whether to act like a demonstration; default is false.eureka.services.url
: URL of the server running the services layer; default is https://localhost:8443/eurekaclinical-analytics-service.
A Tomcat restart is required to detect any changes to the configuration file.
WAR installation
- Stop Tomcat.
- Remove any old copies of the unpacked war from Tomcat's webapps directory.
- Copy the warfile into the Tomcat webapps directory, renaming it to remove the version if necessary. For example, rename
eurekaclinical-analytics-webapp-1.0.war
toeurekaclinical-analytics-webapp.war
. - Start Tomcat.
Maven dependency
<dependency>
<groupId>org.eurekaclinical</groupId>
<artifactId>eurekaclinical-analytics-webapp</artifactId>
<version>version</version>
</dependency>
Developer documentation
Getting help
Feel free to contact us at [email protected].