Get started with Simplifier


Introduction


In this module you will learn how you can get the best out of Simplifier. It will give you a general introduction to the process of creating a project, editing your work using the Simplifier-Forge integration, and publishing & validating your work on the Simplifier registry.

The topics covered in this module are:

  • The motivation behind the Simplifier platform
  • Creating your first project
  • Simplifier-Forge integration
  • Publish your work to a registry
  • Versioning
  • Validation

Reading material


Simplifier.net is a collaboration platform for developers, designers, architects and product managers.

1. Motivation behind creating the platform

Many people are working on interoperability projects worldwide. One of the problems with interoperability, however, is the amount of variance between similar solutions that were approached from different viewpoints. The motivation to create Simplifier.net was to enhance interoperability in the following ways:

  1. Make it easier to find similar work by others by providing one entry to all open and available FHIR profiles in the registry.
  2. Facilitate collaboration. Everyone can contribute and share FHIR resources with coworkers and the community at large.
  3. Help to address problems around versioning of profiles.
  4. Help to produce valid FHIR solutions by offering several validation tools that are directly linked to the .NET API.

1.1 To find and be found

FHIR is profiling. The FHIR standard creates a common foundation that supports many different contexts in healthcare. This foundation is very broad and may not be suitable enough for your project. Therefore the specification usually requires further adaptation to particular contexts of use.

In order to adopt and use FHIR, you will most likely use profiles specific enough for your project. As FHIR is picking up in speed and is increasingly being implemented, the number of FHIR profiles that have been created or that are needed is increasing. So we need to ensure that we can still find what we need and we won’t end up searching for a needle in a haystack. Simplifier.net is created as a registry for all FHIR profiles used in adaptions of FHIR. This is aimed to help prevent reinventing FHIR profiles by enabling the discovery of existing profiles.

On the other hand, as an author you may want to make your own work visible to others, so it can be explored, reviewed or implemented. On Simplifier.net you can edit and publish Implementation Guides and upload your profiles to make sure everyone can find and use your profiles.

And that’s what Simplifier enables. To find and be found!

1.2 Collaboration platform

One of the goals of creating Simplifier.net was to facilitate collaboration by creating a collaboration platform for developers, designers, architects and product managers. Simplifier.net has now become the most obvious place to start your FHIR project. Create Simplifier projects and start sharing your resources in a human readable format, such as a structured tree or a table. Edit them directly from Simplifier or use the Simplifier-Forge integration. Create and publish Implementation Guides. Link your projects to a GitHub repository for optimal collaboration and synchronization. Use the issue tracker to discuss your work with your team members or enable issue tracking for the community to discuss it with anyone from the FHIR community.

1.3 Versioning

A common problem that profile authors face is how to deal with the versioning of profiles. Profiles often contain constrained references to other profiles used in the same use case (for example hospital X has profiled the Patient resource and wants to constrain all references to Patient in their other profiles to their specific Patient profile). This means that if a breaking change in the Patient profile leads to a new version, all references to this profile need to be updated and all updated profiles need to be (re)published at once as a batch. Simplifier.net aims to offer solutions that help to address versioning problems of profiles. For example, Simplifier.net allows you to compare different versions of resources and roll back to an older version, or to (re)publish a set of resources at once.

On top of that, Simplifier.net offers beta functionality to handle packages and dependencies. This functionality allows you to create and publish packages based on your project resources, which can be immediately installed and used by people who want to use your profiles. You can use a NPM client to connect to the fully working, NPM compatible, Simplifier FHIR package server. Another option is to use our cross platform FHIR command line tool Torinox, which allows you to use packages for validation, snapshot generation and creating your own profile projects with package dependencies.

1.4 Verification and validation

Last but not least, it is important to validate your work to save you the time of running into errors later. Simplifier.net is linked to the .NET API making it possible to validate all your uploaded resources directly against the API ensuring that you produce valid resources. Simplifier.net supports both conformance resource validation and instance validation against the core specification or your own profile. To ensure valid implementations of your profiles you can also upload examples, which will automatically be listed under the relevant profiles. Finally, Simplifier.net offers a tool called Snippet that can be used to quickly upload and share a piece of XML or JSON code. You can also validate your code using Snippet, although this is not required.

