Skip to content

SUSHI 1.2.0

Compare
Choose a tag to compare
@cmoesel cmoesel released this 08 Feb 22:18
· 393 commits to master since this release
bbf16ee

SUSHI 1.2.0 includes the following new features, enhancements, and bug fixes:

  • Update Quantity syntax to support non-UCUM units (details below) (#730)
  • Add support for the new R5 integer64 datatype (details below) (#728)
  • Do not repeat mappings/invariants from the parent definition in the differential (#731)
  • Do not allow slice errors to halt processing of other slices (#721)
  • Treat redeclared extensions (via contains rules) as warnings rather than errors (#721)
  • Treat names that don't match [A-Z]([A-Za-z0-9_]){0,254} as warnings instead of errors (#741)
  • Support additional name variants (e.g., all numeric, matching flag names, etc.) (#741)
  • Avoid use of regular expression features not supported in Safari (#749)
  • Change exit code semantics: exit code now indicates number of errors encountered (0 continues to mean success) (#721)
  • Fix "Cannot convert undefined..." error when applying extensions to arrays of primitives (#733)
  • Fix handling of counting aggregrate cardinalities w/ slices and re-slices (#742)
  • Fix duplicate values in meta.profile for exported Instances (#737)
  • Fix SUSHI documentation link in sushi --init output (#738)
  • New and improved puns (#732, #734, #747)

Update to Quantity Syntax

FHIR Shorthand STU1 supports an abbreviated Quantity syntax to indicate a value and UCUM unit:

* valueQuantity = 155.0 '[lb_av]'

SUSHI 1.1.0 updated the syntax to allow the human-readable unit to also be specified:

* valueQuantity = 155.0 '[lb_av]' "lb"

SUSHI 1.2.0 now allows for non-UCUM units by specifying the unit using the standard FSH code syntax:

* valueQuantity = 9623 http://potrzebie.org/mad/measures#blintz "blintz"

As is the case for other FSH codes, you can also use aliases:

Alias: POTRZEBIE = http://potrzebie.org/mad/measures
// ...
* valueQuantity = 9623 POTRZEBIE#blintz "blintz"

New integer64 Datatype

The integer64 datatype was introduced in FHIR 4.2.0. It supports a larger range of values than integer and is encoded in the JSON serialization as a string. To use integer64 in a FSH project, you must identify a FHIR version that supports it (e.g., 4.2.0, 4.4.0, 4.5.0, current). Otherwise it works as you would expect. For example, narrowing a type to integer64:

* value[x] only integer64

and assigning an integer64 value:

* extension[my-extension].valueInteger64 = 1234567890

Full Documentation

For additional documentation, refer to FSH School's SUSHI documentation, the FSH STU1 specification, and/or the FSH current build 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 stable 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