Difference between revisions of "Publicly Available FHIR Servers for testing"
Line 14: | Line 14: | ||
** implementation details: delphi code/sql server, uses the delphi reference implementation | ** implementation details: delphi code/sql server, uses the delphi reference implementation | ||
** also available using SSL at https://hl7connect.healthintersections.com.au/svc/fhir/ | ** also available using SSL at https://hl7connect.healthintersections.com.au/svc/fhir/ | ||
− | ** also available as an OAuth secured endpoint at http | + | ** also available as an OAuth secured endpoint at http://hl7connect.healthintersections.com.au/svc/secure/fhir/ (and https too) see [[Health Intersections FHIR Server OAuth documentation]] |
* http://fhir.furore.com - Ewout's test server | * http://fhir.furore.com - Ewout's test server | ||
** people, operations = read, vread, insert, update, delete, xml + json | ** people, operations = read, vread, insert, update, delete, xml + json |
Revision as of 21:51, 20 April 2013
Back to FHIR home page
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.
- 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/
- also available as an OAuth secured endpoint at http://hl7connect.healthintersections.com.au/svc/secure/fhir/ (and https too) see Health Intersections FHIR Server OAuth documentation
- http://fhir.furore.com - Ewout's test server
- people, operations = read, vread, insert, update, delete, xml + json
- implementation details: C# reference implementation, WCF Rest library, Mongo DB
- http://fhir.furore.com/fhir is the actual end point
- http://healthfire.duteaudesign.com/svc - HealthFire's test server
- just person resource
- Implementation: Grails / MongoDB + MySQL)
- http://nprogram.azurewebsites.net/ - Rik Smithies/NProgram test server
- person and patient resources, read only (C#)
- http://oridashi.com.au/fhir/ - Brett Esler/Oridashi demo server
- read-only
- implementation: .NET 2.0, C#, self-host web server, SQL Server DB - legacy CIS
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.