All apps

Data Ingestion · IT / System integrators

CuRE Conduit

The platform's external-adapter front door — every byte of inbound data enters here.

What it does

The platform's external-adapter front door — every byte of inbound data enters here. Single ingestion plane — there is no other way into the platform (ADR-PLT-040).

Key capabilities

  • SMART-on-FHIR EHR connectivity
  • Tabular ingestion (CSV / XLSX / ZIP)
  • AI column classification (Claude) for tabular feeds
  • SHA-256 idempotency + per-feed lineage
  • ADT / encounter-event subscriptions
  • AI feed-health / freshness-SLA / schema-drift monitoring
  • DHT / wearable device-stream ingestion

What sets it apart

  • Single ingestion plane — there is no other way into the platform (ADR-PLT-040).
  • TEFCA/Carequality, ADT/encounter subscriptions, claims adapters, and non-US profiles ride the same lineage model, with real-time feed-health, freshness-SLA, and schema-drift monitoring.
  • Connection management + feed monitoring built in; not just a parser library.
  • AI classifier proposes column→OMOP mappings on demand for fast onboarding.
CuRE Conduit · CSV column → OMOP classification
Live demo — synthetic data, runs in your browser

Classify a CSV's columns to OMOP, on the fly

Paste or pick a source CSV and watch Conduit's column classifier decide each column's OMOP disposition — structural (a specific table + field), terminology (free-text cells routed to a concept domain), or skip — with a confidence score, holding anything below the 80% threshold for human review. Rename a column or edit its values and the classification recomputes live.

A demographics extract — structural columns (subject id, sex, DOB, site, enrollment date) plus a free-text medical-history column that routes per-value to the Condition domain, and a blank filler the classifier skips.

Edit the header row or the cell values — rename a column, change its values — and the classification recomputes instantly. The classifier reads the header and the sample cells.

8 columns classified to omop targets
5 structural1 terminology2 skip
ColumnDispositionOMOP targetConfidence
SubjectID
S-1001, S-1002, S-1003
Structural
person.person_source_value
A per-subject identifier — the natural key that becomes person_source_value.
95%
Sex
F, M, F
Structural
person.gender_concept_id
Sex/gender values resolve to an OMOP gender concept on person.
95%
DateOfBirth
1974-03-12, 1981-11-30, 1969-07-22
Structural
person.birth_datetime
Date of birth populates person.birth_datetime (year/month/day derived from it).
96%
SiteName
Boston General, Austin Clinic, Boston General
Structural
care_site.care_site_source_value
A site/center identifier maps to care_site.
78%
needs review
EnrollmentDate
2023-02-01, 2023-02-04, 2023-02-05
Structural
observation_period.observation_period_start_date
Enrollment/observation start bounds the OMOP observation_period.
90%
MedicalHistory
Type 2 diabetes, Hypertension; asthma, COPD
Terminology
→ Condition concept (per value)
Free-text clinical event terms — per-value classification to the Condition domain downstream.
86%
InternalRowSeq
1, 2, 3
Skip
(dropped at load)
Internal tracking / row-ordinal column — not clinical data to load.
90%
Comments
Skip
(dropped at load)
Column is entirely blank in the sampled rows — dropped at load time.
90%
1 of 8 columns fell below the 80% confidence threshold and are held for a human to confirm before ingest — exactly the review-queue gate in the product.

Terminology columns (free-text clinical terms) don't map to a single field — Conduit routes each cell VALUE to a concept domain (Condition / Drug / Measurement / Observation) for per-value OMOP concept resolution downstream in Conduct. Structural columns land on a specific omop table + field. Everything computes in your browser — no backend, no file leaves the page.

Why this is more than a toy

This mirrors Conduit's real column classifier, whose exact contract is ported dependency-free from the platform monorepo (apps/conduit/…/classification): the same three-way structural / terminology / skip taxonomy, the OMOP target-table/field vocabulary, the concept domains (Condition / Drug / Measurement / Observation), and the 0.8 confidence threshold that forces a human confirm in the review queue (per ADR-PLT-026 classifier execution stays in Conduit; ADR-CDT-010 routes terminology columns to per-value concept suggestions). One difference, stated honestly: in production the classifier is an AI model (Claude, via the Clarion gateway) that reads the header and sample values — an LLM can't run offline in your browser, so here a faithful heuristic (header + value-pattern rules) produces the identical decision shape. The AI generalizes far past these rules; the rules show you what it decides and why. Nothing calls a backend — no file leaves the page.

See CuRE Conduit in action

Every research ecosystem is unique. Let's discuss how CuRE can be configured for your needs.