[HealthCare] EHR 연동: HL7 / IEEE 11073 SDC 총정리


EHR 연동: HL7 / IEEE 11073 SDC 올인원 정리

나는 이래봬도 의료데이터를 활용해서 개발하는 사람인데, 최근 부트캠프 멘토링을 하다보면 의료기술 쪽으로 프로그램이 많이 생기길래 정리해두면 좋겠다 싶어 글을 작성해봤다.

의료데이터 스타트업을 운영하거나, 병원과 시스템을 연동하려 한다면 반드시 알아야 할 것이 있다.
바로 HL7IEEE 11073 SDC이다. 이 글에서는 두 표준이 무엇인지, 어떻게 쓰이는지, 그리고 최신 동향까지 한 번에 정리하였다.


1. EHR이란 무엇인가

  • EHR (Electronic Health Record) 는 전자의무기록 시스템을 말한다.
  • 환자의 진료기록, 검사결과, 처방, 영상 등 모든 의료 데이터를 담는다.
  • 문제는 병원마다 시스템과 기기가 제각각이라서 서로 데이터를 주고받기 어렵다는 점이다.
  • 그래서 국제 표준 언어가 필요하게 되었다. 이게 바로 HL7의 탄생 계기이다.

2. HL7: 병원 시스템 간 언어

  • HL7 (Health Level Seven) 은 병원 전산끼리 정보를 주고받는 국제 표준이다.
  • HL7 v2는 1980년대부터 쓰였고, 여전히 대부분의 병원에서 사용한다.
  • HL7 v3는 XML 기반으로 복잡하여 널리 퍼지지 못했다.
  • FHIR (Fast Healthcare Interoperability Resources) 는 최신 표준으로 JSON과 API 기반이라 현대적인 시스템과 잘 맞는다.
  • 요약하자면 옛날에는 텍스트, 중간에는 XML, 지금은 JSON(FHIR) 시대라고 할 수 있다.

3. IEEE 11073 SDC: 의료기기 연결 언어

  • SDC (Service-oriented Device Connectivity) 는 의료기기를 네트워크에 연결하기 위한 국제 표준이다.
  • 의료기기가 “나는 혈압 데이터를 제공한다” “나는 산소포화도를 알려줄 수 있다”와 같이 스스로 기능을 설명할 수 있게 정의하였다.
  • 환자 모니터, 인퓨전 펌프, 수술 장비 등 다양한 기기가 SDC를 통해 안전하게 데이터를 주고받는다.
  • 단순한 측정값 전송뿐 아니라 알림, 원격 제어까지 지원한다.
  • 보안은 TLS와 X.509 인증서를 통해 이루어진다.

4. HL7 + SDC 조합: 왜 필요한가

  • 병원에는 수많은 기기가 있고, 각각이 데이터를 쏟아낸다.
  • 각 병원마다 데이터 세팅이 다르기 때문에, 이 데이터를 EHR에 직접 연결하면 포맷 충돌과 오류가 발생한다. 그래서 중간에서 standard 구조로 리팩토링을 해줘야 알아서들 편하게 데이터를 다룰 수 있다.
  • 그래서 구조는 이렇게 나뉜다:
    [의료기기] --SDC--> [게이트웨이] --HL7/FHIR--> [EHR]
    • 의료기기: 혈압 120/80 mmHg 데이터를 생성한다.
    • SDC 게이트웨이: 이를 SDC 언어로 받아 HL7/FHIR로 변환한다.
    • EHR: 변환된 데이터를 환자 기록에 저장한다.

5. 실제 데이터 흐름 예시

1) SDC에서 나온 값

Metric: BloodPressure
Value: 120/80
Unit: mmHg

2) 게이트웨이가 변환한 FHIR(JSON)

{
  "resourceType": "Observation",
  "subject": { "reference": "Patient/12345" },
  "device": { "reference": "Device/dev-mds-01" },
  "effectiveDateTime": "2025-08-26T10:30:00+09:00",
  "status": "final",
  "code": { "coding": [{ "system": "http://loinc.org", "code": "85354-9", "display": "Blood pressure panel" }] },
  "component": [
    {
      "code": { "coding": [{ "system": "http://loinc.org", "code": "8480-6", "display": "Systolic blood pressure" }] },
      "valueQuantity": { "value": 120, "unit": "mmHg" }
    },
    {
      "code": { "coding": [{ "system": "http://loinc.org", "code": "8462-4", "display": "Diastolic blood pressure" }] },
      "valueQuantity": { "value": 80, "unit": "mmHg" }
    }
  ]
}

6. 최신 버전 기준

  • HL7 v2: 2.9.1 (2024)
  • FHIR: R5 (2023, 최신 안정판)
  • IEEE 11073 SDC:
    • 10207 (BICEPS, 데이터 모델)
    • 20702 (MDPWS, 통신)
    • 20701 (아키텍처 바인딩)

7. 정리

  • HL7/FHIR은 병원 전산끼리 소통하는 언어이다.
  • SDC는 의료기기끼리 소통하는 언어이다.
  • 게이트웨이는 두 언어를 번역한다.
  • 최신 연동은 SDC + FHIR 조합으로 한다.
  • 다만 현실적으로 병원 내부에는 HL7 v2도 병행해야 한다.
  • 이 구조를 이해하면 헬스데이터 스타트업이 병원과 연동하는 모든 흐름을 설계할 수 있다.

Author: Ruby Kim
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Ruby Kim !
Comments
  TOC