Home/Platform/Overview

Platform overview

Grid. The central engine for orchestrating the messages your business runs on.

A clean-sheet integration engine. Every message becomes a typed object, every transform is real code, every hop is durable, and everything can be replayed. Run it on premise, on Kubernetes, on a single VM or across multiple VM deployments. The artifact is the same in every case.

Objects

Every message, a first-class object.

HL7 v2, FHIR R4/R5, X12 (full 5010) and XML parse into typed objects you can inspect, map and validate, rather than strings you have to split.

Runtime

Containerised. Observable. Replayable.

On premise, Kubernetes, a single VM or multiple VMs. Message queuing, structured logging, archive and replay are built in, not bolted on with a cron job.

Governance

HIPAA, PIPEDA and PHIPA aligned.

Role-based access, immutable audit logs, encryption in transit and at rest, BAA-ready, and a support model that never requires us to see patient data.

See it running

A walkthrough of Grid.

The console, the builder and a message going all the way through, without a slide in sight.

Projects

Your estate, organised the way your team actually thinks.

A project groups the workflows, variables, templates, libraries and collaborators for one integration programme: a hospital, a customer, a migration. Each one is Git-backed, so interfaces get branches and review like the rest of your code.

grid.linkiir.com/projects
Projects
Create and manage your integration projects
⌕ Search projects ⤴ Sync + New Project ⌄ TE
Open ⌄
Regional Health
Epic ADT, orders, results, docs
6 Running
Queue4Processed today 1.9M
Open ⌄
Linkiir Migration
Rhapsody parity shadow
2 Running
Queue0Processed today 412K
Open ⌄
RCM Platform
837/835 via Availity + Waystar
4 Running
Queue8Processed today 88K
Project
Linkiir Migration
Workflow count
2
Workflows running
2
Nodes running
7
Current queue
0
WorkflowsVariablesTemplatesLibrariesGitCollaborators
Manage the workflows in this project. ▷ Start All✎ Edit
HTTP Workflow
Demo HTTP workflow
RunningQueue: 0
LLP Workflow
Demo LLP workflow
RunningQueue: 0

Linkiir Grid: Projects

Variables

Per-environment values, resolved at deploy. No more if hostname == 'prod'.

Templates

Clone a proven interface shape into a new site in one action.

Libraries

Shared Lua modules, versioned, required by any workflow in the project.

Git & collaborators

Branch, review, roll back. Access scoped per project, per role.

Workflow Builder

Source. Transform. Destination.

Drag the nodes, wire them, and configure the one that matters. Every parameter you'd hunt through a config file for is on the panel, with the documentation next to it rather than in a PDF from 2014.

NodeAvailable as
Source
LLPHL7 v2 over MLLP, custom framing, ack verification
HTTPREST/FHIR listener, webhook receiver, TLS + mTLS
File/FTPWatched directories, SFTP, FTPS, archive-on-read
CustomDatabase polling, message brokers, anything you can write in Lua
Transform
CustomLua node script, shared libraries, run-test against samples
Notification AlertThreshold and pattern alerts out to email, webhook or chat
Destination
LLPWait-for-ack, ack timeout, resend attempts, encoding control
File/FTPBatching, naming templates, atomic writes
CustomREST/FHIR, Kafka, Redpanda, cloud storage, warehouses
grid.linkiir.com/builder
Workflow Builder
Design and Modify Workflows
Linkiir Migration ⌄LLP Workflow ⌄TE
⑂ LLP Workflow ✎ Edit
((•)) SourceLLP IN⊸ b144c68
<> TransformMessage Mapping⊸ b144c68
➤ DestinationLLP OUT⊸ be362c4

Linkiir Grid: Workflow Builder, node parameters

grid.linkiir.com/schema
Schema Editor
HL7 / X12 message grammar builder
New Schema ⌄Import JSONSave*
Message Definition
Segment Ref points to a segment id.
ParsedRaw JSONHL7
ACK 5 childs · 0 matching rules ⊙ No issues
Protocol
HL7
Children
5
Rules
0
Segments
5
› Matching Rules (0) + Rule
Children
TypeRefSegmentIdentityDescriptionMinMaxReqRep
Segment ⌄1MSHNoneMessage Header11
Segment ⌄2SFTNoneSoftware Segment0−1
Segment ⌄3UACNoneUser Authentication Credential01
Segment ⌄4MSANoneMessage Acknowledgment11
Segment ⌄5ERRNoneError0−1
+ Segment Reference+ Segment Group

Linkiir Grid: Schema Editor

Schema Builder

Ground-up technology, not a fork of anything.

The Schema Builder was written from scratch for this job. Message definitions, segments, composites and primitives, all editable, versionable and validated as you go. Because the standard is a suggestion and every site interprets it differently.

  • Cardinality per child. Min, max, required and repeating, set where you can see them.
  • Matching rules. Dispatch on message shape so routing logic lives in the schema, not in fifty if statements.
  • Parsed / raw JSON. Flip between the tree and the definition. Import a grammar you already have.
  • Live validation. “No issues” means no issues, checked against the whole definition.

Ships with grammars for HL7 v2.3 through v2.9, FHIR R4 and R5, X12 5010 (837P/I/D, 835, 270/271, 276/277, 278, 834, 820), plus CDA and arbitrary XML.

Scripting

You build in VS Code. Because you already know VS Code.

