HL7 Message Parser
Parse HL7 v2.x healthcare messages (ADT, ORU, ORM) into readable structure. Decode pipe-delimited segments into patient info, visit details, observations. Export to CSV or JSON.
Upload .hl7 / .txt / .msg file
Max 5MB
HL7 Message Parser Tutorial
What is HL7?
HL7 (Health Level Seven) is the messaging standard that powers most of healthcare IT. When a patient is admitted, a lab result comes back, or an order is placed, a pipe-delimited HL7 v2 message flies between EHR systems like this:
MSH|^~\&|APP|FAC|REC|RECFAC|20260420120000||ADT^A01|MSG001|P|2.5 PID|1||PATID1234||DOE^JOHN||19610615|M PV1|1|I|2000^2012^01||||DOC123
Each line is a segment (MSH, PID, PV1...), fields split by |, components by ^. Unreadable raw, but it's the lifeblood of hospital interop.
What Gets Extracted
- Message type (ADT^A01 → "Admit/Visit Notification")
- Patient: ID, name, DOB, sex, address
- Visit: class (inpatient/outpatient), location, attending doctor, admit time
- Source/destination systems: sending and receiving apps/facilities
- All segments: every field broken out to CSV
Supported Segments
Built-in names for: MSH, EVN, PID, PD1, NK1, PV1, PV2, OBX, OBR, ORC, DG1, AL1, IN1, GT1, NTE, MSA, ERR, FT1, SCH, and more. Unknown segments still parse — just without a friendly name.
Custom Separators
Some systems use non-standard delimiters. The tool reads them from the MSH header automatically:
- Field separator (position 4 of MSH)
- Component separator (position 5)
- Repeat separator
- Escape character
- Subcomponent separator
Privacy
HL7 messages often contain PHI. Everything is parsed in memory and discarded after the response. Nothing is stored or logged beyond anonymized hit counts. For serious PHI work, consider running this locally.