FHIR Shorthand
1.0.0 - CI Build

FHIR Shorthand, published by HL7 International - FHIR Infrastructure Group. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/fhir-shorthand/ and changes regularly. See the Directory of published versions

FHIR Shorthand

FHIR Shorthand (FSH) is a domain-specific language for defining FHIR artifacts involved in creation of FHIR Implementation Guides (IG). The goal of FSH is to allow profiler creators to more directly express their intent with fewer concerns about underlying FHIR mechanics. FSH can be created and updated using any text editor, and because it is text, it enables distributed, team-based development using source code control tools such as GitHub.

The FHIR Shorthand (FSH) implementation guide includes the following information:

  1. FHIR Shorthand Overview – Introduction to FSH and SUSHI (the reference implementation of a FSH compiler) (informative content).
  2. FHIR Shorthand Language Reference – The syntax and usage of the FHIR Shorthand language (formal content).
  3. A Quick Reference Sheet under the Downloads menu.

The following material, essential to applying FHIR Shorthand but not part of the language specification, is found on FSHSchool.org:

  1. SUSHI User Guide – A guide to producing an IG from FSH files using SUSHI compiler and the HL7 IG Publishing tool.
  2. FHIR Shorthand Tutorials – A step-by-step hands-on introduction to producing an Implementation Guide (IG) with FHIR Shorthand and SUSHI.

Notational Conventions

This IG uses the following conventions:

Style Explanation Example
Code Code fragments, such as commands, FSH statements, and FSH syntax expressions * status = #open
{curly braces} An item to be substituted in a syntax expression {display string}
<datatype> An element or path to an element with the given data type, to be substituted in the syntax expression <CodeableConcept>
italics An optional item in a syntax expression "{string}"
ellipsis (…) Indicates a pattern that can be repeated {flag1} {flag2} {flag3} ...
bold A directory path or file name example-1.fsh

Relationships to Other Standards, Tools, and Guidelines

There are already several existing methods for IG creation. Each of these methods have certain advantages as well as drawbacks:

  1. Hand-editing FHIR conformance artifacts such as StructureDefinition and ValueSet resources is unwieldy, but authors get full control over every aspect of the resulting FHIR profiles and definitions.
  2. The Excel spreadsheet method has existed since before FHIR 1.0 and has been used to produce sophisticated IGs such as US Core. A downside is that version management is difficult; either the files are saved in binary form (.xslx) or as XML files, with the content mixed with formatting directives.
  3. Simplifier/Forge and Trifolia-on-FHIR provide graphical and form-based interfaces that help guide users through common profiling tasks. The potential downside is the need to navigate multiple screens visit different items and make cross-cutting changes.

As the only language designed for profiling and IG creation, FSH is unique among these methods. It provides a fast, scalable, and user-friendly path to IG creation and maintenance. Because it is text-based, FSH brings a degree of editing agility not found in graphical tools (such as cutting and pasting, global search and replace, spell checking, etc.) Because it is a HL7 FHIR standard, tooling can be built around FSH with confidence in its stability and continuity. The most notable FSH tool currently is SUSHI, a reference implementation for transforming FSH into FHIR artifacts that are directly integrated with the HL7 FHIR Implementation Guide Publishing tool. SUSHI has a number of features to go seamlessly from FSH to IG.

Ballot Status

This Implementation Guide has been balloted as Standard for Trial Use (STU) with the intention to go normative in a subsequent ballot cycle.

Authors and Contributors

Role Name Organization Contact
Author Mark A. Kramer MITRE Corporation mkramer@mitre.org
Author Chris Moesel MITRE Corporation cmoesel@mitre.org
Contributor Julia K. Afeltra MITRE Corporation jafeltra@mitre.org
Contributor Nick Freiter MITRE Corporation nfreiter@mitre.org
Contributor Mint N. Thompson MITRE Corporation mathompson@mitre.org
FHIR Infrastructure Co-chair Rick Geimer Lantana Consulting Group rick.geimer@lantanagroup.com
FHIR Infrastructure Co-chair Josh Mandel SMART Health IT jmandel@gmail.com
FHIR Infrastructure Co-chair Lloyd McKenzie HL7 Canada/Gevity lloyd@lmckenzie.com
FHIR Infrastructure Co-chair Yunwei Wang MITRE Corporation yunweiw@mitre.org

The authors gratefully acknowledge the many contributions from numerous users and facilitators who helped shape, mature, debug, and advance the FSH specification, including:

Reece Adamson, Kurt Allen, Carl Anderson, Keith Boone, Giorgio Cangioli, Gino Canessa, Etienne Cantineau, Sam Citron, Sheila Connelly, Carmela Couderc, Nathan Davis, Noemi Deppenwiese, Mark Discenza, Jean Duteau, Richard Esmond, Michael Faughn, Sarah Gaunt, Nick George, Andy Gregorowicz, Grahame Grieve, John Grimes, Eric Haas, Torben Hagensen, David Hay, Brian Kaney, Daniel Karlsson, Richard Kavanagh, Ewout Kramer, Saul Kravitz, Halina Labikova, Patrick Langford, Michael Lawley, Dylan Mahalingam, Rute Martins Baptista, Bob Milius, John Moehrke, Muthu Muthuraj, Craig Newman, Joe Paquette, Tom Parker-Shemilt, Vassil Peytchev, Caroline Potteiger, David Pyke, Andre Quina, Joshua Reynolds, Rob Reynolds, Bryn Rhodes, Shovan Roy, Michael Sauer, John Silva, Elliot Silver, Igor Sirkovich, Bill Sorensen, Lee Surprenant, Jose Costa Teixeira, May Terry, Pétur Valdimarsson, Bas van den Heuvel, Bence Vass, Jens Villadsen, Ward Weistra, Rien Wertheim, and David Winters.

The authors apologize if they have omitted any contributor from this list.

Continue to Overview ->