Hermes is a cross-platform desktop application built with Tauri and Svelte for working with HL7 v2.x messages. It's designed for HL7 system development and testing.
It enables you to edit both the raw HL7 message and individually extracted fields, and to send and receive messages over MLLP. Hermes includes an extension system that works like the Language Server Protocol, letting you add custom functionality without recompiling the entire application.
Hermes offers dual-mode message editing through form-based segment tabs and a raw text editor with syntax highlighting for HL7 structure. Field descriptions and validation feedback appear in real-time as you work.
Network communication happens over MLLP (Minimal Lower Layer Protocol). Hermes can act as both a client (sending messages) and a server (listening for incoming messages), with full response handling and logging.
macOS:
xcode-select --installLinux:
sudo apt-get install build-essential libssl-devsudo apt-get install webkit2gtk-4.0Windows:
Clone the repository:
git clone <repository-url>
cd hermes
Install frontend dependencies:
pnpm install
Build dependencies (optional, happens automatically on first run):
cd src-tauri
cargo build
Development mode (with hot-reload):
pnpm tauri dev
This starts both the Vite dev server (frontend) and the Tauri application (desktop wrapper).
Frontend only (for UI development):
pnpm dev
Note: Backend commands won't work in frontend-only mode.
Run TypeScript type checking:
pnpm check
Watch mode for continuous type checking:
pnpm check:watch
See docs/ for detailed architecture and development documentation.
Build the application for your platform:
pnpm tauri build
This creates:
.dmg and .app in src-tauri/target/release/bundle/.msi and .exe in src-tauri/target/release/bundle/.deb, .AppImage in src-tauri/target/release/bundle/Tauri configuration is in src-tauri/tauri.conf.json:
Hermes uses several Tauri plugins for native functionality: clipboard-manager
for clipboard operations, fs and dialog for file system access and file
dialogs, store for persistent settings, log for application logging,
persisted-scope to preserve file access permissions across restarts, and
opener for opening URLs and files in external applications.
See docs/development/ for detailed development guidelines.
Error: tauri command not found
pnpm install # Re-install dependencies
Rust compilation errors after pulling changes
cd src-tauri
cargo clean
cargo build
WebView2 missing (Windows)
Frontend and backend out of sync
pnpm tauri devChanges not appearing
Application won't start
messages.toml exists and is validpnpm tauri build --debugMLLP send/receive failing
Apache-2.0. See LICENSE for details
Note: This is a developer's tool for HL7 system development and testing. It is not intended for production use in clinical environments.