Releases: FHIR/sushi
SUSHI 3.13.1
SUSHI 3.13.1 is a patch release that fixes issues in SUSHI 3.13.0's file system interaction that occurred for users using Node 18 versions prior to Node 18.20.0.
What's Changed
Install or Update
SUSHI 3.13.1 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.13.1, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.12.1, since 3.13.0 contained significant bugs in Node < 18.20.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.13.0...v3.13.1
SUSHI 3.13.0
SUSHI 3.13.0 integrates the brand new FHIR Package Loader (FPL) 2.0.0. While this SUSHI release does not introduce any significant new features related to FPL 2.0.0, it sets up SUSHI to more easily support future enhancements and fixes to dependency handling.
SUSHI 3.13.0 also includes several bug fixes and minor enhancements.
What's Changed
- Support fully defining resources using caret rules by @mint-thompson in #1530
- Allow assigning an inline instance of a primitive by @jafeltra in #1539
- Support "position" slicing discriminator by @mint-thompson in #1538
- Handle missing snapshot when checking
isModifierExtension
by @jafeltra in #1541 - Integrate FHIR Package Loader v2 by @cmoesel in #1543
- v3.13.0 by @cmoesel in #1545
Install or Update
SUSHI 3.13.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.13.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.12.1), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.12.1...v3.13.0
SUSHI 3.12.1
SUSHI 3.12.1 is a patch release that contains a fix for a bug related to using FHIR R6 ballot versions. R5 terminology and extension packages will be automatically loaded when building a FHIR R6 project. This is because R6 versions of these packages are not yet available.
What's Changed
- Update dependencies by @mint-thompson in #1532
- Load automatic dependencies for FHIR R6 versions by @mint-thompson in #1534
Install or Update
SUSHI 3.12.1 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.12.1, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.12.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.12.0...v3.12.1
SUSHI 3.12.0
SUSHI 3.12.0 contains several enhancements and bug fixes, the most notable of which is support for FHIR R6 ballot 2. To base an IG on FHIR R6 ballot 2, specify fhirVersion
as follows in your sushi-config.yaml
:
fhirVersion: 6.0.0-ballot2
What's Changed
Software Changes
- Allow 6.x versions of FHIR by @mint-thompson in #1517
- Allow ValueSet to reference contained inline CodeSystem by @mint-thompson in #1520
- Only return FshType id from rule value if the value is a string by @mint-thompson in #1524
- Improve handling of ValueSet with self-reference by @KaelynJefferson in #1503
- Fix FSH Finder URL for regression script by @cmoesel in #1523
Documentation Changes
- Replace MITRE in project statement "maintainers" section by @mint-thompson in #1507
- Link to Knowledge Sharing Sessions by @jafeltra in #1521
- Correct date in DEPENDENCY-NOTES.md by @cmoesel in #1506
Install or Update
SUSHI 3.12.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.12.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.11.1), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.11.1...v3.12.0
SUSHI 3.11.1
What's Changed
Software Changes
- Improve performance when processing predefined resources by @mint-thompson in #1500
- Fix caret rules for versioned codes in ValueSets by @sebg-mio42 in #1493
- Warn when reference values do not resolve and have incorrect format by @KaelynJefferson in #1468
- Minor code cleanup by @cmoesel in #1498
- Update dependencies by @mint-thompson in #1473, @cmoesel in #1496, and @cmoesel in #1502
Documentation Changes
- Add security policy by @mint-thompson in #1471
- Add contribution policy by @jafeltra in #1470
- Add best practices by @jafeltra in #1474
- Add FHIR Foundation project statement to README by @KaelynJefferson in #1472
New Contributors
- @sebg-mio42 made their first contribution in #1493
Install or Update
SUSHI 3.11.1 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.11.1, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.10.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.11.0...v3.11.1
SUSHI 3.11.0
SUSHI 3.11.0 contains the following enhancements and bug fixes:
What's Changed
- Add new
snapshot
option to FshToFhir API by @joepaquette in #1465 - Remove releaseLabel coded options from
sushi-config.yaml
created bysushi init
by @jafeltra in #1462 - Warn when
sushi-config.yaml
does not include a menu and there is no providedmenu.xml
by @KaelynJefferson in #1464 - Set a default for Logical Model and Resource root elements to prevent empty/missing definition by @KaelynJefferson in #1466
New Contributors
- @KaelynJefferson made their first contribution in #1464
Install or Update
SUSHI 3.11.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.11.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.10.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.10.0...v3.11.0
SUSHI 3.10.0
SUSHI 3.10.0 contains the following enhancements and bug fixes:
What's Changed
- New options for sushi init command by @jafeltra in #1459
- Override sushi-config options from command line by @LodewijkSioen in #1442
- Set version based on sushi-config.yaml in FSHOnly projects by @jafeltra in #1456
- Prevent logging an error when Parent doesn't have a mapping array by @jafeltra in #1455
New options for sushi init command
The sushi init
command now allows users to specify the project name via a command line argument and other project metadata via command line options. In addition, there are flags to automatically choose default values and to automatically confirm initialization of the project folder.
For example, to start the initialization dialog for a project named MyBreakfastIG, run the following command:
$ sushi init MyBreakfastIG
Or to create a test IG called MyTestIG with status unknown and version 0.0.1, accepting all other default metadata values and immediately creating the project folder, run this command:
$ sushi init -c status:unknown -c version:0.0.1 -d -a MyTestIG
This feature is most helpful for people who create projects often (either for testing or as part of a script). For full usage information, run sushi help init
or sushi init --help
:
$ sushi help init
Usage: sushi init [options] [name]
initialize a SUSHI project
Arguments:
name project name
Options:
-c, --config <config> configure a specific property for the project (supported: 'id', 'canonical', 'status',
'version', 'releaselabel', 'publisher-name', 'publisher-url') (eg: --config status:draft)
-d, --default accept all remaining defaults
-a, --auto-initialize automatically initialize the SUSHI project in the current directory
-l, --log-level <level> specify the level of log messages (default: "info") (choices: "error", "warn", "info",
"debug")
-h, --help display help for command
Override sushi-config options from command line
Typically, SUSHI uses the sushi-config.yaml
file to define the configuration options it uses when processing FSH. However, in rare cases, it may be useful to override the values provided in sushi-config.yaml
without changing the file itself. For these cases, the --config
(or -c
) option can be used to specify a configuration property and the override value for it. Currently, this option only allows version
, status
, and releaselabel
to be overridden.
For example, to temporarily change the version
to 1.2.3
and status
to draft
when building the current directory, run:
$ sushi build -c version:1.2.3 -c status:draft .
Many thanks to @LodewijkSioen for thinking of and implementing this feature!
Set version based on sushi-config.yaml in FSHOnly projects
In SUSHI 2.x, SUSHI always defaulted the version
of conformance resources to the version of the IG (as specified in sushi-config.yaml
). In SUSHI 3.x, we removed this feature so that the version
assignment could be controlled by the IG Publisher instead. This change, however, adversely impacted FSHOnly projects that do not use the IG Publisher. Now, starting in SUSHI 3.10.0, if a project has FSHOnly: true
in its sushi-config.yaml
, SUSHI will default the version
of conformance resources to the project version specified in sushi-config.yaml
. This restores the previous SUSHI 2.x behavior for FSHOnly projects.
New Contributors
- @LodewijkSioen made their first contribution in #1442
Install or Update
SUSHI 3.10.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.10.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.9.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.9.0...v3.10.0
SUSHI 3.9.0
SUSHI 3.9.0 contains the following enhancements and bug fixes:
What's Changed
- Improve performance when exporting Instances by @mint-thompson in #1443
- Support extensions on IG.definition in sushi-config.yaml by @jafeltra in #1452 (details below)
- Replace type.aggregation on ElementDefinition when modified by @mint-thompson in #1433
- Replace references when applying caret rules on CodeSystems by @mint-thompson in #1444
- Find value for choice slice when choice element has one type by @mint-thompson in #1446
- Improve Logical Model type controls to not re-add elements by @jafeltra in #1450
- Ignore all regresion/output* folders by @jafeltra in #1448
Support extensions on IG.definition in sushi-config.yaml
SUSHI now supports adding extensions to the ImplementationGuide definition
element. To add extensions, authors can add definition
as a top-level property in the sushi-config.yaml
file and add an extension
list below it. This will add extensions to the ImplementationGuide.definition
element in the generated ImplementationGuide.
An example of this configuration within sushi-config.yaml
is below:
definition:
extension:
- url: http://example.org/example/ig-definition-ext
valueBoolean: true
Note that all other IG.definition properties are available as top-level properties within sushi-config.yaml
. Those properties should continue to be used. Only extensions can be added to the new definition
configuration property.
Install or Update
SUSHI 3.9.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.9.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.8.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.8.0...v3.9.0
SUSHI 3.8.0
SUSHI 3.8.0 contains the following enhancements and bug fixes:
What's Changed
- Assign FSH Code or Reference to CodeableReference element by @mint-thompson in #1428 (details below)
- Quantity may omit numeric value by @mint-thompson in #1430 (details below)
- Export new mappings only (or at top of list in snapshot mode) by @jafeltra in #1436
- Allow path-resource paths with a wildcard by @jafeltra in #1427
- Warn when aliases have unsupported characters or only
$
by @jafeltra in #1429 and #1437 - Handle when sliced element is not available when unfolding by @mint-thompson in #1434
- Combine included concepts when exporting ValueSet by @mint-thompson in #1432
Assign FSH Code or Reference to CodeableReference element
Authors can now assign a FSH Coding or reference directly to CodeableReference types. Previously, authors needed to access either the concept
or reference
portions of the CodeableReference directly to assign values. Now, the top level CodeableReference element can be used instead.
For example, to assign the concept
and reference
properties of a code
element that is a CodeableReference
type, the following rules can be used:
* code = $SCT#1003754000 "Natural rubber latex (substance)"
* code = Reference(NaturalLatexSubstanceDefinitionExample)
These two rules are equivalent to the following rules that assign the values directly:
* code.concept = $SCT#1003754000 "Natural rubber latex (substance)"
* code.reference = Reference(NaturalLatexSubstanceDefinitionExample)
For more information and examples, see the Assignments with CodeableReference Data Type section of the FSH 3.0.0 Current Build Specification.
Quantity may omit numeric value
Authors can now assign the units of measure without assigning a value. Authors can specify the units using the FSH syntax for UCUM units and omit the value. For example, you can se the units of Observation.valueQuantity
to millimeters using UCUM units and a display string, without setting a value, using the following rule:
* valueQuantity = 'mm' "millimeter"
For more details on this syntax, see the Assignments with the Quantity Data Type section of the FSH 3.0.0 Current Build Specification.
Install or Update
SUSHI 3.8.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.8.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.7.0), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.7.0...v3.8.0
SUSHI 3.7.0
SUSHI 3.7.0 contains the following enhancements and bug fixes:
What's Changed
- Support logical model examples without
resourceType
orid
by @jafeltra in #1418 - Allow extensions on configured dependencies by @jafeltra in #1420
- Use current extension for specifying IG resource format by @jafeltra in #1421
- Fall back to package.json when resolving "latest" version in IG by @cmoesel in #1423
- Update assorted dependencies by @mint-thompson in #1417
- Regression script: handle errors thrown during repo compare by @cmoesel in #1419
Install or Update
SUSHI 3.7.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.7.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.6.1), run the following command:
$ npm install -g [email protected]
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.6.1...v3.7.0