Publicly Available FHIR Servers for testing
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.
- https://hl7connect.healthintersections.com.au/svc/fhir/ - Grahame's test server. Supports all resource types, all operations, xml + json (implementation details: delphi code/sql server, uses the delphi reference implementation,
- http://fhir.apphb.com/fhir/people - Ewout's test server - people, operations = read, vread, insert, update, delete, xml + json (implementation details: )
SSL Fix
On Grahame's public server the SSL trust certificate is not signed by a known Cert Authoritiy. 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.