OHDSI WebAPI
OHDSI WebAPI contains all OHDSI RESTful services that can be called from OHDSI applications.
Features
- Provides a centralized API for working with 1 or more databases converted to the Common Data Model (CDM) v5.
- Searching the OMOP standardized vocabularies for medical concepts and constructing concept sets.
- Defining cohort definitions for use in identifying patient populations.
- Characterizing cohorts
- Computing incidence rates
- Retrieve patient profiles
- Design population level estimation and patient level prediction studies
Technology
OHDSI WebAPI is a Java 8 web application that utilizes a PostgreSQL database for storage.
API Documentation
The API Documentation is found at http://webapidoc.ohdsi.org/
System Requirements & Installation
Documentation can be found a the Web API Installation Guide which covers the system requirements and installation instructions.
SAML Auth support
The following parameters are used:
security.saml.idpMetadataLocation=classpath:saml/dev/idp-metadata.xml
- path to metadata used by identity providersecurity.saml.metadataLocation=saml/dev/sp-metadata.xml
- service provider metadata pathsecurity.saml.keyManager.keyStoreFile=classpath:saml/samlKeystore.jks
- path to keystoresecurity.saml.keyManager.storePassword=nalle123
- keystore passwordsecurity.saml.keyManager.passwords.arachnenetwork=nalle123
- private key passwordsecurity.saml.keyManager.defaultKey=apollo
- keystore aliassecurity.saml.sloUrl=https://localhost:8443/cas/logout
- identity provider logout URLsecurity.saml.callbackUrl=http://localhost:8080/WebAPI/user/saml/callback
- URL called from identity provider after login
Sample idp metadata and sp metadata config files for okta:
saml/dev/idp-metadata-okta.xml
saml/dev/sp-metadata-okta.xml
Managing auth providers
The following parameters are used to enable/disable certain provider:
security.auth.windows.enabled
security.auth.kerberos.enabled
security.auth.openid.enabled
security.auth.facebook.enabled
security.auth.github.enabled
security.auth.google.enabled
security.auth.jdbc.enabled
security.auth.ldap.enabled
security.auth.ad.enabled
security.auth.cas.enabled
Acceptable values are true
and false
Geospatial support
Instructions can be found at webapi-component-geospatial
Testing
It was chosen to use embedded PG instead of H2 for unit tests since H2 doesn't support window functions, md5
function, HEX to BIT conversion, setval
, set datestyle
, CTAS + CTE.
Support
- Developer questions/comments/feedback: OHDSI forum
- We use the GitHub issue tracker for all bugs/issues/enhancements.
Contribution
Versioning
- WebAPI follows Semantic versioning;
- Only Non-SNAPSHOT dependencies should be presented in POM.xml on release branches/tags.
License
OHDSI WebAPI is licensed under Apache License 2.0