Now in production with VRepro clinics.See the integration

Product, Managed sync

We run the sync. Your team runs the clinic.

Building one connector is easy. Maintaining a fleet of them, with auth, rate limits, per-clinic config and monitoring, is the part that never ends. Nidus runs the sync infrastructure so your team never has to.

Sync enginehealthy
  • patient.createdVReproprocessed
  • appointment.updatedHubSpotprocessed
  • file.signedDocuSignretrying
  • cycle.failedVReproqueued
SKIP LOCKED claim, exponential backoff, dead-letter after max attempts

The infrastructure you don't have to build.

Engineers can prompt their way to a working connector in an afternoon. They cannot prompt their way to auth, per-clinic config, multi-tenant permissions, retries and monitoring at scale. That is what Nidus runs.

Durable and retried

A locked, backed-off queue claims each event once, retries on failure, and dead-letters what it can't deliver. Nothing is silently dropped.

Historical and real-time

Backfill history from a source, then keep it current with near-real-time incremental updates. Your data is never stale.

Monitored and governed

Every run is logged to a sanitised, member-readable history. Raw payloads stay in a service-role-only queue, out of the cockpit.

Reliability

Backfill history, then stay in sync.

Nidus pulls historical records from each source and keeps them current with incremental updates. The queue claims work with SKIP LOCKED, retries with exponential backoff, and dead-letters after max attempts, so a flaky third-party API never loses your data.
  • One durable queue, claimed once, retried on failure
  • Historical backfill plus near-real-time updates
  • On-premise reach for IP-whitelisted systems like VRepro
Sync enginehealthy
  • patient.createdVReproprocessed
  • appointment.updatedHubSpotprocessed
  • file.signedDocuSignretrying
  • cycle.failedVReproqueued
SKIP LOCKED claim, exponential backoff, dead-letter after max attempts

Governed access

Multi-tenant by design, not by filter.

Every clinic is a separate tenant with row-level security enforced in the database. Credentials are write-only in a vault. You only ever read and write your own data, and the interface can never read the raw payloads that hold PII.
  • Row-level security per tenant, enforced in the database
  • Write-only credentials in a secrets vault
  • Raw PII kept out of the cockpit by construction
Read about security
Tenant isolation

tenant = clinic_a

select * from patients where org = clinic_a ok

select * from patients where org = clinic_b denied

secret = vault, is_set = true, value = hidden

For AI

Query your clinic data through MCP.

Nidus exposes the connected data model as MCP tools, so AI agents and assistants answer from your real clinic data across every system, not a stale copy. Every query runs inside the same tenant boundary and row-level security, so an agent only ever sees what that clinic is allowed to see.
  • One MCP endpoint over data unified from every system
  • Answers grounded in live records, with their sources
  • Per-tenant permissions enforced on every agent query
Ask Nidus, via MCP
Which patients stalled after first visit this month?

42 patients stalled after first visit.

Top drivers: missing documents, no assigned owner, deposit unpaid.

sources: VRepro · HubSpot · billing

scoped to your tenant, row-level security enforced

Stop maintaining connectors.

Let Nidus run the sync and the upkeep. Your team ships what matters, on top of data that stays current.