SUSHI 0.14.0 contains the following enhancements and bug fixes:
- Deprecates usage of
,when listing items (details below, #483) - Deprecates usage of
|when listing choices of items (details below, #498) - Adds
insertrules (details below, #279) - Adds support for specifying more complex dependencies in config.yaml (details below, #497)
- Adds optional
includekeyword for Value Set rules (#507) - Deprecates usage of the optional
unitskeyword (#505) - Adds support for inline resources in the
containedarray of a StructureDefinition (#495) - Adds support for escape characters in strings (#392)
- Fixes bug allowing choice types to be constrained to specializations of specific choices (#447)
- Fixes bug which causes extra extensions to appear on Instances (#502)
- Fixes bug with checking the type of a
Reference(#504) - Fixes bug with references to inline resources (#508)
- Aligns
_genonce,_gencontinuousand_updatePublisherscripts with those in the sample-ig
Deprecates usage of , when listing items
The , character was used to separate lists of items in SUSHI. For example, the , could be used to set flags on multiple items:
* telecom, gender MS
This usage is now deprecated, and any instance of , should be replaced with and:
* telecom and gender MS
To allow for a smooth transition, the , is still supported in this release, but SUSHI will issue a warning. In a later release, support for , will be removed altogether.
Deprecates usage of | when listing choices of items
The | character was used to separate a choice list inside a Reference. For example, the | could be used to constrain a Reference choice:
* generalPractitioner only Reference(Organization | Practitioner)
This usage is now deprecated, and any instance of | should be replaced with or:
* generalPractitioner only Reference(Organization or Practitioner)
To allow for a smooth transition, the | is still supported in this release, but SUSHI will issue a warning. In a later release, support for | will be removed altogether.
Adds insert rules
The Mixins keyword was used to add RuleSets to an entity. This usage is now deprecated, and SUSHI will issue a warning when Mixins is encountered. In a later release, support for Mixins will be removed altogether. Instead of using Mixins, users can now add RuleSets to any entity for which a list of rules is allowed with the insert keyword. The insert keyword is used to add a snippet of rules anywhere within the list of rules being defined for the relevant entity. This differs from the Mixins keyword, which always added the rules from a RuleSet at the beginning of the list of rules. As an example:
RuleSet: rs1
* valueString = "hello"
Instance: ob1
InstanceOf: Observation
* status = #final
* insert rs1
* issued = "2015-02-07T13:28:17.239+02:00"
is equivalent to:
Instance: ob1
InstanceOf: Observation
* status = #final
* valueString = "hello"
* issued = "2015-02-07T13:28:17.239+02:00"
Adds support for specifying more complex dependencies in config.yaml
It is now possible to directly specify information about dependencies in the config.yaml file. For example, one can now specify the uri on a dependency:
dependencies:
de.basisprofil.r4:
uri: https://simplifier.net/guide/basisprofil-de-r4
version: 0.9.7
Some packages do not have a uri, so this is a useful feature in that context. Most packages do have a uri, so they can be specified using the simpler syntax:
dependencies:
hl7.fhir.us.core: 3.1.0
and SUSHI will infer the uri.
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