Skip to main content

HL7v2 to FHIR R4 mapping

ADT → Patient + Encounter

PID → Patient

HL7v2FHIR R4Notes
PID-3.1identifier[].valueLocal MRN
PID-3.4identifier[].systemAssigning authority as URN
PID-3 (national ID)identifier[]Separate entry with national system URI
PID-5.1name[0].familyFamily name
PID-5.2name[0].given[0]Given name
PID-5.3name[0].given[1]Middle name
PID-7birthDateYYYYMMDD → YYYY-MM-DD
PID-8genderM→male, F→female, U→unknown, A→other
PID-11.1address[0].line[0]Street address
PID-11.3address[0].city
PID-11.4address[0].state
PID-11.5address[0].postalCode
PID-11.6address[0].countryISO 3166-1 alpha-2
PID-13telecom[{system:phone}]
PID-19identifier[{system:ssn}]US SSN if present
MSH-4managingOrganizationVia JamFR resolution
MPI golden IDlink[type=refer]Via JamMPI resolution

PV1 → Encounter

HL7v2FHIR R4
PV1-2class (IMP=inpatient, AMB=ambulatory, ER=emergency)
PV1-3.1location[0].location.display (ward)
PV1-3.2location[0].location.display (room/bed)
PV1-7participant[{type:ATND}] (attending provider)
PV1-8participant[{type:REF}] (referring provider)
PV1-44period.start (admission datetime)
PV1-45period.end (discharge datetime, A03 only)
PV1-4priority (E=emergency, U=urgent, R=routine)

ORU → Observation + DiagnosticReport

OBX → Observation

HL7v2FHIR R4Notes
OBX-3codeLOINC preferred; translated by JamTS if local
OBX-5 (NM)valueQuantityNumeric result
OBX-5 (ST)valueStringString result
OBX-5 (CWE)valueCodeableConceptCoded result
OBX-6valueQuantity.unit + valueQuantity.codeUCUM unit
OBX-7referenceRange[0].textReference range string
OBX-8interpretationH→high, L→low, N→normal, A→abnormal
OBX-11statusF→final, P→preliminary, C→corrected
OBX-14effectiveDateTimeObservation datetime
OBX-16performer[0]Responsible observer

OBR → DiagnosticReport

HL7v2FHIR R4
OBR-4code (panel LOINC code)
OBR-7effectiveDateTime
OBR-22issued (result available datetime)
OBR-25status

RXE → MedicationRequest

HL7v2FHIR R4
RXE-2medicationCodeableConcept (translated to RxNorm by JamTS)
RXE-3dosageInstruction[0].doseAndRate[0].doseQuantity.value
RXE-4dosageInstruction[0].doseAndRate[0].doseQuantity.unit
RXE-7dispenseRequest.quantity
RXE-10dispenseRequest.numberOfRepeatsAllowed
ORC-1intent (NW=order, CA=cancel, DC=discontinue)
ORC-12requester (ordering provider)