Healthcare data workflows

Convert HL7 v2 to FHIR R4, without an interface engine.

Mapping v2 segments to FHIR resources usually means an integration engine and weeks of configuration. For file-based and batch work, describe the mapping in plain English: which segments, which resources, which fields. Data Shepherd writes transparent scripts that emit FHIR R4 JSON in the shape you specify, you review every line, and runs are sealed with no PHI to any model.

Free plan available. No card required.

No data sent to a model at run-time · transparent, versioned scripts
HL7 v2 to FHIR R4
Input · ADT^A01 (synthetic)
MSH|^~\&|ADT|HOSP|EHR|CLINIC|202606051200||ADT^A01|0001|P|2.5
PID|1||MRN000123^^^HOSP||DOE^JANE||19800101|F
▾ AI-written transformation, reviewed and versioned
Output · Patient resource
{
  "resourceType": "Patient",
  "identifier": [{ "value": "MRN000123" }],
  "name": [{ "family": "Doe", "given": ["Jane"] }],
  "gender": "female",
  "birthDate": "1980-01-01"
}
Runs with no AI, your data stays out of the model

How it works

From a messy file to a tested pipeline, in minutes.

1

Describe it and bring your spec

Plain English, plus a sample, a spec, or a data dictionary. Cannot share data at all? Build from the spec alone.

2

AI writes transparent scripts

You get reviewable, versioned Python, never a black box. Inspect every line and preview the output on a sample.

3

Run it anywhere, with no AI

Trigger by API, schedule, or click, or pull from SFTP, S3, or Azure Blob. The sealed script does the work; nothing goes to a model.

The AI builds it. A sealed script runs it.

Most AI data tools push records through a language model on every run. We keep the model in the build phase only, so production never sends your data to a model.

Build (one time): AI writes the scripts, from your spec, or a sample you control
Every run after: sealed sandbox, no network, no AI, no data to any model

Full data-flow table and sub-processor list in our Trust Center →

Common questions

HL7 v2 to FHIR R4, answered.

Is this a replacement for an interface engine like Mirth?

For real-time MLLP feeds, no. For file-based and batch work, converting saved v2 messages, backfills, migrations, and analytics extracts, it covers the mapping without engine setup or licensing. Many teams use it alongside an engine for exactly that batch slice.

Which FHIR resources can it produce?

The ones you describe: Patient, Encounter, Observation, and so on, built from the segments present in your messages. The live preview shows the emitted resources on a sample before you run a full batch.

Does patient data reach the AI?

Not at run-time. While the scripts are being written the model sees a sample you control, ideally de-identified, or only your mapping spec. Production runs execute the sealed script in an isolated sandbox with no AI and no network.

Working with claims or clinical data? See the dedicated healthcare page →

Describe it once. Run it forever.

Build the transformation on a sample in minutes, review the scripts line by line, and let the sealed runs handle every file after that.