avatar   mharthoorn  

We just released the Simplifier Package Server Public Beta! You now can now properly version and publish your profiles, and experiment working with a published set of profiles from others just by installing a package.

Reference implementation

The concept of FHIR Packages is a 'working draft standard' intended to become part of the FHIR specification. You can find the draft here. The Simplifier Team developed the package standard in close coordination with the FHIR product director and the FHIR core team. As we really believe in packages, and to help boost the launch of FHIR Packages, we built a package server into Simplifier that you can now use as a reference implementation. Simplifier now is a fully working FHIR Package Server.

Start using it

Starting today you can create packages from your FHIR projects in Simplifier. They can immediately be installed and used by people who want to user your profiles.

You can also now start implementing FHIR packages in your own tools. We will soon open source a Fhir package library for C#/.NET to get you up to speed quickly.

The FHIR package standard is compatible with NPM, so you can use an NPM client to connect to the Simplifier Package Server. But we suggest you use our FHIR commandline tool Torinox, because it has full understanding of FHIR and of packages, and will allow you to use packages for validation, snapshot generation and creating your own FHIR profile projects with package dependencies.

Public BETA

The Simplifier FHIR packages feature is released as a public beta. That means that it is stable and ready to use, but that you should not yet rely on it for production environments, since there might be some changes in the product or the draft standard.

Background: the problem that had to be solved

Not long after the first draft of FHIR DSTU1, versioning became an issue. Nobody was yet focused in versioning their profiles, let alone having the time to add a consistent version modifier at the end of each canonical resoures. We understand that completely. Versioning is a problem that you don't want to deal before you publish your profiles, and even then you don't want to spend days fixing all the canonical URL's and all references, especially in projects with hundreds or thousands of profiles.

More background can be found in Ewout's original blog post on versioning.

The solution

Packages solves that problem, just like they do for other kinds of software development. They combine two powerful concepts:

  1. Grouping of profiles and other conformance resources
  2. Referencing other packages.

As an author and as a consumer of FHIR profiles, this solves a very big problem for you: you don't have to version your individual profiles anymore. You just have to version your package. If people want consume your profiles, instead of having to fix each of their own profiles to fix the references, they now will just have to update one package reference.

Creating Packages in Simplifier

You're able to create a package with the current state of your Simplifier project on the Package tab of your project. Just select 'Create' -> 'Create new package'. Give your package a name and a version and press the Create button and you're done. It's that simple - anyone can now able to consume your package.

Package Dependencies in Simplifier

In order to up the game, you can also go to the next tab in your project: Dependencies. Here you can add package references to your project. These references will be come part of your package manifest, and the manifest will make sure that those packages are also installed when somebody installs your package.

Until now Canonical references in Simplifier are resolved based on the project that most likely owns them: the project that has a matching canonical base. But those resources are not versioned. In the very near future, Simplifier will immediately switch to package resolution once you turn on packages dependencies. This will make sure that all your references are safely pinned to a specific version of external profiles. And the Simplifier Package Server will also guarantee that this will never change.

Trying out installing packages

In order to give you a quick start, we already have made one tool ready for consuming packages: Torinox, our cross platform FHIR command line tool.

Torinox is easy to use command line tool that gives you a host of small FHIR tools. The name of Torinox inspired by the Victorinox Swiss Army Knife: a multitool. You can download Torinox from Simplifier.

Torinox allows you to do a lot of things with FHIR resources. You can use it for bundling resources and splitting bundles. Or transform fhir resources from or to JSON or XML. It has an easy way to fetch resources from any FHIR server, and many more utilities. In addition to that all, Torinox now has also become a package client. We have published a separate blog post about installing packages with Torinox

Next

In the coming weeks we will start implementing validation, snapshot generation and link generation based on package dependencies in Simplifier. Next on our roadmap is also to implement FHIR packages into Forge.

If you would like to know more, I will give a presentation on packages in detail on the Amsterdam FHIR Devdays, Nov. 14-16.

Other news from Firely
Ward Weistra 🔥
You may not notice the main work behind this release directly, but we are now capturing the amount of views and downloads on all FHIR entities (packages, projects, resources, guides, organizations).
Martine Berden
To support the fast-growing demand for FHIR solutions in the US, we have scaled up our presence by establishing a new company: Firely USA Inc.
Els van bergeijk
Two new free Firely e-learning courses available, including FHIR Profiling Introduction
Ward Weistra 🔥
By using variables in dynamic tables, you can now create consistent pages with widgets and tables, customized for every resource.
Ward Weistra 🔥
We look forward to collaborating with you on many more FHIR specifications in the new year.
Els van bergeijk
This eBook provides a complete overview of the relevant US healthcare regulations, implementation guides, and technologies and will help you understand their scope.
Ward Weistra 🔥
An update on new features for guides, invites and canonical claims and a resolved security issue around private packages.
Martine Berden
Execute and evaluate CQL, Clinical Quality Language, on FHIR resources
Rob Langezaal
Forge is now officially supports the R5 FHIR release. Visualization of resources is now conistent with Simplifier.
Ward Weistra 🔥
With many more widgets for your implementation guide it's now a lot quicker to make a consistent IG page.