SUSHI 1.2.0
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 exportedInstance
s (#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