FHIR Starter
Everyone has to start somewhere. While FHIR has amazing documentation (specification and wiki), all cross-linked and up to date, it can still be overwhelming to the novice. The information below was originally pulled together to help the Clinical Genomics work group come up to speed -- hence the Family History references -- but it should be useful to any interested student of FHIR.
Tutorials
Attending a FHIR tutorial in person at a Working Group Meeting (WGM) is well worth your time. However, if you can't make the next WGM, or can't wait, the tutorial presentations are licensed under Creative Commons. In a nutshell, that means you can use, and distribute them, as long as you attribute the authors.
Here is how to find them:
- Go to http://gforge.hl7.org
- Click on FHIR from the *Quick Downloads* section.
- Click on SVN navigation sidebar on the left.
- Click on trunk from the table.
- Click on Presentations from the table.
- Click on the latest Tutorials from the table.
- In order, check out 1) Introduction, 2) FHIR for Developers, and 3) Profiling presentations.
That's the long way to get there, but it's good to know which side roads are available. You might need to get a gforge account, but those are available to anyone these days.
FHIR Specification
Wait! Don't skip this section just because it talks about the specification. We're not talking about a kilo of tree pulp. The FHIR web site and standard specification are one and the same. The web site is built from the resource specifications, documentation, sample resources (e.g. FHIR core Family History, Medication, Patient, etc.). In fact, the web site build will fail if any of the sample resources are found to be invalid compared to their purported resource or profile. That goes a long way to make sure what you read on that particular web site, with cross links to other resources, data elements, code sets, etc., is actually accurate. (If you're a fan of reading from tree pulp, or are bandwidth constrained, there is even a self-contained zip file download of the entire site.)
Just as an example, here is how to find the Family History resource and a supplementary profile that is a first pass at matching the V3 Family History message:
- Go to http://hl7.org/fhir
- Click on Resources in the red navigation bar along the top.
- Click on Family History, either in the General Clinical set, or the alphabetical list further down the page.
- Explore the Content, Examples, Formal Definitions and Profiles tabs.
- To get to the V3 style profile, click on the Profiles tab.
- Click on the sole profile, GeneticPedigree.
That outlines how to reach one particular resource, but as with the tutorials, taking the long way around instead of going directly to the final URL shows many of the side trips available.
FHIR Test Servers
Grahame Grieve's test server and the server provided by Ewout Kramer are both much more than FHIR end points. They are actually user friendly web servers too. For a developer, or anyone curious about FHIR, it's fabulous to interact with sample FHIR resources. The sites can show available resources, their data elements, RESTful queries assembled from your selections, download XML and JSON representations of search resources, and even validate a resource that you created.
Here is a quick tour of Grahame's server
- Go to http://fhir.healthintersections.com.au/
- Click on Unsecured for now, as opposed to the link that you use to test authentication & authorization.
- Click on Profile for the Family History resource specification as defined in XML or JSON.
- Go back a page and click on Search for Family History.
- You'll be presented with all the attributes in the resource, though given there are just three sample resources, don't expect all searches to yield results. Instead, just scroll down to the Submit button, press it, and see what you get.
- Along the top of the page is the search URL, one that you, as a developer, can use as an example. You also are given an SQL insert statement. I'm not 100% sure of how portable that is. You also get all three matching resources, any one of which you can request in the data format of your choice.
Long before you consider writing client code, take the time to explore those two sites and the other Publicly Available FHIR Servers for testing.