/cabolabs-ehrserver

Service-oriented openEHR repository for clinical data with composition commit, query and retrieve capabilities.

Primary LanguageGroovyApache License 2.0Apache-2.0

CaboLabs EHRServer

Build Status Gitter chat

Clinical Data Management and Sharing Platform compliant with the openEHR standard.

The EHRServer is a general purpose clinical data repository with a REST API and an Management Web Console, compliant with the openEHR standard, that helps cutting development time, increase data quality and enable interoperability for clinical and health/wellness related information systems.

Can be used as the main clinical data repository of your system or app, as a shared repository/integrated patient EHR between many systems, as a secondary/backup repository, as a wearable/monitoring device backend, as a standardized data source for datawarehousing, as a fast prototyping platform, and as a micro-service platform with many applications like clinical decision support, clinical dashboards, data visualization, reporting, research, etc.

Community

Let me know if you are using the EHRServer!

Asks questions and get support

Support the project!

One way of supporting this project and our vision for building a completely open platform for health information systems, it through community donations. This will be used to pay for servers and development tools we use, also to maintain the website updated and be able to create new guides, and keep all open.

Another way of supporting the project is by subscribing to the CloudEHRServer

Thanks for your support!

Resources

Main features

  • openEHR compliant clinical data repository
  • Administrative Web Console
  • Simple but powerful REST API
  • Supports XML and JSON
  • Full audit access for traceability
  • Versioned clinical documents
  • Query Builder from the Web Console to create data queries (no programming needed!)
  • Support of SNOMED CT Expressions on openEHR queries (simplifies complex queries)
  • Supports any structure of clinical document (following the openEHR standard information model)
  • Vendor Neutral Archive
  • Multitenancy

Based on Open Source Technologies

Test it

Want to try EHRServer?

Install, Configure, Run locally (steop by step)

Dependencies

  1. curl -s get.sdkman.io | bash
  2. source "$HOME/.sdkman/bin/sdkman-init.sh"
  3. sdk install grails 2.5.6
  4. set version by default: Y
  5. grails -version

Database

  1. install MySQL
  2. copy the default root password
  3. cd /usr/local/mysql/bin
  4. ./mysql -u root -p
  5. enter default root password
  6. ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW-ROOT-PASSWORD';
  7. CREATE DATABASE ehrserver;
  8. exit

EHRServer configuration

  1. cd ehrserver/grails-app/conf
  2. nano DataSource.groovy
  3. change development password to NEW-ROOT-PASSWORD
  4. save

EHRServer environment variables

Mandatory:

export EHRSERVER_REST_SECRET="6067dba9-1417-41c5-b1af-92208c77ce77"
export EHRSERVER_SNQUERY_KEY="22222222-2222-2222-2222-222222222222"

Optional:

export EHRSERVER_EMAIL_FROM="user@yourdomain.com"
export EHRSERVER_EMAIL_HOST="mail.yourdomain.com"
export EHRSERVER_EMAIL_PORT=1234
export EHRSERVER_EMAIL_USER="user@yourdomain.com"
export EHRSERVER_EMAIL_PASS="youruserpassword"
export EHRSERVER_ALLOW_WEB_USER_REGISTER=true

EHRServer run (dev environment)

  1. cd ehrserver
  2. grails run-app
  3. open http://localhost:8090/ehr
  4. login with admin/admin/123456