Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

255 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mirthless

A modern, open-source healthcare integration engine. Think Mirth Connect, but built from scratch for Node.js — no Java, no desktop client, no paywall tiers.

Status: Experimental — This is a working prototype by a developer with ADD. It might become something great, or it might end up as a really well-architected pile of good intentions. Either way, the code is here and it's free.

Why?

Mirth Connect (NextGen Connect) is the de facto standard for healthcare integration. It's also:

  • Java — heavyweight, slow startup, JVM tuning required
  • Swing desktop client — it's 2026, why do I need a desktop app?
  • Paywalled — RBAC, MFA, channel history, cross-channel search? That'll be $$$ for the Gold tier
  • Closed direction — increasingly proprietary with each release

Mirthless keeps what works (channels, transformers, filters, the pipeline model) and rebuilds everything else for the modern era.

What's Different

  • TypeScript/Node.js — not Java. Fast startup, npm ecosystem, familiar to web developers
  • Web-based admin — React + Material UI. No client install. Works on any device with a browser
  • Everything is free — RBAC, channel history, message search, alerting — all built-in, no tiers (MFA is on the roadmap, not yet shipped)
  • TypeScript in transformers — write channel scripts in TypeScript with full Monaco editor + autocomplete
  • 13ms message processing — batched CTE queries on native Postgres. Mirth does ~70ms for comparable workloads
  • Real-time dashboard — WebSocket-driven updates, not polling

Quick Start

# Prerequisites: Node.js 22+, PostgreSQL 17, pnpm 9+

# Clone and install
git clone https://github.com/MichaelLeeHobbs/mirthless.git
cd mirthless
pnpm install

# Set up database
cp .env.example .env        # edit DATABASE_URL if needed
pnpm db:init                # creates user + database
pnpm db:migrate             # applies schema
pnpm db:seed                # seeds admin user + 10 example channels

# Run
pnpm dev                    # starts server (:3000) + web UI (:5173)

# Login: admin / Admin123!

Docker (production)

The production stack (Postgres + server + nginx-served web) is defined in docker/docker-compose.prod.yml. The server image runs database migrations and an idempotent seed on start before booting.

cp .env.production.example .env   # set POSTGRES_PASSWORD, JWT_SECRET, etc.
docker compose -f docker/docker-compose.prod.yml up -d --build

The API is served behind nginx on port 80; interactive API docs (Swagger UI) are at /api-docs (served by the server at :3000/api-docs).

Documentation

Operations

Running Mirthless in production? See the operator guides in docs/ops/:

Contributing & Security

Architecture

packages/
├── core-models/     — TypeScript types, Zod schemas, branded types
├── core-util/       — HL7v2 parser, utilities
├── engine/          — Message pipeline, sandbox, channel runtime
├── connectors/      — TCP/MLLP, HTTP, File, Database, JS, SMTP, FHIR, DICOM, Email
├── server/          — Express API (131 endpoints), auth, deployment
├── web/             — React + MUI admin UI
└── cli/             — Command-line interface

Stack: Node.js, TypeScript (strict), Express, PostgreSQL, Drizzle ORM, React 18, Material UI 6, Vite, Vitest, pnpm workspaces

Current State

This is a working system with ~2,200 automated tests. You can create channels, write transformers in TypeScript, deploy them, send messages, and watch them flow through the pipeline. The 10 seeded example channels demonstrate HL7v2, JSON, XML, channel-to-channel routing, filtering, error handling, and more.

What works: channels, pipeline, sandbox, 10 connector types, RBAC, audit logging, message browser, code templates, alerts, groups, tags, dark mode, CLI.

What's next: visual flow builder (think Node-RED for healthcare), plugin system, clustering. See ROADMAP.

License

MIT


Built with an mass amounts of coffee, mass amounts of ADHD, and mass amounts of AI. Healthcare data deserves better tools.

About

Healthcare integration engine — spiritual successor to NextGen Connect (Mirth Connect)

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages