🔨 In this tutorial we assume you have created a nice set or FHIR resources (for example with Forge by Firely) and are ready to document and publish this specification!

Don't worry if you have any FHIR resources yet, below you will find a set to reuse if you want to.

General help information:

#1 Creating the FHIR project 📁

First we need a FHIR project to create our Implementation Guide in and create our package from:

  1. If you don't yet have a Simplifier.net account, create one for free.

  2. Log in to Simplifier.net and go to your Portal: click on your Avatar on the top-right and go to Portal.

  3. Create a new Simplifier.net project or reuse an existing project.
    Make sure that you set FHIR Version to R4 and Scope to Test.

#2 Configure the project 📐

Now we will configure the project and make it pretty:

  1. Go to the Dependencies tab and set the packages on which your project depends.

    1. Click Manage and search for the necessary packages and click Add.

    2. For this project we will need at least package uk.core.r4, version 1.3.0 and package hl7.fhir.uv.ips, version 1.0.0, which contain ValueSets and Extensions we will be reusing.

    3. Once the list is complete, click Save.

  2. Optional: Now let's make your FHIR project a bit prettier:

    1. On the Introduction tab of your project, click on the lower-right main panel, to edit the description of your project. You can use Markdown here, to make this as complete as possible. You can even embed images here, we'll learn later how.

    2. In the top-right menu bar click on Manage and then Canonical Base URLs. Here you can clarify whith what domain your canonical URLs always start, for example http://<yourname>.<yourcountryextension>/fhir/.

    3. Finally, via Manage you can also upload a nice image as the Avatar for your project.

#3 Uploading FHIR resources to the project 📤

We recommend starting with a basis for this tutorial, by downloading the project where the Implementation Guide you are currently looking at and importing it to your project:

  1. Download this project by selecting Download on the top-right of the project and clicking Zip project.

  2. Go to previously created project, select Upload > Upload file and upload the downloaded Zip file.

  3. Now let's get ready to start editing the Implementation Guide:

    1. Find the ImplementationGuide resource on the Resources page of your project and click to go to its page.

    2. Select Update > Edit: Create IG and start updating in IG Editor. Your Implementation Guide will now be visible on the Guides tab of your project and is ready for editing!

Start editing an existing Implementation Guide resource in Simplifier.net

You can now choose to replace any of the resources in your project with resources you have worked on over the last days.

  • The resources created in Forge can be directly imported to your Simplifier.net project, even directly from within Forge.

  • If you have previously created an Implementation Guide with the IG Publisher you can find the resources in the /input folder, under folders like examples, extensions, models, profiles, resources and vocabulary.

  • If you have created FHIR resources with FHIR Shorthand, you can upload the resources that have been created by Sushi. In your IG Publisher folders you will find these in the fsh-generated folder.

  • Any Markdown you have created in the input\pagecontent folder you can reuse by copying it to a page in your new Simplifier.net Implementation Guide.

You are also free to start your project from scratch with only your resources. Then you can create a new, empty Implementation Guide from the Guides tab in your project.

#4 Complete the Implementation Guide 📃

Help information voor deze stap:

  • In the Implementation Guide Editor you can find a Help menu on the bottom left.
  • Every page of your IG is a text resource in your project. You can look at current pages how they were built up, by downloading them or copying their contents.
  • Generic information on how to format text with Markdown.

Let's make the Implementation Guide more complete by adding a few more pages and content on them:

  1. On the Guides tab click to Edit the Implementation Guide

  2. First, let's work on the settings, by clicking the little gear icon ⚙

    1. Give the IG an appropriate Title, Description and Version

    2. Select the style you prefer for your IG

  3. Now, let's work on the content. When you Browse your Implementation Guide you can see the section on Immunization is already quite complete. The part on Adverse Event Reporting only has a start. Minumum requirements:

    1. On the page for the AdverseEvent profile, add an interactive rendering of the snapshot of the profile.

    2. Add a new page for the Example instance for the Adverse Event profile and embed the XML code of it.

    3. Add at one embedded image in a page of your choice.

#5 Publishing the FHIR Package 🎁

Now we are going to release a stable versioned version of our specification to the world:

  1. Go to the Packages tab of your project and Create a new package. Important:

    1. Choose a package name in your own name space. For example: <yourname>.<yourcountrycode>.publishingtutorial

    2. Use a version number ending in -something, for example 0.0.1-test. In this way you will not confuse anyone with a test package when they search for real FHIR work.

#6 Update scope of the Implementation Guide to the package ✅

Finally, we can point our Implementation Guide to our package, instead of our development versions of the resources in the project:

  1. In the settings of your Implementation Guide you can now update the Scope, to point to the resources in your just created package. In this way the documentation won't change while you are preparing for a next release of the specification!

Congratulations! 🎉 You have now created a FHIR development project, created documenation around it and published a stable version of both so it can be used by the world.

Want to know more? Reach out to Firely to learn more about what we can do to help you bring FHIR to life.