Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (intu-dev) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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)