Skip to content

FHIR Implementation Guide and Package

How to create a FHIR IG

Workflow for building a FHIR Spec

image

FHIR Ecosystem

image

FHIR EcoSys Details - Firely suite of products

image

Useful guides

Create a template from Simplifier.net

What the relationship between FHIR IG and FHIR Package?

When we start a FHIR Implementation, we need to create a FHIR Package (E.G., via Simplifier.net). In our package We can abusolutely define our structure via FHIR resources for our research purpose, and we also can re-define the ValueSets, the CodeSystems and etc. what's more we can add extensions in each FHIR resource, for example, we can add ethnicity and nzCitizen in FHIR Patient resource (version R4), and we can rename it to myPatient resource in our package.

After we built our own fhir package we can register it to HL7 FHIR PACKAGE REGISTRY, then we can use it in a FHIR server (if it support third party registry packages). It just like we create a JavaScript or Python package, then we publish it on NPM or PYPI, and we use it in our project.

However, there is an issue, you maybe noticed. Where the documentations of the package? For example, when we create a python package, we also need to write a user documentation for it, this is because when we publish it for others to use, we need to provide a clear guides/examples for other users to use our package. So, the FHIR Implementation Guide comes out, we can write a clear documentation for our FHIR package based on FHIR offical principle.

We can find a template of FHIR Implemetation Guide on Simple IG Template GitHub, IG Template FHIR GitHub, or Simplifier.net etc. The easiest way is using Simplifier.net, it provides functions for us to build the package and FHIR IG via fhirly template. And the Simplifier.net also provide the software - Forge for us to create our resources, we can load our resources from Forge to Simplifier.net website to create our FHIR IG and package.

Why Simplifier and Forge?

  • Make FHIR development easier, so everyone in a team can help.

  • Provide governance across multiple FHIR projects.

  • Simplifier works with all FHIR tools, bringing governance to all.

image

How to using FHIR registry Package in FHIR server (Hapi FHIR Server)

  • Clone hapi-fhir-jpaserver-starter

  • Under src/main/reources/application.yaml

    • Line 80 implementationguides
    • We can edit and use third party registry here.
    yaml
        implementationguides:
        ##    example from registry (packages.fhir.org)
        swiss:
            name: swiss.mednet.fhir
            version: 0.8.0
            reloadExisting : false
            # example not from registry
            ips_1_0_0:
                packageUrl: https://build.fhir.org/ig/HL7/fhir-ips/package.tgz
                name: hl7.fhir.uv.ips
                version: 1.0.0
            supported_resource_types:
            - Patient
            - Observation
        implementationguides:
        ##    example from registry (packages.fhir.org)
        swiss:
            name: swiss.mednet.fhir
            version: 0.8.0
            reloadExisting : false
            # example not from registry
            ips_1_0_0:
                packageUrl: https://build.fhir.org/ig/HL7/fhir-ips/package.tgz
                name: hl7.fhir.uv.ips
                version: 1.0.0
            supported_resource_types:
            - Patient
            - Observation