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.