avatar   mharthoorn  

This week we published Torinox, our command line FHIR utility. It can help you with all kinds of FHIR operations:

  • Helping you with resources on disk
  • Getting resources from and to a FHIR server
  • Bundling resources and splitting bundles
  • Installing or creating FHIR packages
  • Synchronizing Simplifier projects with local folders
  • Converting XML to JSON and vice versa

You can choose to work in Windows with Powershell or the classic command prompt. Torinox also works under Linux and a lot of other operating systems.

Get started

To start using Torinox, follow these steps:

  1. Install dotnet core 2.1 SDK.
  2. Run dotnet tool install -g torinox
  3. Run fhir -? for information

Getting resources from a server

To get a resource from a server, first you have to define the server once. In this example we will use the publicly available Vonk server:

    > fhir server add vonk https://vonk.fire.ly

Now that you have your server alias, you can start communicating with it. A first step is doing a simple read operation:

    > fhir read vonk Patient/example

This will get a patient from the server with id 'example'. If that one does not exist, you can of course try another one. To give you the freedom to do with this resource what you want (save, upload it to another server, validate it...), we keep it on an internal stack, for you to use on your next operation. Let's do a simple show.

    > fhir show

This command will show the contents of the most recent resource.

Saving resources

There are several ways to save a resource. The resource from the previous example can be saved by typing:

    > fhir save

Once you saved a resource, it's dropped from the stack. You can be more specific by providing a file name. The extension you provide (xml, json) will be honored in the serialization. So by typing:

    > fhir save patient1.json

the resource would be saved in JSON format.

Bundling

A frequently requested operation is putting a set of resources in a bundle. Let's see how we can do that with Torinox: Let's get all patients on our test server who's name is Chalmers (in the official FHIR spec examples there are several!)

    > fhir search vonk Patient name=Chalmers

Note that all FHIR query parameters work here. So if you don't get enough results, you can just do a generic search: get the first 20 patients from the server, without any discrimination:

    > fhir search vonk Patient _count=20

You should have at least 20 patients now on your local stack. So lets bundle and save them.

    > fhir bundle
    
    > fhir save bundle.xml

That wasn't too complex, was it? You now have 20 patients in a bundle in an xml file in your current folder.

Other operations

Torinox has a lot more to offer, posting FHIR resources on a FHIR server, installing FHIR packages, synchronizing a local folder with Simplifier projects or creating your own FHIR package. We'll talk about packages in a next blog post. But Torinox should be simple enough to figure out most operations yourself.

Questions

The tool is very new so it's a bit rough around the edges. Any feedback is welcome. Good luck using it. For any questions, or suggestions, just use the feedback button in Simplifier.

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.