intu-dev
v1.0.14
Published
Git-native, AI-friendly healthcare interoperability framework. Build, version, and deploy integration pipelines with YAML config and TypeScript transformers.
Maintainers
Readme
intu
Integration as Code for Healthcare
Website · Docs · GitHub · Issues
This package installs the intu CLI — a Git-native healthcare interoperability engine. Define integration channels as YAML + TypeScript, store everything in Git, and run a production-grade pipeline with one command.
Install
npm i -g intu-devThis downloads the prebuilt Go binary for your platform (macOS, Linux, Windows — x64 and arm64). No Go toolchain required.
Quick Start
intu init my-project
cd my-project
npm run devTo create the project in the current directory: intu init my-project --dir .
That's it. intu init scaffolds the project and runs npm install. npm run dev starts the engine with hot-reload — edit YAML or TypeScript and channels restart automatically.
Dashboard: http://localhost:3000 (admin / admin)
Try the included channels
# JSON pass-through
curl -X POST http://localhost:8081/ingest \
-H "Content-Type: application/json" -d '{"hello":"world"}'
# FHIR Patient → HL7 ADT
curl -X POST http://localhost:8082/fhir/r4/Patient \
-H "Content-Type: application/json" \
-d '{"resourceType":"Patient","id":"123","name":[{"family":"Smith","given":["John"]}]}'Add a channel
intu c my-channelWhat You Get
my-project/
├── intu.yaml # Root config + named destinations
├── intu.dev.yaml # Dev profile overrides
├── intu.prod.yaml # Production profile
├── .env # Environment variables
├── src/
│ ├── channels/
│ │ ├── http-to-file/ # JSON pass-through channel
│ │ │ ├── channel.yaml
│ │ │ ├── transformer.ts
│ │ │ └── validator.ts
│ │ └── fhir-to-adt/ # FHIR Patient → HL7 ADT channel
│ └── types/
│ └── intu.d.ts
├── package.json
├── tsconfig.json
├── Dockerfile
└── docker-compose.ymlEach channel is a folder with channel.yaml (config) and TypeScript files (transform logic). Pure functions, fully testable, version-controlled.
npm Scripts
| Script | Description |
|--------|-------------|
| npm run dev | Start with hot-reload and debug logging |
| npm run serve | Start with default profile |
| npm start | Start in production mode |
| npm run build | Compile TypeScript (CI/CD — serve auto-compiles) |
CLI Reference
| Command | Description |
|---------|-------------|
| intu init <name> [--dir] [--force] | Scaffold a new project; --dir . creates in current dir |
| intu serve | Start the runtime engine |
| intu c <name> | Add a new channel |
| intu validate | Validate config and channels |
| intu build | Compile TypeScript |
| intu deploy [id] | Enable channel(s) |
| intu undeploy <id> | Disable a channel |
| intu stats [id] | Show channel statistics |
| intu dashboard | Launch the web dashboard |
| intu channel list\|describe\|clone\|export\|import | Channel management |
| intu message list\|get\|count | Browse stored messages |
| intu import mirth <file> | Import a Mirth Connect channel |
All commands accept --dir (project root) and --log-level (debug|info|warn|error).
See the full CLI docs for all flags and options.
Connectors
14 sources: HTTP, TCP/MLLP, FHIR R4, FHIR Poll, FHIR Subscription (R4b), Kafka, Database, File, SFTP, Email, DICOM, SOAP, IHE (XDS/PIX/PDQ), Channel
13 destinations: HTTP, Kafka, TCP/MLLP, File, Database, SFTP, SMTP, Channel, DICOM, JMS, FHIR R4, Direct, Log
Data types: HL7v2 · FHIR R4 · X12 · CCDA · JSON · XML · CSV · binary
Pipeline
Every message flows through up to 8 stages — each optional, each a TypeScript function:
Preprocessor → Validator → Source Filter → Transformer → Dest Filter → Dest Transformer → Response Transformer → Postprocessor
Included Packages
Scaffolded projects ship with these healthcare data packages:
| Package | Purpose |
|---------|---------|
| @types/fhir | FHIR R4 TypeScript types |
| node-hl7-client | HL7v2 message builder/parser with native TypeScript types |
Requirements
- Node.js >= 18
- Supported platforms: macOS (arm64, x64), Linux (x64, arm64), Windows (x64, arm64)