2. The Simplifier platform

In this chapter we'll explain the basics of Simplifier and how it can be used to obtain the goals we described above: 1. how to search the registry (to find and be found), 2. the process of working on projects together (collaboration platform), 3. versioning and 4. verification and validation. As the primary goal of Simplifier.net is to enhance interoperability, the most important features of Simplifier.net are freely available to everyone. Advanced features that, for example, facilitate better collaboration are part of the paid account plans. This also includes support by our FHIR support engineers.

2.1 Searching the registry

You can search for existing projects and FHIR resources in one of the following ways:

  1. Browse Simplifier.net for published resources and public projects
  2. Browse the FHIR registry for published STU3 resources within International, National, Institute or Regional projects on Simplifier.net (test projects are excluded from the registry).
2.1.1 Browse Simplifier.net

The search box at the top of the Simplifier homepage enables you to browse through all publicly available organizations, resources and/or projects on Simplifier.

The search results can be filtered on FHIR version (DSTU2 or STU3), resource category (e.g. profile or value set), status (e.g. draft or active), scope (e.g. national project or test project) and (in the case of a national project) nationality.

From the homepage it is also possible to select a country on the world map to limit your results to organizations, resources and/or projects from this specific country.

The search results of Simplifier.net are RESTful, which means that you can share the exact search by sharing the URL. The person receiving this URL will obtain the search results just as you have filtered them.

2.1.2 Browse the FHIR registry

The FHIR registry enables you to search for published FHIR resources created for STU3 in International, National, Institute or Regional projects on Simplifier.net. Test projects are excluded. The aim of this registry is to encourage re-use of profiles and extensions by providing a centralised search location for all of them. The registry supports free-text search as well as the following parameters:

  • resourceType: search by resource type, (e.g. resourceType:Patient)
  • jurisdiction: search by jurisdiction code in a conformance resource (e.g. jurisdiction:US)

2.2 Collaboration platform

2.2.1 Create a project

Sharing your work on Simplifier always starts by creating a project. All work that is published on Simplifier (profiles, resources, implementation guides etc.) is organized into projects. Projects are a way to group your similar work together by keeping all related material in the together. Start creating projects on Simplifier to collaborate with team members and share your work with the community. By default each project is public as we highly encourage transparency, but you do have the option to make your project private. You can create both DSTU2 and STU3 projects. The scope of your project relates to whether it is a test project or a project at an organization, regional, national or international level.

Each project starts with an Introduction. To increase the understanding and clarity about what you are working on within you project, we highly recommend adding a short descriptive text. This makes it clear to other users what your scope is, what is contained in the project, and how it will be used. Now you're ready to start uploading your resources. There are different ways to do so, which will be explained later.

To learn more about Simplifier projects, please go to our Simplifier documentation page or watch one of our feature movies on this topic:

2.2.2 Simplifier-Forge integration

Connect your resources to any online FHIR tool. Forge, our FHIR profile editor, is tightly integrated with Simplifier.net. Public FHIR endpoints for resources enable FHIR integration with other systems. Forge provides the following options for importing and exporting resources.

Option Description
Import from Simplifier.net Import resources from one of your Simplifier projects and edit them in Forge.
Import from FHIR server Import resources published on another FHIR server that you have access to and edit them in Forge.
Publish to Simplifier.net Publish resources that you created or edited in Forge to one of your Simplifier projects.
Publish to FHIR server Publish resources that you created or edited in Forge to another FHIR server that you have access to.

To learn more about the Simplifier-Forge integration please watch our feature movie on this topic.

2.2.3 Publish to registry

There are a couple of options that you can choose to publish your resources to your project:

  1. Link your project to your GitHub repository, so it automatically synchronizes with changes in the selected branch of your repository.
  2. The Simplifier-Forge integration mentioned above.
  3. Upload a local .json or .xml file containing a single resource or a bundle of resources. You can also upload a .zip file to upload multiple .json or .xml files at once
  4. Fetch one or more resources from another FHIR server by doing a simple GET or a FHIR search.
  5. Copy/Paste json or xml code. This option allows you to add your own json or xml code to add a single resource or a bundle of resources. If your code contains a bundle, you can either upload it as a single resource or select the split bundle check box to upload all entries as separate resources.

