- Install git
- Clone this Github repository
- Change directory to the cloned Github repository (working tree)
- Install Node environment (e.g. using NodeJS Node Version Manager)
- Install Java Runtime Environment (e.g. using OpenJDK)
- Install Ruby and Jekyll using these OS-specific instructions
- Install Visual Studio Code and the FHIR Shorthand language extension
- Install SUSHI using these instructions
- Install Visual Studio Code and the FHIR Shorthand language extension
- Install Dev Containers Environment
- Open in Dev Container using Visual Studio Code command palette:
> Dev Containers: Open Folder in Container...
- Select the cloned Github repository as folder, containing the Dev Container configuration
After following this instructions, a prepared docker image will be downloaded and configured, a container based on this images is created with the Github repository mounted into the container as working directory and a new Visual Studio Code window incl. a terminal (shell) opens, representing the development environment to perform the FHIR Profiling.
- Run
sushi
on command line to check if everything is setup correctly - Create or edit your FHIR profiles using Visual Studio Code with proper extensions
- Compile your FHIR Shorthand files to FHIR JSON using
sushi
- Repeat step 2 to 4 until your finished with your profiling task
- Optional: Run
_updatePublisher.{sh,bat}
to download the FHIR IG Publisher - Run
_genonce.{sh,bat}
to create the implementation guide with the FHIR IG Publisher and check the generated report for warnings and errors - Commit your changes and push them to the
dev
branch (or any other feature branch based ondev
you have created to introduce your changes) - Create a Pull Request to review and merge your work into
main
ormaster
branch
Name | Description |
---|---|
main |
Branch the Simplifier is based on and changes should be introduced via Pull Request and after review. Quality assurance checks are triggered on incoming changes. |
dev |
Branch for the collaborative development of the implementation guide, profiles, etc. Quality assurance checks are triggerd on incoming changes. |
[prefix/]<task-name> |
Task (or feature) branch based on dev for the development of single features (e.g. profiles), which is merged back into dev branch after finishing work. |
Problem | Description | Possible Solution |
---|---|---|
SUSHI cannot generate or misses snapshots | SUSHI claims a faulty or missing snapshot while processing your created FHIR Profile (StructureDefinition). | Either you've missed to install expected dependencies: Check if the dependencies section in the sushi-config.yaml contains the required FHIR packages your FHIR Profile uses. Or the package your FHIR Profile uses does not contain the required snapshots to determine your modeled FHIR Profile constraints and build the resulting snapshot: The easiest way might be to install the Firely Terminal and install the dependent packages, including the snapshots, your FHIR Profile uses manually to the local FHIR cache. |