Skip to content

SUSHI 2.6.0

Compare
Choose a tag to compare
@jafeltra jafeltra released this 28 Jun 18:23
· 211 commits to master since this release
dde059b

SUSHI 2.6.0 includes the following enhancements and bug fixes:

  • Friendlier configuration properties (details below) (#1018, #1019)
  • Add support for extensions on Implementation Guide pages that are configured in sushi-config.yaml (details below) (#1094)
  • Allow SUSHI to run without any arguments (#1092)
  • Canonical keyword is insensitive to definition order (#1073)
  • Validate the values of complex types when assigning a value (#1108)
  • Avoid assigning duplicate values on sliced elements (#1008)
  • Fix incorrect error when constraining types on choice elements with semi-matching slice names (#1061)

Friendlier Configuration Properties

SUSHI now supports referring to resources by their name or id in the sushi-config.yaml file in various places. The resource name or id can be used directly in the following places:

  • global profile values
  • group resources
  • resources
  • resources' exampleCanonicals

For example, SUSHI use to require a configuration file to look like the following:

global:
  Patient: http://example.org/fhir/StructureDefinition/my-patient-profile
  Encounter: http://example.org/fhir/StructureDefinition/my-encounter-profile

resources:
  Patient/my-example-patient:
    name: My Example Patient
    description: An example Patient
    exampleBoolean: true

The following simpler and friendlier syntax is now supported and is equivalent to the configuration above:

global:
  Patient: MyPatientProfile
  Encounter: MyEncounterProfile

resources:
  my-example-patient:
    name: My Example Patient
    description: An example Patient
    exampleBoolean: true

For further examples, see #1018.

In addition, groups can now be defined without any resources. The following configuration format is now supported:

groups:
  GroupA:
    name: Group A
    description: My Group A
  GroupB:
    name: Group B
    description: My Group B

For more detailed examples of how to define groups, see #1019.

Extensions on Configured ImplementationGuide Pages

SUSHI supports configuring pages in the ImplementationGuide resource through the sushi-config.yaml file. Now, SUSHI supports adding extensions to the configured pages. The following configuration is now supported:

pages:
  index.md:
    title: Example Home
    extension:
      - url: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
        valueCode: trial-use

An extension array with the configured properties is added to the "Example Home" page entry in the ImplementationGuide.

Full Documentation

For additional documentation, refer to FSH School's SUSHI documentation and/or the FSH Specification.

Install or Update

To install or update to this release, run the following command:

$ npm install -g fsh-sushi

To revert to a previous release, run a command like the following:

$ npm install -g [email protected]

To check or confirm what version of SUSHI you have installed, you can run the following command:

$ sushi -v