If you add a batch of resources (via a bundle, a zip, or a search query), you can choose how to publish the resources that are part of the batch. The following options are available:

  • Do not publish these resources automatically
  • Publish these resources when their status is “Active” (examples will always be published)
  • Publish all of them

When all your work is finished you can also use Simplifier to create your Implementation Guide. Learn more about implementation guides and publishing your work in our module called Publishing and validating your work.

2.2.4 Issue tracking

With the issue tracker you can create new issues, comment on them and close them when they are resolved. In the project settings you can either choose to make the issue tracker available for other Simplifier users or your project members only, depending on whether you want to obtain feedback from others in the FHIR community.

2.3 Versioning

Simplifier keeps track of the history of your project and resources. In the Log tab of your project you can find the activity log. In the History tab of your resource you can find the version history of your resource. You can compare versions and roll back to an older version.

Simplifier allows you to create and publish packages based on your project resources. Visit the Packages tab and click Create to create a new package or create a new version of an existing package. The Packages tab shows an overview of all released packages of a project. Click on a package to view install instructions (using either Torinox or NPM), release notes, dependencies, history and content. Click the Download button to download the package.

To add dependencies to your project, visit the Dependencies tab. Click Edit to edit the JSON code for maintaining your dependencies or click Manage to browse Simplifier for existing packages and add them to your project.

2.4 Verification and validation

Use the Validate button on the top right corner of your resource page to validate it against the .NET API. You may either validate it against your own profile or the core specification. Go to https://simplifier.net/snippet to quickly share a piece of XML or JSON code with others. You may also use this tool or the stand-alone validate tool to directly validate your code. Here below is an example of a Validation Result using the Validate button on Simplifier.

To learn more about the Snippet tool, please watch the Snippet feature movie.

3. Learn more?

This was just a basic introduction to Simplifier. Other features of Simplifier that we did not yet discuss are Implementation Guide editing and publication, custom workflows support and issue management, user management, private projects, GitHub integration and many more. Follow the module Publishing and validating your work if you are interested in editing Implementation Guides. If you want to learn more about Simplifier, please visit our Simplifier documentation page or contact us. More information on features and account plans can be found on our features and pricing pages.


Real-life examples


Here below are examples of Simplifier projects of our customers.

Nictiz

Nictiz is the centre of expertise for standardization and eHealth in The Netherlands. HL7 Netherlands core and MedMij profiles are published on Simplifier. MedMij is a national project that aims to give Dutch citizens integrated access to all their health data in one personal health environment. FHIR is used as a standard to exchange health information between the involved parties. The profiles are based on standardized clinical building blocks called Health and Care Information Models (HCIM). The example below shows the public national STU3 Simplifier project that Nictiz set up to publish their resources.

 

On the Introduction page of the project there's a clear description of the project. The Introduction page also shows the number of resources in the project by resource type, a list of the most visited resources, the canonical base URLs used in the project and an overview of the possible statuses. From this page you can quickly filter the project's resources on resource type or directly visit one of the most popular resources. The statuses in this project are customized (and mapped to a FHIR status). This is a paid feature of Simplifier.

The Nictiz project is linked to the master branch of the Nictiz STU3 GitHub repository, so all changes in this project are automatically synchronized and published on Simplifier. The issue tracker of the project is not visible as community issues are not enabled.

The Profiling Academy

To share our Profiling Academy we also set up a public Simplifier project with an International scope. Below you see the Introduction page of the project on Simplifier.

 

In the Introduction we provided a description of the goal of the project and a more detailed description of the Profiling Academy itself. At the left you see that this project contains the following type of resources: images, implementation guides, stylesheets and texts. These resources are all part of the Profiling Academy as it was built using the IG-editor.

We did not link this project to Github as all of our team members edit the IG directly in Simplifier using the IG-editer. Note that the Issues tab is visible in this project as we did enable community issues. So if you have any feedback for us, please don't hesitate to add your comments in the Issue Tracker!


Exercise


