This is an example application of the camel-fhir
component. We’ll be using camel-spring-boot
as well for an easy setup.
The Camel route is located in the MyCamelRouter
class.
This example will read HL7V2 patients from a directory and convert them to FHIR R4 patients and upload them to a configured FHIR server.
The example installs hapiproject/hapi:v4.2.0 docker image as local FHIR server
By default, the example uses http://localhost:8081/fhir
as the FHIR server URL, R4 as the FHIR version and target/work/fhir/input
as the directory to look for HL7V2 patients.
However, you can edit the application.properties
file to override the defaults and provide your own configuration.
There is an example of a test in the MyCamelApplicationTest
class, which mocks out the FHIR server, thus can be run without the FHIR server.
Before running your application execute this command to deploy FHIR server:
docker run -p 8081:8080 -e hapi.fhir.fhir_version=R4 -e hapi.fhir.reuse_cached_search_results_millis=-1 hapiproject/hapi:v6.8.3
Then you can run this example using:
mvn spring-boot:run
When the Camel application runs, you should see a folder created under target/work/fhir/input
. Copy the file hl7v2.patient
located in the src/main/data
folder into it. You should see the following output:
[source,text
2018-07-24 11:52:51.615 INFO 30666 --- [work/fhir/input] fhir-example: Converting hl7v2.patient 2018-07-24 11:52:52.700 INFO 30666 --- [work/fhir/input] fhir-example: Inserting Patient: {"resourceType":"Patient","id":"100005056","name":[{"family":"Freeman","given":["Vincent"]}]} 2018-07-24 11:52:56.995 INFO 30666 --- [ #2 - CamelFhir] fhir-example: Patient created successfully: ca.uhn.fhir.rest.api.MethodOutcome@270f03f1
The Camel application can be stopped pressing kbd:[Ctrl+c] in the shell.
To show a summary of spring boot health check
curl -XGET -s http://localhost:8080/actuator/health
If you hit any problem using Camel or have some feedback, then please let us know.
We also love contributors, so get involved :-)
The Camel riders!