FreeSHR
FreeSHR is an implementation of a shared health record, which uses FHIR as encounter contract. For more information, please see sharedhealth wiki
Build Status
Getting started
To build the FreeSHR artifact, run the gradlew file in the operating system of your choice.
To run the application execute
gradlew runSHR
To setup your intellij run
gradlew :idea
and open the project file it has generated in idea.
In dev environment, to run SHR
gradlew runSHR
Make sure that you have cassandra running and local.properties have the right configuration
Troubleshooting:
- If you are getting error while running migrations on cassandra (like duplicate migration file),
check the classpath passed by gradle, possibly migrations are there in multiple classpath locations. Possible solution is to put this in shr/build.gradle
sourceSets { main { output.resourcesDir = "build/classes/main" } }
or
gradlew runSHR -x test
- the runSHR runs the SHR in debug mode, in which case you have to attach a debugger. Alternatively, you can modify the /build.gradle.getProcessBuilder() method to remove the additional options ‘–debug’, ‘–debug-jvm’.
- the current setup assumes that you are running the SHR server on the host and cassandra on guest VM. If you want to run SHR on the guest, then cd to /vagrant, and exec ./gradlew runSHR. In that case, ensure that you have the right configurations in env/local.properties
vagrant provision runs scripts/provision-local.sh, which updates cassandra configuration to fixed IP address of the guest VM.
- if running SHR from host machine and connecting to the cassandra on vagrant, then in guest’s /etc/cassandra/conf/cassandra.yml file, ensure “listen_address”, “seeds”, “rpc_address” are set property to refer to the IP address instead of localhost.