In this exercise you will set up a Simplifier project and publish profile(s) to your project from Forge. You will learn how you can optimally benefit from using Simplifier by using the Issue Tracker, version history, validation and GitHub integration. You will also learn how to browse the HL7 FHIR registry. Start by reading the case description. Here below are a couple of links that you may find useful during this exercise:

    Case description
    Hospital X has started a project to digitally exchange data with care providers in the region. The hospital believes FHIR is the future and has decided to start a pilot to get familiar with FHIR. In this pilot a group of general practitioners will send a set of patient data to the hospital conform the FHIR standard. The hospital wants to start with general administrative patient data and their general practioner. Next steps will be adding data on medication, lab results and medical as well as family history.

Steps to follow

1. Set up a project

  1. Go to your user portal in Simplifier.
  2. Create a new project and provide a meaningful title and description.
  3. The default selection for FHIR is version STU3. Keep this unchanged.
  4. For the scope of your project, choose Test. Note that would this have been a real-life project Regional would have been a better option.
  5. Start by adding an Introduction to your project. You can use the text in the Case description as a starting point.
  6. Go to the Members tab. Add your team members by their e-mail address and select their desired role (reader, writer or admin).

2. Publish profile(s) from Forge

In this exercise you can use (one of) the profiles that you created in other modules (e.g. the Patient profile you created in the Start Profiling module or the FamilyMemberHistory profile you created in the Terminology module). You can also build a new profile yourself or use an existing one from another source.

  1. Open your profile(s) in Forge.
  2. Publish your profile(s) to Simplifier by going to the File menu and selecting the option Publish to Simplifier.
  3. Provide your credentials and select your project.
  4. Click on Save.

3. Browsing Simplifier and the FHIR registry

  1. Visit the Simplifier homepage.
  2. Search for the Dutch national project describing standards for the use of HL7 FHIR at the Dutch national level.
  3. Within the project search for an example of an instance of a Patient.
  4. Go to the FHIR registry.
  5. Search for the patient you found in step 3. Hint: use resourceType:Patient to limit search results to resources of type Patient only.

4. Using the Issue Tracker (only available in Team account or higher)

  1. Open your project in Simplifier and go to its properties.
  2. Enable issues. Note that by default issues are only visible to your team members.
  3. Set Issues Visibility to Public to make them visible to other users of Simplifier. Note that they need to be logged in to see them. They can now comment on your issues, but they can't add new issues.
  4. Set Community Issues to public to allow other users of Simplifier to add new issues. Note that they can edit or close their own issues, but they can only comment on issues of others. As an admin member of the project you can edit or close all issues.
  5. Open one of your profiles.
  6. Go to the Issues tab and create a New issue, for example: "This resource needs review".
  7. Reopen the issue, add a comment (for example "Review completed") and close the issue.
  8. Note that you can also add issues at the Project level.

5. Version history

  1. Open your project in Simplifier and open one of your profiles.
  2. Update the resource by clicking the Update button and selecting Edit: Update by editing the last version. Add some additional text in the narrative.
  3. Go to the History tab and compare the two versions of the profile that you now have. Try out different options for comparison, such as Formatted XML or Structure.
  4. Restore your resource to its original state.

6. Validation

  1. Open your project in Simplifier and open one of your profiles.
  2. Click on the Validate button.
  3. Copy the XML code of your resource to your clipboard by clicking on the Download button and selecting Copy to clipboard as XML.
  4. Open the Snippet tool by clicking on the Snippet button at the top right of the page.
  5. Paste the XML code and add some random mistake in it.
  6. Create your Snippet and validate your code again using the Snippet tool.

7. GitHub integration (only available in Team account or higher)

  1. Create a GitHub repository. You can register for a free account if you do not have one yet.
  2. Add one or more files to your repository. The easiest way is to clone the registry to a location on your desktop.
  3. Open your project in Simplifier.
  4. Link your project to GitHub by clicking the GitHub button and selecting Link to GitHub Repository.
  5. First you need to provide your GitHub credentials if you're not signed in yet.
  6. Select the desired Delete strategy. By default resources that are deleted in your GitHub repository will also be deleted in your Simplifier project, but you can also choose to keep them in Simplifier.
  7. Select the desired Import fail strategy. By default resource that can't be imported are skipped, but you can also choose to abort the entire synchronization.
  8. Select the repository you want to link to your Simplifier project from the drop down list.
  9. Select the branch of the repository that you want to synchronize your Simplifier project to. Usually this will be the master branch.

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.