Academy
⌘K
Getting Started
  • Platform Overview
  • AWS Marketplace Setup
  • Quickstart Guide
Connections
  • Overview
Workflow Builder
  • Overview
  • Nodes Catalog
Helix AI Assistant
  • Overview
Mapping Engine
  • Overview
Workflow Library
  • Overview
  • HL7
  • FHIR
  • Insurance
  • Agentic
  • Mapping
Security & Infrastructure
  • Architecture
  • HIPAA Compliance
  • Performance & Scalability
← Back to ConnectHealth
Get Started
Back to Nodes
EMR API1 input → 1 output

EMR Connector

payload (array)endpointId (string)parameters (object)integrationId (string)EMR APIEMR Connectorch.proprietary… (object)ch.proprietary… (string)ch.proprietary… (string)Data flowProperty

Calls a vendor's proprietary (non-FHIR) REST API — the counterpart to the FHIR nodes. Vendor-agnostic: it resolves the bound connection, selects the proprietary service for that EHR, and invokes a catalogued endpoint by id. First supported vendor: Open Dental.

Inputs

payload array | object
Optional credential override. The output of an upstream ec-connection-parameter node — an array of { name, value } entries carrying the vendor credentials (Open Dental: developerKey and customerKey) — or a plain object with those keys. When omitted, the credentials are read from the selected connection. Left untouched on output.
endpointId string
Overrides the node's configured endpoint.
parameters object
{ pathParams, query, body } — merged over the node's Parameters field.
integrationId string
Overrides the node's connection selection.
developerKey / customerKey string
Per-message credential override. When both are set they are used instead of the selected connection's stored keys.
accessToken string
Not used by Open Dental (it authenticates with Developer/Customer Key only), but if an upstream node placed a token on msg.accessToken, in the credential array, or on msg.payload.accessToken, it is preserved on msg.accessToken on output — see Outputs below.

Outputs

ch.proprietary.<resource> object | array
The vendor's response body, keyed by the endpoint id's prefix (e.g. patients.get-single → ch.proprietary.patients). Same shape the ec-fhir-* nodes use for ch.fhir.<operation>.
ch.proprietary.endpointId string
The endpoint that was called.
ch.proprietary.integrationId string
The connection that was used.
accessToken string
Only present when an incoming access token was found (see Inputs). Restored here so it survives the msg.payload overwrite below and chained nodes that read msg.accessToken keep working.
payload object | array
The response body — unless the incoming payload was the ec-connection-parameter credential array, in which case it is passed through unchanged.

Auditing

Any endpoint that reads or writes patient data records a HIPAA audit entry (who · what + id · when · where · outcome — never PHI values). Failures are audited once with the outcome mapped to Serious / Minor / Major.

Typical Flow

┌───────────┐   ┌────────────────────┐   ┌───────┐
│  inject   │──▶│ ec-proprietary-    │──▶│ debug │
│ (trigger) │   │ request            │   │       │
└───────────┘   └────────────────────┘   └───────┘
    

Select the connection on the node — credentials are resolved from it. To override them per message, add an ec-connection-parameter node between the trigger and this node.