HL7 v2.x는 수십 년 동안 임상 IT에서 가장 널리 쓰인 교환 포맷입니다. 세그먼트 기반이며 파이프로 구분되고, MSH(메시지 헤더), EVN(이벤트), PID(환자), PV1(내원), OBR(요청), OBX(관측값) 같은 세그먼트와 구분자 ^~\&로 이루어집니다. 그 현대적 후속인 HL7 FHIR R4는 동일한 정보를 이름이 명확한 리소스(Patient, Encounter, Observation)로 모델링하고 JSON 또는 XML로 제공하므로, 웹 API와 최신 시스템에 훨씬 다루기 쉽습니다.
HL7 v2 파일을 끌어다 놓으면 도구가 세그먼트를 읽어 FHIR R4 Bundle(collection)을 구성합니다. 엄선한 핵심을 매핑합니다. MSH는 MessageHeader로, PID는 Patient 리소스(식별자, 이름, 성별, 생년월일, 주소, PD1으로 확장)로, PV1은 Encounter(구분, 내원 번호, 위치)로, NK1은 RelatedPerson(가족/보호자)으로, DG1은 Condition(건강 상태)으로, AL1은 AllergyIntolerance(알레르기)로, PR1은 Procedure로, OBX는 Observation(코드, 값, 단위)으로, OBR/ORC는 ServiceRequest(요청/지시)가 됩니다. 여러 파일을 한 번에 끌어다 놓을 수 있으며, 각 파일은 저마다 별도의 Bundle이 됩니다.
모든 처리는 브라우저에서 완전히 로컬로 실행됩니다(순수 JavaScript, 서버 없음, 외부 CDN의 외부 라이브러리 없음). 환자 데이터가 담긴 메시지는 기기를 떠나지 않습니다. 솔직히 말씀드리면, 이는 흔한 세그먼트 핵심을 구조적으로 변환하는 것이지 HL7에서 FHIR로의 완전한 매핑이 아니며(Z 세그먼트와 많은 세부 필드는 다루지 않음), 임상용 도구도 아닙니다. 결과는 대상 시스템의 프로파일 및 요구 사항과 대조해 확인하세요.
제한: HL7 v2 메시지(예: HL7 v2.5, 세그먼트 기반, 파이프 구분)를 HL7 FHIR R4 Bundle(collection, JSON)로 변환합니다: MSH -> MessageHeader, PID -> Patient(식별자, 이름, 성별, 생년월일, 주소), PD1은 Patient 리소스를 확장(주치의, 보호 표시), PV1 -> Encounter(구분, 내원 번호, 위치), NK1 -> RelatedPerson(가족/보호자, 관계, 주소, 전화), DG1 -> Condition(건강 상태, 상태 종류), AL1 -> AllergyIntolerance(알레르기, 중증도, 반응), PR1 -> Procedure, OBX -> Observation(코드, 값, 단위), OBR/ORC -> ServiceRequest(요청/지시), NTE는 바로 앞 리소스에 메모로 첨부됩니다. 이는 엄선한 세그먼트 핵심입니다. Z 세그먼트, EVN, 첫 번째를 넘어서는 반복, 많은 선택적 세부 필드는 이 버전에서 의도적으로 표현하지 않으므로 매핑은 무손실이 아닙니다. 파일은 UTF-8로 읽습니다. 메시지 자체의 MSH-18 문자 세트 필드는 평가되지 않습니다 - 움라우트나 특수 문자가 있는 ISO-8859-1/ANSI 인코딩 메시지의 경우, 먼저 파일을 UTF-8로 저장하세요. 이는 데이터 교환을 위한 구조적 포맷 변환이며 임상용 도구가 아닙니다. Bundle은 대상 시스템의 프로파일(예: 필수 필드, 용어 체계)과 대조해 확인하세요.
자주 묻는 질문
제 환자 데이터가 업로드되나요?
아니요. HL7 v2 메시지를 읽고 FHIR Bundle을 구성하는 작업은 모두 브라우저에서 로컬로 실행됩니다(순수 JavaScript, 서버 없음). 데이터는 기기를 떠나지 않습니다.
어떤 세그먼트가 매핑되나요?
MSH, PID, PD1, PV1, NK1, DG1, AL1, PR1, OBX, OBR, ORC, NTE가 각각 MessageHeader, Patient(PD1으로 확장), Encounter, RelatedPerson, Condition, AllergyIntolerance, Procedure, Observation, ServiceRequest로 매핑됩니다. NTE는 각각 바로 앞 리소스에 메모로 첨부됩니다. EVN과 벤더 고유의 Z 세그먼트는 다루지 않습니다.