One of the big changes that occurred in the DSTU-2 candidate was that the profiling mechanism has been substantially improved (albeit a bit more complicated than it was). In particular, extension definitions have been moved out of the profile resource, and are now a specific resource in their own right, which allows better re-use.
We’ll take a deeper look at extensionDefinitions and Profiles in a little while (they are also a topic in the next connectathon), but I thought I’d share a simple tool I wrote to help locate and visualize the ones that are being developed at the moment. You can view the tool here.
It retrieves all the definitions from the specification, and then lists them in a number of different ways (by name, by resource, by context) with some basic searching/filtering. You can select a definition, and then visualize it either as JSON or XML, as well as a simple text view.
A couple of notes:
- It retrieves the definitions using this call: http://hl7.org/implement/standards/FHIR-Develop/extension-definitions.json. It would be better to load them directly from a FHIR server, but the build process is not currently loading them properly. I’ll adapt it what that is corrected.
- As it loads all the definitions from a single source into memory, it won’t scale at all well – but then, I suspect it’ll be redundant before that is a problem.
- I wrote it to run in Chrome. It should run in any recent browser, but no guarantees…
- This is not a production level app and may/will break! Let me know if so and I’ll figure out what went wrong. No specific SLA though…
You’ll also appreciate why I haven’t attempted a new career as a web developer 🙂
I intend to enhance it as time goes on, specifically adding profiles and possibly basic editing but any suggestions and/or bug reports) are welcome!
Merry Christmas to you all!