Skip to content

Introduction

MAKI is a high-performance FSH toolchain that serves as a drop-in replacement for SUSHI and GoFSH, with additional linting and formatting capabilities.

FHIR Shorthand (FSH) is a domain-specific language created to simplify the creation of FHIR Implementation Guides (IGs). It allows you to define FHIR resources, profiles, extensions, and value sets in a concise, human-readable format.

MAKI provides a complete toolkit for FSH development:

  • Build FSH to FHIR - SUSHI-compatible compilation with better performance
  • Convert FHIR to FSH - GoFSH functionality with smart optimization
  • Catch errors early - Find issues before compilation
  • Maintain consistency - Automatic code formatting and style enforcement
  • Follow best practices - Learn FHIR/FSH patterns from built-in rules
  • Save time - Auto-fix many issues and format code automatically
  • Customize validation - Write custom rules for your organization

Compile FSH files to FHIR resources with full compatibility:

  • Profiles, Extensions, Logical Models, Resources
  • ValueSets, CodeSystems
  • Instances (Examples, Capabilities, etc.)
  • ImplementationGuide generation
  • Pre-build linting and formatting options

Convert existing FHIR resources back to FSH:

  • Load JSON/XML FHIR resources
  • Smart rule extraction and optimization
  • Multiple file organization strategies
  • Automatic config file generation

MAKI is written in Rust for maximum performance and reliability. It can process thousands of FSH files in seconds.

Lossless code formatter that maintains consistent style while preserving all comments and semantic content. Format on save, in CI, or on demand.

  • Correctness: Catch logical errors and invalid FSH
  • Style: Maintain consistent formatting and naming
  • Documentation: Ensure proper descriptions and metadata
  • Best Practices: Learn recommended FHIR patterns

Get clear, actionable error messages with:

  • Exact line and column positions
  • Code frames showing context
  • Colored diffs for suggested fixes
  • Multiple severity levels (error, warning, info, hint)

Write custom validation rules using GritQL, a powerful pattern-matching language.

First-class support for:

  • GitHub Actions
  • GitLab CI
  • Jenkins
  • Any CI/CD platform

Ready to get started?

  1. Install MAKI
  2. Quick Start Guide
  3. CLI Commands Reference