npm fsh-sushi 0.12.0
SUSHI 0.12.0

latest releases: 3.18.0, 3.17.0, 3.16.5...
5 years ago

SUSHI 0.12.0 aligns with the FHIR Shorthand 0.12.0 (May 2020 ballot) specification. All FHIR Shorthand features specified in the balloted language reference are supported in this release of SUSHI.

SUSHI 0.12.0 contains the following enhancements and bug fixes:

  • Introduces streamlined usage for IG Publisher workflows (details below)
  • Allows multiline strings for concept definitions (#319)
  • Supports using an alias as the value in fixed value rules (#87)
  • Sets minimum cardinality to 1 for fixed values that are discriminator paths (#301)
  • Checks for supported FHIR version and minimally verifies that FHIR cache is properly loaded
  • Fixes comment insertion bug that caused XML parsing issues in IG Publisher (#338)
  • Fixes handling of nested required fixed values when generating instances (#300)
  • Fixes parser support for non-breaking spaces (#315)
  • Adds more random punny expressions for the CLI summary report

Streamlined Usage for IG Publisher Workflows

The HL7 FHIR IG Publisher has recently been updated to support invoking SUSHI as part of the IG Publisher build. In this workflow, all FSH source (e.g., the "FSH Tank") must be contained in a subfolder called fsh. When the IG publisher detects the fsh subfolder, it will automatically run SUSHI on it and direct the SUSHI output to the root folder (the folder above fsh). After SUSHI completes successfully, the IG Publisher will run the normal publishing process on the outputted files in the root folder. For more information on this workflow, see New! IG Publisher Integration (Autobuild Configuration).

This version of SUSHI detects repositories that are set up for this workflow and adjusts the SUSHI input/output parameters accordingly. Starting with this version of sushi:

  • If you type sushi with no input directory specified, it will use the working directory as the input directory.
  • If the input directory is named fsh, or contains a subfolder named fsh, SUSHI will
    • use the fsh directory as input,
    • default output to the parent folder of fsh,
    • and skip generation of publisher scripts (since it assumes you are running the publisher already).

This means:

  • Running sushi (with no arguments) in a folder containing a fsh subfolder is equivalent to running sushi ./fsh -o .. This mimics how the IG Publisher invokes SUSHI.
  • Running sushi (with no arguments) in a folder named fsh is equivalent to running sushi . -o ...
  • Running sushi (with no arguments) in any other folder is equivalent to running sushi . or sushi . -o ./build.

Full Documentation

For additional documentation, refer to the FSH language reference.

Install or Update

To install or update to the latest version, run the following command:

$ npm install -g fsh-sushi

Don't miss a new fsh-sushi release

NewReleases is sending notifications on new releases.