Difference between revisions of "Publicly Available FHIR Servers for testing"

From HL7Wiki
Jump to navigation Jump to search
Line 28: Line 28:
** End point #1: 'Best Practice CIS' http://demo.oridashi.com.au:8190/
** End point #1: 'Best Practice CIS' http://demo.oridashi.com.au:8190/
** End point #2: 'Medical Director CIS' http://demo.oridashi.com.au:8191/
** End point #2: 'Medical Director CIS' http://demo.oridashi.com.au:8191/
** End point #3: 'Zedmed CIS' http://demo.oridashi.com.au:8192/
** End point #3: 'Zedmed CIS' http://demo.oridashi.com.au:8192/ (currently down will return soon)
* https://api.fhir.me - Josh Mandel / SMART Platforms
* https://api.fhir.me - Josh Mandel / SMART Platforms
** Open-source server in Grails (Java/Groovy) + MongoDB
** Open-source server in Grails (Java/Groovy) + MongoDB

Revision as of 19:52, 3 May 2014

Back to FHIR home page


This page lists FHIR servers that are publically available for testing. In order to avoid spam etc, the servers are generally password protected. A contact is provided to get a password.


Note that these servers are testing servers. They may be sporadically unavailable, and as the FHIR specification is a moving target, they may not always implement the latest version, or do so correctly.

  • http://spark.furore.com - Ewout's test server (previously fhir.furore.com). The actual service endpoint is at http://spark.furore.com/fhir.
    • Supports all resource types, all operations, xml + json
    • implementation details: C# reference implementation, WebApi 2.0 library, Mongo DB for storage and search.
    • Server is running on AppHarbor, Mongo at MongoLab, and storage of binary is done on Amazon S3
    • Available in the open source - see [[2]]


On Grahame's SSL server the SSL trust certificate is not signed by a known Cert Authority. At least in JAVA or SCALA to get the resources you will have to set up a trustStore and manually import the cert from the server and assert that it is trusted.

To create the trustStore use the Java utility called keytool. First create a trustStore in the directory of your choice like this.

keytool -genkeypair -keyalg RSA -keysize 1024 -dname "CN=hl7.kp.org, OU=Pleasanton, O=Kaiser Permanente , L=Corona, S=California, C=US, EMAILADDRESS=Me@server.com" -validity 365 -keystore fhirTruststore

Note you will be prompted for a new password. Choose one and remember it.

You can obtain the cert from Grahame's server with various browsers, instructions differ.

Once you have the cert add it as a trusted cert to the trustStore like this, the cert file is fhir_der_x509.cer.

keytool -import -trustcacerts -alias hl7.kp.org -file fhir_der_x509.cer -keystore fhirTruststore

You can confirm it worked with this line.

keytool -list -v -keystore fhirTruststore

Now that you have that done, know the directory you put it, and know the password, then in your JAVA code you must add these lines.

   System.setProperty("javax.net.ssl.trustStore", "/Users/peterhendler/development/FHIR/certificates/fhirTruststore");
   System.setProperty("javax.net.ssl.trustStorePassword", "fhirdemo");

Finally, and this is important, you can not use the URL published above. The cert is actually from Amazon AWS so you must connect like this.

url = new URL("https://ec2-107-20-116-177.compute-1.amazonaws.com/svc/fhir/people/@34234");

Note the server name been has changed.