Clinical Extract

Clinical Extract is EHR data extraction software for research. It exports your study cohort through your EHR’s certified API, keeps only the variables your protocol approved, and returns one CSV with its data dictionary.

Updated

What it does

EHR data extraction for research on the certified API

Every certified EHR offers a bulk FHIR API for a group of patients. Clinical Extract runs that export for one study at a time: the study cohort’s records, the resource types the protocol names, and only the variables it approved. Structured, coded data comes back as ICD-10-CM, LOINC and RxNorm, ready for analysis.

It is EHR and EMR data extraction for registries and research teams, with no analyst queue and no warehouse build. For whole-record moves, Saga also handles EHR data migration and archiving.

A printed study extract with a pen resting across it
Figure 1. Three steps, all in your environment. Clinical Extract connects to your EHR once as a read-only backend app, exports only the study cohort, and returns study.csv and data-dictionary.json to storage you control.
The output

One CSV and a data dictionary for every study

The NDJSON lands in a folder you control. Clinical Extract keeps the variables the protocol approved, flattens them into one analysis-ready study.csv, and writes data-dictionary.json with each column’s description, FHIR source path and an example value.

The dictionary is also the record of what left the EHR: the IRB, the honest broker and the analyst all read the same file.

A red data dictionary binder lying open
Table 1. data-dictionary.json rendered for a breast cancer study, eight of its 24 columns. Every value is synthetic.
ColumnDescriptionFHIR sourceExample
patient_refPatient resource ID on your FHIR serverPatient.ideKx3p9Qa
birth_yearYear of birthPatient.birthDate1961
dx_codePrimary cancer diagnosis, ICD-10-CMCondition.codeC50.412
dx_dateDate of diagnosisCondition.onsetDateTime2024-03-14
stage_groupAJCC clinical stage group (LOINC 21908-9)Observation.valueCodeableConceptIIA
er_statusEstrogen receptor status (LOINC 16112-5)Observation.valueCodeableConceptPositive
her2_statusHER2 status (LOINC 48676-1)Observation.valueCodeableConceptNegative
first_chemoFirst chemotherapy agent ordered (RxNorm)MedicationRequest.medicationCodeableConceptpaclitaxel
The crank wheel of a mobile archive shelving unit
Epic

Epic data extraction for research

Ask how to get research data out of Epic and most answers list SlicerDicer, Clarity, Caboodle and Cosmos. The certified bulk FHIR API is the route they leave out, and it is the one that returns identified, study-scoped, analysis-ready rows for a named cohort, run by your own team.

Clinical Extract runs it as a read-only Backend Systems app: your Epic team activates the app once, the cohort becomes a Group, and one export returns study.csv and its dictionary. Our Epic integration team covers the rest of the FHIR API.

Table 2. Five routes to research data in Epic. The full comparison, with sources, is in the Epic research data guide.
RouteWhat it returnsWho runs itFits
Bulk FHIR (Clinical Extract)A named cohort’s coded records, one CSV per studyYour own teamA study cohort, this week
EHI exportThe whole record in Epic’s published formatYour Epic teamOne patient’s record, or everything, to move it
Clarity and CaboodleThe enterprise in reporting tablesYour reporting analystsDashboards and recurring reports
SlicerDicerCounts and patient lists, inside EpicSelf-serviceTesting a hypothesis today
CosmosA de-identified dataset across many organizationsEpicResearch that works without identifiers
Abstraction

Automated chart abstraction for the coded fields

Most of an abstraction layout is coded data the EHR already holds: diagnosis codes and dates, histology, biomarkers, stage, treatment and procedures. Clinical Extract fills those from the EHR first, each with the FHIR element it came from, so the form opens filled.

The judgment calls that need a reading of the notes stay with the abstractor, who now starts there. Clinical data abstraction software can import study.csv with the dictionary as its field map, and abstraction services start from a filled case.

An abstraction form on a clipboard
Figure 2. One breast case abstracted to a registry layout. The coded elements come filled from the EHR with their FHIR resource; two judgment calls stay with the abstractor.
A red fire-stop collar sealing a cable bundle through a wall
Security

Patient data stays in your environment

Clinical Extract runs on your server or in your cloud tenant, next to the EHR it reads. Patient data moves on one path, from your EHR to Clinical Extract to your study folder. We deliver software releases and never receive patient data.

The token carries one read scope per resource type the study reads, so Clinical Extract cannot create or change a record. The export enforces the minimum necessary standard at three levels, shown below. Security in detail.

Figure 3. Minimum necessary, enforced in the export itself: the Group scopes the patients to the cohort, _type scopes the resource types, and the approved variable list scopes the columns.

Need the data work around the export? Warehouses, OMOP and analytics on research data come from Saga’s healthcare data analytics services.

Healthcare data analytics
FAQ

Clinical Extract questions

Demo

Request a Clinical Extract demo

Tell us which EHR you run and one study or registry workflow. We will reply within one business day to set a time. Please leave patient information out of the form.

Guides, the EHR connection details and the output format are on clinicalextract.com.

EHRs

Required fields