SUSHI 2.3.0
SUSHI 2.3.0 includes the following enhancements and bug fixes:
- Improve warning message about files in unsupported folders within the
input
directory (#987, #986) - Add support for specifying additional resource paths to predefined resources (#1014, #986) (details below)
- Include provided extensions from
sushi-config
in the ImplementationGuide resource (#1005) - Create an IG URL for dependencies listed in
sushi-config
that do not have an ImplementationGuide resource (#1007) (details below) - Support referencing the canonical URL of the ImplementationGuide using the
Canonical
keyword (#963) (details below) - Improve SUSHI's efficiency when processing profiles and eliminate unexpected error (#1013)
- Improve support for processing large base64 encoded values (#998)
- Update the copy utility used during the
build
process (#1004)
Specifying additional resource paths
Sometimes authors may wish to put predefined resources in folders other than the normally supported input
sub-folders. To support this, SUSHI now recognizes the ImplementationGuide parameter path-resource
. Authors can include this parameter in sushi-config.yaml
to specify relative paths to additional folders that contain predefined resources. For example, the following can now be used in sushi-config.yaml
to include resources from the sub-folder predefined-resources
:
parameters:
path-resource:
- input/predefined-resources
Note that the value of path-resource
is an array (or sequence) formatted in the standard YAML style.
For SUSHI users who manage their own ImplementationGuide resource (i.e. FSHOnly IGs), SUSHI will use the parameter from the ImplementationGuide resource:
"parameter": [
{
"code": "path-resource",
"value": "input/predefined-resource"
}
]
Automatically create a URL for dependencies with no ImplementationGuide
Some dependency packages do not contain an ImplementationGuide resource. Since SUSHI needs the ImplementationGuide URL to specify the dependency in its own generated ImplementationGuide (per FHIR requirements), this caused problems in the past. Prior to this release, authors had to address the problem by fully specifying the dependency with a uri
, like this:
dependencies:
de.basisprofil.r4:
uri: http://fhir.org/packages/de.basisprofil.r4/ImplementationGuide/de.basisprofil.r4
version: 1.1.0
Since then, the FHIR community has determined that packages without an ImplementationGuide should use a virtual IG URL of the format http://fhir.org/packages/${packageId}/ImplementationGuide/${packageId}
. Using that guidance, SUSHI can now infer IG URLs for dependency packages without an IG; meaning that authors no longer need to fully specify such dependencies. Starting with this release, authors can simply declare an IG-less dependency like all other dependencies:
dependencies:
de.basisprofil.r4: 1.1.0
Use the Canonical
keyword to reference the canonical URL of the ImplementationGuide
There may be cases where an author needs to refer to the canonical URL of the ImplementationGuide resource they are creating. SUSHI now supports using the Canonical
keyword with the id
, packageId
, or name
that is specified in sushi-config.yaml
. For example, when creating a CapabilityStatement
, the following Assignment Rule can be added:
* implementationGuide = Canonical(my-package-id)
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