개발/DICOM 이야기

07. DICOM UID(Unique Identifier)의 종류와 역할

devbake 2025. 7. 29. 00:50

병원 시스템에서 수많은 의료 영상이 매일 생성된다. CT 한 건당 수십~수백 장의 이미지가 생기고, 각 환자는 여러 날에 걸쳐 다양한 검사를 받는다. 이때 중요한 문제는 모든 영상 데이터를 정확하게 구분하고 추적할 수 있어야 한다는 것이다.
그렇지 않으면 영상이 뒤섞이거나 잘못 연결되는 의료 사고가 발생할 수 있다.
DICOM은 이 문제를 해결하기 위해 UID(Unique Identifier)라는 고유 식별 시스템을 도입했다.
UID는 사람 이름처럼 단순한 문자열이 아니라, 국제 표준에 기반한 전 세계에서 유일한 값으로 만들어진다.
이번 글에서는 DICOM UID의 의미, 생성 방식, 사용되는 위치, 그리고 실무에서 어떤 식으로 쓰이는지를 구체적으로 살펴본다.

 

1. DICOM UID란 무엇인가?

UID는 Unique Identifier의 약자로,
DICOM 객체나 시스템 구성 요소를 고유하게 식별하기 위해 사용된다.

UID의 특징

  • 전 세계에서 중복되지 않도록 설계된 문자열
  • DICOM 내부에서는 텍스트 형식의 숫자열로 구성
  • ISO 및 ITU-T 표준에 따라 DOT-separated decimal number 형태 사용

예시

"1.2.840.113619.2.55.3.604688234.781.1613211052.467"
 

이 숫자열은 단순히 랜덤한 숫자가 아니라, 조직의 식별자(OID) + 로컬 고유 정보로 구성되어 있다.

 

2. UID의 구성 방식

UID는 다음과 같은 구성 요소를 포함한다.

구성 요소 설명
조직 식별자 (Root OID) 각 기관, 제조사, 또는 소프트웨어가 보유한 고유 루트
도메인 정보 장비, 사용자, 시간, 일련번호 등으로 구성
생성 시각 기반 타임스탬프 또는 시퀀스 정보로 중복 방지
 

📌 예를 들어, 
1.2.840.10008 → DICOM에서 정의한 고정 UID (표준 UID)
1.2.826.0.1.3680043.10.1 → 한국의 일부 PACS 시스템에서 사용하는 Private Root OID

 

3. UID가 사용되는 위치

DICOM 파일에는 여러 곳에서 UID가 등장한다.
각 UID는 객체 간 관계를 명확히 연결하는 데 사용된다.

태그 UID 설명
(0020,000D) Study Instance UID 검사 단위 식별자
(0020,000E) Series Instance UID 시리즈 단위 식별자
(0008,0018) SOP Instance UID 이미지(파일) 단위 식별자
(0008,0016) SOP Class UID 객체의 종류 정의 (예: CT Image Storage)

이 UID들이 정확히 설정되어 있어야 PACS 서버가 영상 파일을 분류, 저장, 연결할 수 있다.

 

4. UID의 종류 정리

UID 종류 설명 예시
SOP Instance UID 실제 DICOM 파일 식별자 1.2.840.113...
Series Instance UID 동일 설정 하에 촬영된 이미지 묶음 1.2.840.113...
Study Instance UID 하나의 검사 단위 식별자 1.2.840.113...
SOP Class UID 객체 종류 정의 1.2.840.10008.5.1.4.1.1.2 (CT)
Implementation Class UID 소프트웨어/장비 식별자 벤더별 UID
 

각 UID는 서로 연결되어 (Patient ) Study → Series → Instance 형태의 계층 구조를 구성하게 된다.

DICOM UID(Unique Identifier)의 종류와 역할

5. 실무에서 UID가 중요한 이유

  1. PACS 시스템에서 중복 방지
    → 같은 Study UID가 여러 번 업로드되면 중복 검사로 인식됨
  2. AI 데이터셋 구성 시 정확한 매칭
    → 환자 기준이 아닌 Study UID 기준으로 구성해야 누락/중복 방지 가능
  3. 익명화 처리에서 UID 유지 필요
    → 개인정보는 지워도 UID는 유지해야 영상 간 연관성 파악 가능
  4. 다기관 연구에서 데이터 통합 기준으로 사용
    → 서로 다른 병원의 영상도 UID 기반으로 병합 가능

 

6. UID 생성 방법

DICOM 소프트웨어 또는 의료기기 제조사는 자체 UID 생성 알고리즘을 갖고 있다.
만약 개인이 테스트용 UID를 생성해야 한다면 다음과 같은 방법을 쓴다.

예시: Python에서 UID 생성

 
import pydicom.uid
new_uid = pydicom.uid.generate_uid()
print(new_uid)

이 UID는 고유한 시간 정보와 시퀀스 번호를 기반으로 만들어지기 때문에 테스트 환경에서도 중복되지 않는 UID를 손쉽게 생성할 수 있다.

 

7. UID 오류 사례

실무에서는 다음과 같은 UID 오류가 자주 발생한다.

  • UID가 누락된 파일 → PACS 업로드 실패
  • 동일한 UID가 다른 영상에 사용됨 → 덮어쓰기 발생
  • SOP Class UID가 잘못 설정됨 → 뷰어에서 영상 해석 불가

이런 오류는 단순 파일 오류처럼 보이지만, 의료 영상 진단에 직접적인 영향을 미치기 때문에 반드시 UID 설정 상태를 확인해야 한다.

 


결론

UID는 DICOM 파일의 정체성을 결정짓는 핵심 요소다.
영상 데이터가 아무리 정확해도 UID가 잘못 설정되면 PACS 연동, AI 학습, 영상 분류 작업에 심각한 오류를 일으킬 수 있다.
Study, Series, SOP Instance, SOP Class UID 각각의 역할과 관계를 명확히 이해해야 의료 영상 데이터를 안정적으로 관리하고 해석할 수 있다.
다음 글에서는 DICOM의 데이터 전송 구조 중 바이트 순서에 관련된 Little Endian과 Big Endian의 차이에 대해 설명할 예정이다.