en

HL7 to FHIR

Convert an HL7 v2 message into a FHIR R4 Bundle (JSON) - locally in the browser, with no upload; the patient data never leaves your device.

Running locally on your device ...

Viewing and conversion only, not a diagnostic aid.

Running locally on your device ...

0%

Is my file uploaded?

No. Everything runs in your browser - your file never leaves your device. How this is verifiable

No upload100% local
Your content stays with youno third-party access
Hosted in GermanyGlobal Content Delivery
Independently auditedTLS A+ · HTTP headers A+

HL7 v2.x has been the most widespread interchange format in clinical IT for decades: segment-based and pipe-delimited, with segments like MSH (message header), EVN (event), PID (patient), PV1 (encounter), OBR (request) and OBX (observation) and the delimiters ^~\&. The modern successor HL7 FHIR R4 models the same information as clearly named resources (Patient, Encounter, Observation) and delivers them as JSON or XML - far easier for web APIs and modern systems.

Drop your HL7 v2 file; the tool reads the segments and builds a FHIR R4 Bundle (collection). A curated core is mapped: MSH becomes a MessageHeader, PID a Patient resource (identifier, name, gender, birth date, address, extended by PD1), PV1 an Encounter (class, visit number, location), NK1 a RelatedPerson (next of kin), DG1 a Condition (health condition), AL1 an AllergyIntolerance (allergy), PR1 a Procedure, OBX an Observation (code, value, unit) and OBR/ORC a ServiceRequest (order). You can drop several files at once, each becomes its own Bundle.

Everything runs entirely locally in the browser (pure JavaScript, no server, no foreign library from a foreign CDN) - the message with its patient data never leaves your device. Honest framing: this is a structural conversion of a common segment core (now including NK1, DG1, AL1, PR1, ORC, NTE and PD1), not a complete HL7-to-FHIR mapping (Z-segments and many detail fields are not covered) and not a clinical tool. Verify the result against the profiles and requirements of your target system.

Specifications

Specifications
Input formatsHL7, TXT
Auto-conversionPNG, JPG, WebP, GIF, BMP, TIFF, ICO, SVG, HEIC, PDF, MP3, WAV, DOCX, MIDI, DDS, HDR, PCX, WBMP
Output formatJSON
Batch processingYes
ProcessingLocally in your browser (JavaScript)
File uploadNone

In 3 steps

  1. Drop your HL7 v2 file(s) (.hl7, .txt).
  2. The conversion runs automatically, locally in the browser.
  3. Download the FHIR R4 Bundle (.json) - one per message.

Limitations: Converts an HL7 v2 message (e.g. HL7 v2.5, segment-based, pipe-delimited) into an HL7 FHIR R4 Bundle (collection, JSON): MSH -> MessageHeader, PID -> Patient (identifier, name, gender, birth date, address), PD1 extends the Patient resource (primary care provider, protection indicator), PV1 -> Encounter (class, visit number, location), NK1 -> RelatedPerson (next of kin, relationship, address, phone), DG1 -> Condition (health condition, condition type), AL1 -> AllergyIntolerance (allergy, severity, reaction), PR1 -> Procedure, OBX -> Observation (code, value, unit), OBR/ORC -> ServiceRequest (order), NTE attaches as a note onto the preceding resource. It is a curated segment core: Z-segments, EVN, repetitions beyond the first and many optional detail fields are intentionally not represented, so the mapping is not lossless. The file is read as UTF-8; the message's own MSH-18 character-set field is not evaluated - for ISO-8859-1/ANSI-encoded messages with umlauts or special characters, save the file as UTF-8 first. It is a structural format conversion for data exchange and not a clinical tool; verify the Bundle against the profiles (e.g. required fields, terminologies) of your target system.

FAQ

Is my patient data uploaded?

No. Reading the HL7 v2 message and building the FHIR Bundle run entirely locally in the browser (pure JavaScript, no server); the data never leaves your device.

Which segments are mapped?

MSH, PID, PD1, PV1, NK1, DG1, AL1, PR1, OBX, OBR, ORC and NTE are mapped to MessageHeader, Patient (extended by PD1), Encounter, RelatedPerson, Condition, AllergyIntolerance, Procedure, Observation and ServiceRequest; NTE attaches as a note onto the preceding resource. EVN and vendor-specific Z-segments are not covered.

Which FHIR version is produced?

HL7 FHIR R4 as a Bundle of type collection with one resource per mapped segment - as JSON.

Is the conversion lossless?

No. A curated segment core is mapped; Z-segments, further repetitions and many optional fields are left out. Verify the Bundle against the profiles of your target system.

Can I convert several messages at once?

Yes. Drop several HL7 v2 files at once; each becomes its own FHIR R4 Bundle.

Related tools

Anonymize DICOM · FHIR JSON and XML · View HL7 CDA