Publicly Available FHIR Servers for testing

From HL7Wiki
Revision as of 10:17, 18 June 2012 by GrahameGrieve (talk | contribs)
Jump to navigation Jump to search

Introduction

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.

List

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.

SSL Fix

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.