### Verify Node.js Installation Source: https://fshschool.org/docs/sushi/installation Commands to check if Node.js and npm are installed correctly on your system. These tools are prerequisites for installing SUSHI. ```bash node --version npm --version ``` -------------------------------- ### Check SUSHI Installation and Version Source: https://fshschool.org/docs/sushi/installation Commands to verify the SUSHI installation and display its version. 'sushi help' shows CLI usage, and 'sushi -v' shows the SUSHI and FSH specification versions. ```bash sushi help sushi -v ``` -------------------------------- ### Install GoFSH Tool Source: https://fshschool.org/docs/gofsh/installation This command installs the GoFSH tool globally on your system using npm. Once installed, you can use the 'gofsh' command in your terminal. This is the primary command for installing the tool. ```shell npm install -g gofsh ``` -------------------------------- ### Check GoFSH Installation and Version Source: https://fshschool.org/docs/gofsh/installation The 'gofsh --help' command displays instructions for using the GoFSH CLI, confirming a successful installation. 'gofsh -v' shows the installed GoFSH version and the FSH specification version it supports. ```shell gofsh --help gofsh -v ``` -------------------------------- ### Example sushi-config.yaml for FHIR IG Source: https://fshschool.org/docs/sushi/configuration This example demonstrates a comprehensive sushi-config.yaml file, showcasing how to configure various aspects of a FHIR Implementation Guide, including metadata, versioning, publisher information, and resource definitions. ```yaml # This IG YML file is inspired by the ImplementationGuide resource # and also draws from package.json, package-list.json, and ig.ini. # That said, it is structured for ease-of-use, so it is not strictly # conformant to any of those existing configuration formats. # SUSHI will use id as both id and packageId in the IG unless a # specific packageId is also provided in this file. id: fhir.us.example canonical: http://hl7.org/fhir/us/example url: http://hl7.org/fhir/us/example/ImplementationGuide/fhir.us.example name: ExampleIG title: "HL7 FHIR Implementation Guide: Example IG Release 1 - US Realm | STU1" description: Example IG exercises many of the fields in a SUSHI configuration. status: active license: CC0-1.0 date: 2020-02-26 version: 1.0.0 # Although fhirVersions is 0..* in the ImplementationGuide resource # it can be a single item OR and array here (but so far SUSHI only # supports 4.0.1 anyway). fhirVersion: 4.0.1 # The following two lines correspond to items that used to be in # ig.ini but were moved to IG.definition.parameter. For # consistency within this file, the names are represented using # camelcase, but if authors use the formal parameter names, SUSHI # will recognize them as well. In either case, they'll be copied # to the IG JSON using the formal names. copyrightYear: 2019+ releaseLabel: STU1 # The publisher can be a single item or a list, each with a name and # optional url and/or email. The first publisher's name will be used # as IG.publisher. The contact details and/or additional publishers # will be translated into IG.contact values. publisher: name: HL7 FHIR Management Group url: http://www.hl7.org/Special/committees/fhirmg email: fmg@lists.HL7.org # Those who need more control or want to add additional details to the contact values can use # contact directly and follow the format outlined in the ImplementationGuide resource and ``` -------------------------------- ### Install SUSHI Tool Source: https://fshschool.org/docs/sushi/installation Command to globally install the latest version of the SUSHI tool using npm. This makes the SUSHI CLI available in your terminal. ```bash npm install -g fsh-sushi ``` -------------------------------- ### FSH and IG Processing: Minimum Configuration Example (YAML) Source: https://fshschool.org/docs/sushi/configuration This YAML configuration is for SUSHI when additional Implementation Guide (IG) processing is needed. It includes essential metadata like `id`, `canonical`, `name`, `status`, `version`, `fhirVersion`, `copyrightYear`, and `releaseLabel`. ```yaml id: fhir.us.example canonical: http://hl7.org/fhir/us/example name: ExampleIG status: draft version: 0.1.0 fhirVersion: 4.0.1 copyrightYear: 2020+ releaseLabel: ci-build ``` -------------------------------- ### Example Markdown Usage with Links (Markdown) Source: https://fshschool.org/docs/sushi/tips Demonstrates how to use the generated markdown link definitions to create links to resource profiles within your documentation. It shows embedding a link for a 'MyPatient' profile. ```markdown ## Patients This IG provides [MyPatient] for patient information. {% include fsh-link-references.md %} ``` -------------------------------- ### Include Logical Model Instance as Binary Resource (JSON) Source: https://fshschool.org/docs/sushi/tips This example shows how to manually include a logical model instance as a JSON binary resource in a SUSHI project. It involves placing the file in the 'input/examples' folder and configuring it in 'sushi-config.yaml' with its canonical and resource format. ```json { "resourceType": "http://example.org/StructureDefinition/MyLM", "id": "my-logical-example", "important": true } ``` -------------------------------- ### GoFSH Command-Line Input with Dependencies Source: https://fshschool.org/docs/gofsh/running Demonstrates how to use GoFSH to convert FHIR StructureDefinitions, specifying external FHIR Implementation Guides as dependencies using the `-d` flag. This ensures correct conversion when input resources rely on definitions from other guides. ```bash __ gofsh ./mcode-definitions -d hl7.fhir.us.core@3.1.0 ``` -------------------------------- ### Install GoFSH Package Source: https://fshschool.org/docs/gofsh/api This command installs the GoFSH package as a project dependency using npm, a package manager for Node.js. This is a prerequisite for using GoFSH's API in your project. ```bash __ npm install gofsh ``` -------------------------------- ### FSH and IG Processing: Recommended Configuration Example (YAML) Source: https://fshschool.org/docs/sushi/configuration This is a recommended YAML configuration for SUSHI, extending the minimum requirements with additional fields such as `title`, `description`, `license`, `publisher` details, and `dependencies`. This provides a more complete IG definition. ```yaml id: fhir.us.example canonical: http://hl7.org/fhir/us/example name: ExampleIG title: "HL7 FHIR Implementation Guide: Example IG Release 1 - US Realm | STU1" description: An example IG that exercises many of the fields in a SUSHI configuration status: draft license: CC0-1.0 version: 0.1.0 fhirVersion: 4.0.1 copyrightYear: 2020+ releaseLabel: ci-build publisher: name: HL7 International - US Realm Steering Committee url: http://www.hl7.org/Special/committees/usrealm/index.cfm email: usrsc@lists.HL7.org dependencies: hl7.fhir.us.core: 3.1.0 ``` -------------------------------- ### Revert to Previous SUSHI Version Source: https://fshschool.org/docs/sushi/installation Command to install a specific previous version of the SUSHI tool. Replace '{version}' with the desired MAJOR.MINOR.PATCH version number. ```bash npm install -g fsh-sushi@{version} ``` -------------------------------- ### FSH Only: Minimum Configuration Example (YAML) Source: https://fshschool.org/docs/sushi/configuration This example shows the minimum configuration for SUSHI when only FHIR definition files need to be built and no additional IG processing is required. It specifies `FSHOnly` as true, along with the `fhirVersion` and `canonical` URL. ```yaml FSHOnly: true fhirVersion: 4.0.1 canonical: http://hl7.org/fhir/us/example ``` -------------------------------- ### Advanced Dependency Specification in SUSHI Source: https://fshschool.org/docs/sushi/configuration This example demonstrates the advanced syntax for SUSHI dependencies, allowing explicit definition of the dependency's ID, URI, and version. This provides more control over dependency resolution. ```yaml dependencies: hl7.fhir.us.core: id: uscore uri: http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core version: 3.1.0 ``` -------------------------------- ### Generate FHIR Implementation Guide Source: https://fshschool.org/docs/sushi/tutorial Runs the HL7 FHIR IG generator using the downloaded IG Publisher tool. This process may take several minutes to complete, generating the IG in the './output' directory. ```shell ./_genonce.sh ``` -------------------------------- ### Install fsh-sushi Package Source: https://fshschool.org/docs/sushi/api This command installs the `fsh-sushi` package, which is required to use the `fshToFhir` function in your project. It is a prerequisite for programmatically converting FSH to FHIR. ```bash npm install fsh-sushi ``` -------------------------------- ### SUSHI Version Command Source: https://fshschool.org/docs/sushi/running Retrieves basic information about the currently installed SUSHI version. ```bash sushi --version ``` -------------------------------- ### SUSHI Configuration Example (fsh.ini) Source: https://fshschool.org/docs/sushi/running An example of an optional fsh.ini control file used by the IG Publisher. This file specifies the SUSHI version to use and sets a timeout for SUSHI execution. It must reside in the project's root directory. ```ini [FSH] sushi-version = 0.16.0 timeout = 120 ``` -------------------------------- ### FSH Preprocessing Example Source: https://fshschool.org/docs/sushi/running Demonstrates the transformation of FSH code with aliases, RuleSets, and soft indexing into a preprocessed format with resolved values and explicit indexing. This is useful for debugging. ```fsh Alias: $CAT = http://hl7.org/fhir/ValueSet/observation-category Profile: ObservationProfile Parent: Observation * insert Metadata * category from $CAT (required) RuleSet: Metadata * ^version = "1.2.3" * ^publisher = "Example publisher" Instance: PatientInstance InstanceOf: Patient * name.given[+] = "John" * name.given[+] = "Q" ``` ```fsh Alias: $CAT = http://hl7.org/fhir/ValueSet/observation-category // Originally defined on lines 3 - 6 Profile: ObservationProfile Parent: Observation Id: ObservationProfile * ^version = "1.2.3" * ^publisher = "Example publisher" * category from http://hl7.org/fhir/ValueSet/observation-category (required) // Originally defined on lines 12 - 15 Instance: PatientInstance InstanceOf: Patient Usage: #example * name.given[0] = "John" * name.given[1] = "Q" ``` -------------------------------- ### SUSHI IG Publisher Warning Suppression Example Source: https://fshschool.org/docs/sushi/project Demonstrates how to suppress specific warnings from the SUSHI IG Publisher using a configuration file. This file can contain exact warning messages or regular expressions to filter unwanted logs. ```text Instance PatientExample1 is not an instance of a resource, so it should only be used inline on other instances, and it will not be exported to a standalone file. Specify "Usage: #inline" to remove this warning. /Detected the following non-conformant Resource definitions.*/ ``` -------------------------------- ### SUSHI Help Command Source: https://fshschool.org/docs/sushi/running Displays general help information about SUSHI. Can be used with a specific command to get details on that command and its options. ```bash sushi help ``` ```bash sushi help {command} ``` -------------------------------- ### FSH Profile Example with Manual Slice Ordering Source: https://fshschool.org/docs/sushi/tips This FSH profile demonstrates how to define slicing rules for a component element, specifically `systolicBP` and `diastolicBP`, within a profile inheriting from `Observation`. When manual slice ordering is enabled, the order of these slices in instances will be determined by the FSH rules. ```fsh Profile: ExampleBPObservation Parent: Observation // slicing rules for component omitted for brevity * component contains systolicBP 1..1 MS and diastolicBP 1..1 MS ``` -------------------------------- ### FSH Instance Example using Slice Names Source: https://fshschool.org/docs/sushi/tips This FSH instance utilizes slice names (`systolicBP`, `diastolicBP`) to reference specific slices within the `component` element, adhering to the `ExampleBPObservation` profile. When manual slice ordering is enabled, this approach ensures correct ordering based on the FSH rules. ```fsh Instance: ExampleByName InstanceOf: ExampleBPObservation // some required elements omitted for brevity * component[systolicBP].valueQuantity = 108 'mm[Hg]' * component[diastolicBP].valueQuantity = 45 'mm[Hg]' ``` -------------------------------- ### FSH Instance Demonstrating Soft Index Resolution Source: https://fshschool.org/docs/sushi/tips This FSH instance showcases how soft indices (`+`) are resolved when manual slice ordering is enabled. The example illustrates that soft indices account for previously referenced named slices, influencing the numeric index assigned to subsequent soft index references. ```fsh Instance: SoftIndexExample InstanceOf: ExampleObservation // some required elements omitted for brevity * category[+] = $ObservationCategoryCodes#laboratory // this + will resolve to index 0 * category[CategoryB] = $ObservationCategoryCodes#survey * category[+] = $ObservationCategoryCodes#exam // this + will resolve to index 2, since the CategoryB slice occupies index 1 * category[CategoryA] = $ObservationCategoryCodes#vital-signs ``` -------------------------------- ### FSH Instance Example using Numeric Indices (Not Recommended) Source: https://fshschool.org/docs/sushi/tips This FSH instance uses numeric indices (`0`, `1`) to reference slices within the `component` element. While this can work, it is not recommended when manual slice ordering is enabled, as it may lead to undesired output and bypass intended slice ordering. ```fsh Instance: ExampleByNumber InstanceOf: ExampleBPObservation // some required elements omitted for brevity * component[0].valueQuantity = 108 'mm[Hg]' * component[1].valueQuantity = 45 'mm[Hg]' ``` -------------------------------- ### SUSHI Project Initialization Command and Prompts Source: https://fshschool.org/docs/sushi/project Illustrates the interactive prompts when running the `sushi init` command to set up a new FSH project. These prompts gather essential information for project configuration. ```shell Name (Default: ExampleIG): my-project Id (Default: fhir.example): my.id Canonical (Default: http://example.org): http://myid.org Status (Default: draft): active Version (Default: 0.1.0): 2.0.0 Release Label (Default: ci-build): trial-use Publisher Name (Default: Example Publisher): MyPublisher Publisher Url (Default: http://example.org/example-publisher): http://my-publisher.org Initialize SUSHI project in C:\Users\shorty\dev\my-project? [y/n]: y ``` -------------------------------- ### Configure Logical Model Instance in sushi-config.yaml Source: https://fshschool.org/docs/sushi/tips This YAML configuration demonstrates how to register a manually added logical model instance within a SUSHI project. It specifies the resource entry, the expected resource format extension, a display name, and the canonical URL of the logical model. ```yaml resources: Binary/my-logical-example: extension: - url: http://hl7.org/fhir/tools/StructureDefinition/implementationguide-resource-format valueCode: application/fhir+json name: Example of LM exampleCanonical: http://example.org/StructureDefinition/MyLM ``` -------------------------------- ### Revert GoFSH to a Specific Version Source: https://fshschool.org/docs/gofsh/installation To revert GoFSH to a specific previous version, use the npm install command followed by the desired version number. Replace '{version}' with the specific MAJOR.MINOR.PATCH version you wish to install. ```shell npm install -g gofsh@{version} ``` -------------------------------- ### Markdown Link Definitions (FSH) Source: https://fshschool.org/docs/sushi/tips SUSHI generates this file with markdown link definitions for all resources in an ImplementationGuide.json file. It includes resources defined in FSH, configured resources, and predefined resources. This simplifies cross-referencing within markdown documentation. ```markdown [MyPatient]: StructureDefinition-MyPatient.html [MyExtension]: StructureDefinition-MyExtension.html ``` -------------------------------- ### Specify Additional Resource Paths in ImplementationGuide Resource Source: https://fshschool.org/docs/sushi/tips For SUSHI users managing their own ImplementationGuide resource (FSHOnly IGs), the `path-resource` parameter can be specified directly within the ImplementationGuide resource itself. This achieves the same outcome as configuring it in `sushi-config.yaml`. ```json "parameter": [ { "code": "path-resource", "value": "input/predefined-resource" } ] ``` -------------------------------- ### SUSHI Status Message Example Source: https://fshschool.org/docs/sushi/running An example of the status message displayed by SUSHI upon successful completion of processing a project. It summarizes the number of different FHIR resource types processed. ```text ╔════════════════════════ SUSHI RESULTS ══════════════════════════╗ ║ ╭───────────────┬──────────────┬──────────────┬───────────────╮ ║ ║ │ Profiles │ Extensions │ Logicals │ Resources │ ║ ║ ├───────────────┼──────────────┼──────────────┼───────────────┤ ║ ║ │ 1 │ 1 │ 1 │ 1 │ ║ ║ ╰───────────────┴──────────────┴──────────────┴───────────────╯ ║ ║ ╭────────────────────┬───────────────────┬────────────────────╮ ║ ║ │ ValueSets │ CodeSystems │ Instances │ ║ ║ ├────────────────────┼───────────────────┼────────────────────┤ ║ ║ │ 1 │ 1 │ 1 │ ║ ║ ╰────────────────────┴───────────────────┴────────────────────╯ ║ ║ ║ ╠═════════════════════════════════════════════════════════════════╣ ║ Fin-tastic job! 0 Errors 0 Warnings ║ ╚═════════════════════════════════════════════════════════════════╝ ``` -------------------------------- ### Run SUSHI on local directory Source: https://fshschool.org/docs/gofsh/tutorial Executes the SUSHI tool to build FSH definitions located in the 'input/fsh' directory within the current path. SUSHI generates output into the 'fsh-generated/resources' directory. ```shell sushi build . ``` -------------------------------- ### Inferred Choice Path Example in FSH Instance Source: https://fshschool.org/docs/sushi/tips SUSHI can infer the correct type-specific element for choice types (e.g., `value[x]`) when the choice has been constrained to a single type. This example shows how `value[x] = true` is inferred as `valueBoolean = true`. ```fsh Profile: BooleanObservation Parent: Observation * value[x] only boolean Instance: MyObservation InstanceOf: BooleanObservation * status = #final * code = http://example#somecode * value[x] = true ``` -------------------------------- ### Run GoFSH with automatic SUSHI build Source: https://fshschool.org/docs/gofsh/tutorial Combines running GoFSH on FHIR artifacts and automatically triggering SUSHI to build FSH definitions. This process generates a comparison file in 'gofsh/fshing-trip-comparison.html' detailing differences between original inputs and SUSHI output. ```shell gofsh . -f ``` -------------------------------- ### Basic SUSHI Execution Command Source: https://fshschool.org/docs/sushi/running The general structure for executing SUSHI commands from the command line. It supports commands like 'build', 'init', 'update-dependencies', and 'help'. ```bash sushi {command} {options} ``` -------------------------------- ### Reference ImplementationGuide Canonical URL in FSH Source: https://fshschool.org/docs/sushi/tips Reference the canonical URL of the ImplementationGuide resource using the `Canonical` keyword followed by the IG's `id`, `packageId`, or `name` specified in `sushi-config.yaml`. This is useful when defining assignments within resources like `CapabilityStatement`. ```fsh * implementationGuide = Canonical(my-package-id) ``` -------------------------------- ### Full-Featured SUSHI Project Structure after Initialization Source: https://fshschool.org/docs/sushi/project Shows the comprehensive directory structure generated by `sushi init`, including build scripts, IG publisher configuration files, and content folders. This structure is compatible with the FHIR IG Publisher. ```shell my-project ├── .gitignore ├── _genonce.bat ├── _genonce.sh ├── _updatePublisher.bat ├── _updatePublisher.sh ├── ig.ini ├── input | ├── ignoreWarnings.txt | ├── fsh | | └── patient.fsh | └── pagecontent | └── index.md └── sushi-config.yaml ``` -------------------------------- ### SUSHI Project Integrated with HL7 IG Publisher Source: https://fshschool.org/docs/sushi/project Demonstrates a typical FSH project structure when integrated with the HL7 IG Publisher, including additional content types like images and include files, alongside standard SUSHI configuration. ```shell my-project ├── ig.ini ├── input | ├── fsh | | ├── file1.fsh | | ├── file2.fsh | | └── file3.fsh │   ├── ignoreWarnings.txt │   ├── images │   │   ├── myDocument.pdf │   │   ├── myGraphic.png │   │   └── mySpreadsheet.xlsx │   ├── includes │   │   └── menu.xml │   └── pagecontent │   ├── 1_mySecondPage.md │   ├── 2_myThirdPage.md │   ├── 3_myFourthPage.md │   └── index.md ├── package-list.json ├── sushi-ignoreWarnings.txt └── sushi-config.yaml ``` -------------------------------- ### SUSHI Build Command Options Source: https://fshschool.org/docs/sushi/running Common options for the SUSHI 'build' command, allowing customization of logging, output paths, preprocessing, version checks, snapshot generation, and configuration overrides. ```bash -l, --log-level specify the level of log messages (default: "info") (choices: "error", "warn", "info", "debug") -o, --out the path to the output folder (default: "fsh-generated") -p, --preprocessed output FSH produced by preprocessing steps -r, --require-latest exit with error if this is not the latest version of SUSHI (default: false) -s, --snapshot generate snapshot in Structure Definition output (default: false) -c, --config override elements in sushi-config.yaml (supported: 'version', 'status', 'releaselabel') (eg: --config status:draft) -h, --help display help for command ``` -------------------------------- ### SUSHI Init Command Source: https://fshschool.org/docs/sushi/running The 'init' command used to generate a new project structure compatible with the FHIR IG Publisher. This command requires no arguments. ```bash sushi init ``` -------------------------------- ### Update FHIR IG Publisher Tool Source: https://fshschool.org/docs/sushi/tutorial Downloads the latest version of the HL7 FHIR IG Publisher tool and places it in the './input-cache' directory. This command can be skipped if a recent version is already available. ```shell ./_updatePublisher.sh ``` -------------------------------- ### Minimal SUSHI Project Structure Source: https://fshschool.org/docs/sushi/project Defines the basic directory layout for a SUSHI project, consisting of a configuration file and an input directory for FSH files. FSH file names are flexible but must end with '.fsh'. ```shell my-project ├── input | └── fsh | ├── file1.fsh | ├── file2.fsh | └── file3.fsh └── sushi-config.yaml ``` -------------------------------- ### Run IG Publisher (Windows) Source: https://fshschool.org/docs/sushi/running This command executes the HL7 IG Publisher on Windows after it has been successfully downloaded. The process may take several minutes. The output can be viewed by opening '/output/index.html' in a browser. ```batch __ __ _genonce ``` -------------------------------- ### Enable Manual Slice Ordering in sushi-config.yaml Source: https://fshschool.org/docs/sushi/tips This configuration snippet enables the manual slice ordering feature in SUSHI projects. By setting `manualSliceOrdering` to `true` within the `instanceOptions`, authors gain full control over the order of slice elements in instances. This is a global setting for the FSH project. ```yaml instanceOptions: manualSliceOrdering: true ``` -------------------------------- ### GoFSH Command Line Execution Source: https://fshschool.org/docs/gofsh/running The fundamental command structure for executing GoFSH. It takes an input directory and a set of options to control its behavior. Options can be provided in any order. ```bash __ gofsh {input-directory} {options} ``` -------------------------------- ### Run IG Publisher (Linux/macOS) Source: https://fshschool.org/docs/sushi/running This command executes the HL7 IG Publisher on Linux or macOS after it has been successfully downloaded. The process may take several minutes. The output can be viewed by opening '/output/index.html' in a browser. ```shell __ __ ./_genonce.sh ``` -------------------------------- ### Download IG Publisher Update Script (Windows) Source: https://fshschool.org/docs/sushi/running This command initiates the download of the latest HL7 FHIR IG Publisher tool on Windows systems. It places the tool in the './input-cache' directory. This step can be skipped if the tool is already present. ```batch __ __ _updatePublisher ``` -------------------------------- ### Download IG Publisher Update Script (Linux/macOS) Source: https://fshschool.org/docs/sushi/running This command initiates the download of the latest HL7 FHIR IG Publisher tool on Linux or macOS systems. It places the tool in the './input-cache' directory. This step can be skipped if the tool is already present. ```shell __ __ ./_updatePublisher.sh ``` -------------------------------- ### Specify Additional Resource Paths in SUSHI Config Source: https://fshschool.org/docs/sushi/tips Configure SUSHI to recognize custom paths for predefined resources by adding the `path-resource` parameter to `sushi-config.yaml`. This allows including resources from directories other than the default `input` sub-folders. ```yaml parameters: path-resource: - input/predefined-resources ``` -------------------------------- ### Profile BackboneElement with Extension Source: https://fshschool.org/docs/sushi/tips This snippet demonstrates how to use the 'profile-element' extension to profile a BackboneElement by referencing another BackboneElement definition. It's useful for applying constraints from a target to all references, like recursive references in Questionnaire.item. ```fsh Profile: MyQuestionnaire Parent: Questionnaire * item ^type.profile = "http://example.org/StructureDefinition/MyQuestionnaire" * item ^type.profile.extension.url = "http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element" * item ^type.profile.extension.valueString = "Questionnaire.item" // ... ``` -------------------------------- ### Basic Dependency Configuration in SUSHI Source: https://fshschool.org/docs/sushi/configuration This snippet shows the basic format for specifying dependencies in a SUSHI project's configuration file. It lists a dependency package ID and its version. ```yaml dependencies: hl7.fhir.us.core: 3.1.0 ``` -------------------------------- ### Include Generated Links in Markdown (Jinja) Source: https://fshschool.org/docs/sushi/tips This Jinja template include statement allows you to embed the generated markdown link references into your custom markdown pages. This enables easy linking to resource definitions previously generated by SUSHI. ```markdown {% include fsh-link-references.md %} ``` -------------------------------- ### Define a Simple Logical Model Source: https://fshschool.org/docs/sushi/tips This FSH snippet defines a basic logical model named 'MyLM' with an 'id' and a 'boolean' element named 'important'. It serves as a basis for creating instances of logical models. ```fsh Logical: MyLM Id: MyLM Title: "My LM" Description: "This is mine" * id 1..1 SU id "Identifier for the logical model" * important 1..1 SU boolean "Is this logical model important" ``` -------------------------------- ### Run GoFSH on local directory Source: https://fshschool.org/docs/gofsh/tutorial Executes the GoFSH tool on FHIR artifacts located in the current directory. GoFSH processes these artifacts and generates FSH definitions in a 'gofsh' directory. ```shell gofsh . ``` -------------------------------- ### Shortened SUSHI Build Command Source: https://fshschool.org/docs/sushi/running A simplified version of the 'build' command when executed from within the FSH project directory and using default options. ```bash sushi build . ``` ```bash sushi build ``` -------------------------------- ### SUSHI Build Command with Project Directory Source: https://fshschool.org/docs/sushi/running The 'build' command used to compile a SUSHI project. It accepts the FSH project directory as an argument and can be followed by various options to customize the build process. ```bash sushi build {fsh-project-directory} {options} ```