Open Sourcing my FHIR Server

Dec 5, 2013

Since early in the FHIR development process, I’ve maintained a FHIR server at http://hl7connect.healthintersections.com.au/svc/fhir. Everyone in the community uses this for learning FHIR, testing their implementations, and it’s the de facto reference server (which was my intent). As part of preparing the DSTU version of FHIR, I’ve open sourced the server. You can find it here: https://github.com/grahamegrieve/fhirserver.

Some notes on the server:

  • To compile it, you need any edition ofDelphi, any unicode version (in practice, XE+)
  • To run it, you need windows /MSSQLServer.MySQL(and therefore OSX) support would be nice, but requires a new data access layer (it works at the SQL level). I’m hoping someone will do the work to make that happen
  • I had hoped to supportthe Free Pascal compilerand therefore *nix, but the way they handled unicode makes my head spin
  • The source is based ontoday’s build of FHIR, and I’ll be updating the spec and the server in sync for a little while
  • Not all the functionality is fully in sync in the DSTU - in particular, searching hasn’t yet been updated for the many changes the DSTU version contains
  • The design of the server favors a complete implementation of the specification against pure performance (note: this is not to say that the specification can’t be implemented well - more that I only have a limited amount of time, and I prefer features over outright performance, consistent with being a reference implementation)
  • At the moment, the reference server is still running old server until the upcoming UK FHIR Connectathon happens on Dec 13. After that, it will be upgraded to this version

The license on the server is a permissive BSD-3-clause - while I’d like people who use it to contribute to the source base, I’ll be very happy for commercial vendors to take the server and integrate it (or parts of it) into their own product suite.