Design the message route
The orchestration is the route every message takes: where it comes in, which Project pipeline converts it, and where the result is delivered. You draw it on a canvas, test it safely, and save it. Saving loads it into the gateway, so incoming traffic uses it.
A typical route has three steps:
Gateway Input (HTTP or MLLP) → Sub-workflow (a Project pipeline) → Destination
Add a Router to send different message types down different branches, and control-flow steps such as Try / Catch or Delay where you need them.
Before you begin
- At least one saved Healthcare Project whose pipeline produces an output, for example HL7 ADT → FHIR Bundle. See Build a Project pipeline.
- The admin role to save or run the route. Everyone in the workspace can open and read it.
1. Lay out the route
Open Orchestration in the left sidebar. Select Add and pick a component. It is placed on the canvas; drag from one step's right-hand handle to the next step's left-hand handle to connect them.
The Add menu: inputs and outputs, routing, control flow and workflows
| Component | Use it to |
|---|---|
| Gateway Input | Receive messages over HTTP or MLLP. Every route starts with one. |
| Destination | Deliver the result: a FHIR server, a REST endpoint, an MLLP receiver or a Destinations connector. |
| Router | Pick one branch per message with ordered rules, for example ADT to one Project and ORU to another. |
| Loop | Repeat steps over a list or until a condition is met. |
| Try / Catch | Catch an error and send the message down a fallback path. |
| Delay | Pause a branch without holding up messages that are arriving. |
| Sub-workflow | Run a Project pipeline, for example HL7 → FHIR. |
In the AI Builder panel, describe the route in a sentence, for example "Receive HL7 ADT messages over HTTP, convert them to FHIR with the HL7 Parser 2 project, and deliver the result to the HAPI FHIR test receiver." It builds and saves the route for you. See Ask Neev.
2. Set up each step
Select a step to open it in the Inspector on the right.
The Gateway Input in the Inspector: endpoint, transport and description
- Gateway Input: the Endpoint slug is the address messages are sent
to,
/api/integration/<slug>/. Leave it empty to use the name of the Project it is connected to. Choose HTTP or MLLP under Transport; Port is used only for MLLP. The Test tab holds the test messages used by Run. - Router: add rules in order. The first rule that matches picks the branch.
- Sub-workflow: choose the Project whose pipeline converts the message.
- Destination: choose an approved destination. A destination that is not
approved and switched on is refused when you save: "Clinical destination
nameis not approved or enabled."
To remove a step, select it and choose Delete node.
3. Save
Select Save. NEEV checks the design, saves it as a new revision and loads it into the gateway in one step: "Orchestration saved · Gateway configuration updated". The header shows Saved and the time. From the next message on, incoming traffic follows this route and uses each Project's current pipeline and mapping.
If a check fails, nothing changes: "Save failed. The design and Gateway configuration were not changed." Your canvas edits stay on screen and the previous route keeps serving traffic. Fix the step the message names and save again.
If someone else saved the route while you were editing, your save is refused so you do not overwrite their work. Reload the page and make your change again.
4. Test it safely
Before real traffic goes through, run the route end to end against test receivers that belong to your workspace.
- Select Test destinations. A window lists the safe receivers built into NEEV, such as the HAPI FHIR, OpenEMR and OpenELIS test receivers, with each one's format and last delivery. Select Check receivers to send each a synthetic message; nothing goes to your real endpoints.
- Point each route's Destination at one of the test receivers, for example the HAPI FHIR test receiver, and Save.
- Select a Gateway Input, open its Test tab, and choose or paste a test message.
- Select Run.
The built-in test receivers, their format and last delivery
Run loads the saved design and sends each test message through it, exactly as a sending system would. Each step lights up as the message passes and shows its result: Message received on the Gateway Input, Completed on the Project and Delivered on the destination.
A run: the Gateway Input received the message, HL7 Parser 2 completed and the FHIR server delivered it
Select Logs at the top of the canvas to see the latest run: its message ID, the ACK the sender got (for example AA), the message type and each processing step. Neev analysis explains the run in plain English.
Logs: the latest run answered AA and every processing step succeeded
The run is a real message: it appears in Messages with its whole story.
Run refuses a route that ends at a real destination, so a test can never reach a production system. It explains which destination to change.
5. Go live
When the test run looks right, point each Destination at its real, approved destination and select Save. The route is live from the next message.
Saving only loads what is on the canvas. After you change a Project's pipeline, a node's mapping or a profile, open Orchestration and select Save again, even with no canvas changes, so the gateway picks up the current Pipelines.
Clear the canvas
Clear deletes the saved design and the gateway endpoints it loaded, after you confirm. Those endpoints stop accepting messages until you build and save a route again, so clear only a route that is not taking traffic.
If something goes wrong
| What you see | What to do |
|---|---|
| Run not started · "Add a Gateway Input node…" | Every route needs a Gateway Input connected to a Project. |
| Run not started · "Choose or paste a test message in Gateway → Test…" | Open the Gateway Input's Test tab and add a message. |
| Run request failed · "Production-path tests may deliver only to tenant test connectors…" | The route ends at a real destination. Point it at a test receiver for the run. |
| Run request failed · "Add at least one production-path test destination before running." | Select Test destinations, then point the route's Destination at one of them. |
Message processing failed with an AE | The Project could not convert the message, for example an unsupported trigger. Open it in Messages. |
| Save failed | The design did not pass its checks, for example a Pipeline uses a test profile. The message says which step to fix; the live route is unchanged. |
| Admin access is required | Ask a workspace admin to save or run. |