Profiling tools


Introduction


In this section we will provide an overview of tools that we find useful in our profiling work. This section is an overview only and therefore does not contain any real-life examples or exercises.

In this module, you will learn more about tools related to the following profiling activities:

  • Exploring what's already out there
  • Building profiles and extensions
  • Building terminology
  • Creating examples
  • Creating Implementation Guides
  • Validating your work
  • Interacting with a FHIR server

Reading material


There are several tools available for those working with FHIR. HL7 provides an overview of tools in the FHIR Tools Registry. In this module we will introduce you to the tools related to profiling that we like to work with. When profiling, there's a couple of activitities you may be involved in: 1. Exploring what's already out there, 2. Building profiles and extensions, 3. Building terminology, 4. Creating examples, 5. Creating Implementation Guides, 6. Validating your work and 7. Interacting with a FHIR server. For each of these activities we will explain which tool(s) we like to use and how to use them.

1. Exploring what's already out there

The places to check which profiles and extensions already exist are:

To learn more about the FHIR registry and Simplifier, follow the Simplifier module (not yet available) or visit the Simplifier documentation page.

2. Building profiles and extensions

The official tool for profile editing is Forge. Forge has a graphical user interface making it easier to create, edit and validate profiles and extensions. The Forge-Simplifier integration makes it possible to directly import and export your profiles from and to your Simplifier projects. Forge is linked to the .NET API and automatically validates your work against the official FHIR specification. You can download Forge for free.

Forge allows you to:

  • Create and edit FHIR Profiles
  • Create and edit FHIR extension definitions
  • Create and edit FHIR conformance packages
  • Validate FHIR profiles
  • Fetch and publish profiles from/to a FHIR server
  • Fetch and publish profiles from/to a FHIR registry
  • Define formal constraints
  • Define slices
  • Define value set bindings
  • Define mappings

Here below are a couple of links to videos explaining the basics of Forge (STU3):

To learn more about Forge, visit the Forge documentation page.

3. Building terminology

A handy tool that we like to use to create terminology resources, such as CodeSystems, ValueSets and ConceptMaps, is Snapper Author (STU3). You can also use this tool to directly validate your created resources.

Snapper Author allows you to:

  • Individually define codes or upload in bulk via CSV
  • Edit all of the relevant metadata
  • Query terminology server for codes
  • Author ConceptMaps
  • Validate your work
  • Import resources from a FHIR server
  • Export resources as JSON or upload to a FHIR server

Here below are a couple of links to videos explaining how to build CodeSystems and ValueSets using Snapper Author:

4. Creating examples

SMART FRED is a nice tool to quickly create examples in JSON. You can either use the DSTU2 or the STU3 version.

SMART FRED allows you to:

  • Create resources
  • Create resources in Bundles
  • FHIR schema-aware editing
  • Export as JSON

First select Open Resource at the top of the page. Start with a blank resource and select a resource type or open an existing resource from a local file or a website URL. Start adding (or editing) elements by selecting values from the drop down menus. When finished, select Export JSON at the top of the page to get the JSON code of your example.

5. Creating Implementation Guides

Forge has a feature for building implementation guides, but a quicker and easier way is to use the IG-editor on Simplifier. Read more in our blog post on creating Implementation Guides using Simplifier.

The IG-editor on Simplifier allows you to:

  • Get started pretty easily
  • Upload profiles, valuesets and other FHIR artefacts
  • Write your content with markdown
  • Style IG with CSS
  • Render resources instantly with directives

Here below is a links to a video explaining how to get started with the IG-editor on Simplifier:

To learn more about creating IGs, please follow the module on Publishing and validating your work.

6. Validating your work

Most tools that we described include an option to validate your work against the FHIR specification. We use either the .NET GUI validator or Simplifier for validation (STU3).

The .NET GUI validator:

  • Enables validation of FHIR XML or JSON against the specification
  • Enables validation of custom profiles against the specification
  • Supports terminology validation
  • Serves both as a specification and a terminology server

Simplifier:

  • Enables validation of FHIR XML or JSON against the specification
  • Enables validation of custom profiles against the specification
  • Works in a browser

Here below are links to videos explaining how to use the .NET GUI validator and Simplifier for validation:

7. Interacting with a FHIR server

We like to use Postman for interaction with FHIR servers. We use it a lot, either for testing purposes for our own Vonk server, or for testing our profiling work on a real server.

Postman allows you to:

  • Send and receive FHIR JSON and XML to a FHIR server
  • Issue CRUD operations (GET, POST, UPDATE, DELETE)
  • Easily make sample responses for IG
  • Create, store and share collections of requests

Here below is a link to a video explaining how to use Postman:

8. Additional tools worth mentioning

Some other tools related to profiling that we did not discuss, but are worth mentioning are:

  • Trifolia workbench
    • Profile editor
    • Valueset editor
    • IG export for HL7 publisher
  • HL7 IG-publisher
    • FHIR like IG
    • Static export
  • Java validator
  • ClinFHIR

Feedback


We are always looking for ways to improve our products. The Profiling Academy was built using our own IG-editor in Simplifier. If you have any feedback on this module or on our Profiling Academy in general, please leave a comment in the Issue Tracker of the project.


Get in touch


Start profiling

Most modules end with an exercise. Use Forge to start profiling yourself. Just contact us at simplifier@fire.ly if you need any help.

Learn more

Follow one of our predefined or tailor-made courses. We will make sure you know FHIR inside-out.

Need help or advice?

Let us assist you with your FHIR use case. Visit our company website to know more about our services or get into contact with Rien Wertheim right away.