The editor embedded in Grid is VS Code, so there is nothing new to learn. File explorer, shared libraries, pinned samples, a debugger and a run-test button, all where you expect them. Copy the whole tree with mapTree, then override the fields that differ.

grid.linkiir.com/scripting
Scripting
Node Script Editor
Linkiir Migration ⌄ LLP Workflow ⌄ ADT_A03 ⌄ ⚙ Debug ▷ Run Test
▣ main.lua ×
require "legacy_adapter"local mapper = require "mapping" function main(Data) -- Parse incoming raw messages with the hl7.parse function. -- This will return the parsed message 'MsgIn' and message type 'MsgType' local MsgIn, MsgType = hl7.parse{ schema='demo.json', data=Data } print(MsgIn.PID[5][1][1]:nodeValue()) -- Build the outgoing HL7 Message template local MsgOut = hl7.message{ schema='demo.json', name=MsgType } -- Copy all fields from MsgIn to MsgOut MsgOut:mapTree(MsgIn) -- Field-level mapping via the mapping module mapper.mapMSH(MsgIn.MSH, MsgOut.MSH) mapper.mapPID(MsgIn.PID, MsgOut.PID) -- print MsgOut to hl7 text value local outMsg = MsgOut:S() print(outMsg) -- push MsgOut to queue queue.push{ data = outMsg }end
⚡ Linkiir RuntimeLuaLn 25, Col 2426 lines · Saved

Linkiir Grid: Node Script Editor

Run-test against real samples

Pin a de-identified production message, run the transform, read the output and variables. Iterate in seconds, not deploys.

Shared libraries

Write mapping.lua once and require it everywhere. Fix a mapping bug in one place, not nineteen channels.

AI-native mapping

Describe the target message and get a first-pass transform in readable Lua, one you can review, correct and own.

Runtime & operations

See everything. Replay anything.

Throughput, queue depth, CPU, memory and the health of every workflow, on one screen, with the services behind it listed honestly. When something breaks you find the message, not the haystack.

  • Message-level durability. Queued, acked and archived at every hop.
  • Replay by window, workflow or message. Fix the transform, replay the affected set, watch the queue drain.
  • Notification engine. Quiet-endpoint alarms, backlog thresholds, error-rate spikes to the channel you already watch.
  • Log archive. Searchable, retained to your policy, exportable for audit.
grid.linkiir.com/dashboard
Dashboard
System health and overview
TE
Total Workflows
148
Queue Backlog
12
↓ Messages In/sec
2,140
↑ Messages Out/sec
2,138
InOutlast 24h
System Status4 services
RuntimeOnline
KafkaOnline
Notification EngineOnline
Archiver (archiver-1)Online

Linkiir Grid: Dashboard

Coming soon · launching March 2027 Linkiir Agent

The messages you route will do the work.

Agent is in development and launches in March 2027. It will watch the estate, propose the fix instead of the ticket, and execute through Grid, or through the engine you already have. Every action a signed record: who saw it, what Agent proposed, what a human approved, when it ran, what changed. Here's what we're building.

Detect

Duplicates, drift, dead-letters

Duplicate ADT detection, patient-match confidence, rejection clustering, quiet-endpoint alarms.

Decide

Propose the fix, not the ticket

Agent explains what it saw and what it wants to do: merge, resubmit, re-route, hold.

Resolve

Actions run on the engine

Resubmissions, merges, re-routes and callbacks execute through Grid or your incumbent engine.

Audit

Every action, a signed record

Policies define what Agent may do alone and what it must escalate, with a full record of proposal, approval and outcome.

Specifications

The list your architect asked for.

Transports
InboundMLLP · TCP · HTTPS/REST · SFTP · FTPS · file watchers · database polling · Kafka · Redpanda · AMQP · webhook receivers · DICOM C-STORE
OutboundMLLP · HTTPS/REST · FHIR REST · SFTP · FTPS · file write · database write · Kafka · Redpanda · cloud object storage · warehouse loaders
Formats
HealthcareHL7 v2.3–v2.9 · FHIR R4 / R5 (JSON + XML) · CDA / C-CDA · DICOM metadata
EDI & B2BX12 5010 full set: 837P/I/D, 835, 270/271, 276/277, 278, 834, 820, 275, 277CA · EDIFACT · delimited and fixed-width flat files
GeneralJSON · XML · CSV/TSV · Protobuf · custom binary via Lua
Runtime
DeploymentOn premise · Kubernetes (Helm chart) · Docker Compose · single VM (Linux, Windows) · multiple VM deployments · air-gapped install supported · Linkiir Cloud Coming soon
BrokerBundled, or bring your own Kafka / Redpanda
DatabasesPostgreSQL, SQL Server, Oracle or MySQL for log archive and configuration store
AvailabilityActive/active high-availability topology, automatic failover, message-level durability with replay
ScriptingLua 5.4 with the Linkiir standard library, shared project libraries, run-test and step debugger
Pre-tested endpoints
VendorsEpic, Oracle Health (Cerner), MEDITECH, athenahealth, eClinicalWorks, Veradigm, NextGen, PointClickCare, Availity, LabCorp, Quest, Surescripts and the rest of the Integration Network
Prove parity in two weeks

Bring us your worst interface.

We'll shadow your live traffic through Grid and diff the output against your incumbent engine, byte for byte. You see the report before you decide anything.