This tutorial will provide an overview of the workflow/process used to design/develop a FHIR implementation guide using Trifolia.

The basic steps are as follows, with details below:


  1. FHIR and IG Publisher Overview
  2. Create an implementation guide.
  3. Create profiles for the implementation guide.
  4. Upload "FHIR resource instances" to the implementation guide.
  5. Export the implementation guide as a FHIR build package.


FHIR and IG Publisher Overview

See the FHIR current build for more information.


FHIR (Fast Health Interoperability Resources) is designed to enable information exchange to support the provision of healthcare in a wide variety of settings. The specification builds on and adapts modern, widely used RESTful practices to enable the provision of integrated healthcare across a wide range of teams and organizations.

  • Implementation guides are a collection of FHIR resources(profiles, value sets, examples and human readable documentation) tied together by the Implementation Guide resource
  • Acronym FHIR = F – Fast (to design & to implement) H – Health, I – Interoperable and R – Resources(building blocks)
  • Resources are discrete chunks of clinical information, can be assembled into larger constructs and resources are operated on via FHIR’s REST APIs
  • FHIR documents are a collection of resources bound together, and are transferred between systems as a Bundle resource
  • The root of a FHIR document is a Composition resource that can be signed, authenticated, etc, and has the same basic obligations as a CDA document.


IG Publisher

See the IG Publisher Documentation for more information.

  • The FHIR team provides an IG Publishing tool that takes the implementation guide resources and converts them to a set of 3 different types of files (generated resources in xml, json, ttl formats, a set of fragments ready to include in generated html files and Several different zip files: which are used by implementers for various purposes).
  • The outcome of the publishing process is a set of HTML files that represent the implementation guide. These files can be posted to a web server.
  • Alternatively, you may use the IG publisher to validate and render a set of Profiles, value sets etc without building a formal IG

Create an implementation guide

See Authoring > Implementation Guides for details.


  • The "type" of implementation guide is set to a FHIR implementation guide type.
  • Create a base identifier for the implementation guide that is a URL (ex: https://trifolia.lantanagroup.com/my_base_id"). This base url will be used by the FHIR IG publisher, and requires that all profiles within the implementation guide have a matching base identifier.
  • Provide a description for the implementation guide. This description (if specified in the Implementation Guide Editor) is on the front page of the implementation guide after the IG publisher has been run on the artifacts produced by Trifolia.
  • Include additional guidance that will not be inferred by the profiles of the implementation guide in the "Volume 1" tab, by adding sections to "Volume 1". Each of the sections defined in the implementation guide's "Volume 1" tab will be displayed on the "Overview" tab of the implementation guide's front-page.


Create FHIR profiles for the implementation guide

See Authoring > Templates/Profiles > Editor for details.


  • Each FHIR profile must have the same base url as the implementation guide in the "long id" field.  The identifier for FHIR profiles is defaulted to a combination of the bookmark/name of the FHIR profile and the associated implementation guide's base url.
  • Each profile must have a "short id" that matches the outer-most leaf level of the long id (everything to the right of the last / in the long id).
  • Define constraints for each profile in the "Constraints" tab of the editor, modifying the cardinality, value set bindings, etc. as appropriate.


Defining and using extensions

In the event that an extension is necessary, you must produce a profile that describes how the extension is intended to be used, and reference that extension as a "Contained template/profile" on the "extension" element of another profile.


Upload "FHIR resource instances" to the implementation guide

See Authoring > ImplementationGuides > Files for details.


In certain cases, (such as "Conformance", "SearchParameter" and "Questionnaire") instances of resources need to be uploaded to Trifolia, then associated with the implementation guide rather than defining profiles. Add these "FHIR resource instances" to the implementation guide's files (as type "FHIR Resource Instance") so that they are included in the FHIR build package when exported from Trifolia.


Export the implementation guide as a FHIR build package

See Exporting > XML/JSON for details.


Export the implementation guide as a FHIR build package. The zip package that will be run against the FHIR ig publisher.


Run the FHIR IG publisher by following these steps:

  1. Extract the FHIR IG Package to a directory on your machine.
  2. Download the FHIR IG Publisher jar file from the FHIR's Downloads page or click here to directly download the .jar file. Store the .jar file in the same directory that the FHIR IG Package was extracted to.
  3. Execute the "RunIGPublisher.bat" batch script.
  4. If using the GUI interface, select the XXXX.json file exported from the ZIP.
  5. Press "execute".


Note: The FHIR IG publisher is new functionality, being actively developed. If the latest version of the FHIR IG publisher produces errors, you should seek guidance from http://chat.fhir.org in the #Implementers channel.