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

From HL7Wiki
Jump to navigation Jump to search
Line 10: Line 10:
 
* 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,  
 
* 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: )
 
* 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.

Revision as of 17:11, 1 June 2012

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 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.