This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

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

From HL7Wiki
Jump to navigation Jump to search
Line 8: Line 8:
 
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.
 
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://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. (also available using SSL at https://hl7connect.healthintersections.com.au/svc/fhir/
 
* 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 =
+
== 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.
+
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.
 
To create the trustStore use the Java utility called keytool.  First create a trustStore in the directory of your choice like this.

Revision as of 10:17, 18 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 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.