hapi-fhir/hapi-fhir-jpaserver-example
Ken Stevens 84a34eb3c9
Subscription module support (#1147)
* Reorganizing packages and dependencies to support standalone subscription running within a CDR container where all hapi modules are on the classpath.

Moved Subscription registry out of interceptor and introduced SubscriptionLoader

* Created ActiveSubscription and moved cache bits into it

* Moved ExecutorQueue stuff out into its own class

* Add test and supporting code to validate SubscriptionConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION behaviour

* Added SubscriptionCheckingSubscriber

* Moved a few beans to @ComponentScan

* Replaced use of beanFactory with concrete factory classes

* Switched test to use subscribablechannel

* Added SubscriptionLoaderFhirClientTest

* Confirm that our SubscriptionProviderFhirClient works with a live fhir client

* Register interceptors with DaoConfig instead of RestServer.
Also, Rename @VisibleForTesting methods with ForUnitTest

* Fix triggering service so it uses new subscriptionmatcherinterceptor

* Renamed "Database" classes to "Dao"

* processing -> matching naming change
2018-12-18 13:09:06 -05:00
..
src Subscription module support (#1147) 2018-12-18 13:09:06 -05:00
.gitignore Add Eclipse files to git 2016-02-28 14:02:29 -05:00
Dockerfile Add Dockerfile and build script for the jpaserver-example. 2016-11-18 11:00:35 +01:00
README.md Subscription module support (#1147) 2018-12-18 13:09:06 -05:00
build-docker-image.sh Add Dockerfile and build script for the jpaserver-example. 2016-11-18 11:00:35 +01:00
pom.xml Version bump to 3.7.0-SNAPSHOT 2018-11-12 10:07:28 -05:00

README.md

Unsupported

This hapi-fhir-jpaserver-example project is no longer supported.

Supported JPA Example

The supported HAPI-FHIR JPA example is available in the hapi-fhir-jpaserver-starter project within the hapifhir GitHub Organization.

Previous Documentation

Below is the original documentation for this project. Note that this documentation is no longer being updated.

Running hapi-fhir-jpaserver-example in Tomcat from IntelliJ

Install Tomcat.

Make sure you have Tomcat set up in IntelliJ.

  • File->Settings->Build, Execution, Deployment->Application Servers
  • Click +
  • Select "Tomcat Server"
  • Enter the path to your tomcat deployment for both Tomcat Home (IntelliJ will fill in base directory for you)

Add a Run Configuration for running hapi-fhir-jpaserver-example under Tomcat

  • Run->Edit Configurations
  • Click the green +
  • Select Tomcat Server, Local
  • Change the name to whatever you wish
  • Uncheck the "After launch" checkbox
  • On the "Deployment" tab, click the green +
  • Select "Artifact"
  • Select "hapi-fhir-jpaserver-example:war"
  • In "Application context" type /hapi

Run the configuration.

  • You should now have an "Application Servers" in the list of windows at the bottom.
  • Click it.
  • Select your server, and click the green triangle (or the bug if you want to debug)
  • Wait for the console output to stop

Point your browser (or fiddler, or what have you) to http://localhost:8080/hapi/baseDstu3/Patient

You should get an empty bundle back.

Running hapi-fhir-jpaserver-example in a Docker container

Execute the build-docker-image.sh script to build the docker image.

Use this command to start the container: docker run -d --name hapi-fhir-jpaserver-example -p 8080:8080 hapi-fhir/hapi-fhir-jpaserver-example

Note: with this command data is persisted across container restarts, but not after removal of the container. Use a docker volume mapping on /var/lib/jetty/target to achieve this.

After the docker container initial startup, point your browser (or fiddler, or what have you) to http://localhost:8080/baseDstu3/Patient

You should get an empty bundle back.

Using ElasticSearch as the search engine instead of the default Apache Lucene

  1. Install ElasticSearch server and the phonetic plugin
  2. Replace configuration in web.xml
    • replace the configuration class ca.uhn.fhir.jpa.demo.FhirServerConfig in web.xml by ca.uhn.fhir.jpa.demo.elasticsearch.FhirServerConfig
  3. Start server by runing: mvn jetty:run
  4. Limitations: