HL7 CDA 표준 정리
헬스데이터 스타트업이라면 반드시 알아야 할 표준 중 하나가 바로 CDA (Clinical Document Architecture) 이다.
이 글에서는 CDA가 어떤 배경에서 등장했는지, 문서 구조는 어떻게 생겼는지, 그리고 실제 어디에 활용되는지를 정리한다.
1. CDA란?
- Clinical Document Architecture (임상 문서 구조)
- HL7 v3에서 파생된 표준으로, 임상 정보를 문서 형태로 전자 교환하기 위해 설계되었다.
- “메시지 기반 교환”이었던 v2/v3와 달리, CDA는 문서(document) 단위에 초점을 맞췄다.
- 현재도 여러 국가의 전자건강기록(EHR) 사업, 보험청구, 진료 요약서 교환 등에 사용된다.
2. CDA의 구조
CDA 문서는 크게 헤더(Header) 와 본문(Body) 으로 나뉜다.
헤더(Header)
- 환자 식별자, 작성자(의사/간호사), 작성일, 문서 종류(예: Discharge Summary) 등 메타데이터
- 문서를 해석할 때 기본 틀을 제공
본문(Body)
- 실제 임상 내용
- 진단, 검사 결과, 처방, 경과, 퇴원 요약 등
- 구조적(Structured) 본문 또는 자유 서술(Text) 본문 모두 가능
그런데 CDA는 HL7 v3에서 파생된 표준이므로, v3와의 차이를 이해하는 것이 중요하다.
HL7 v3와 CDA의 차이
구분 | HL7 v3 | CDA (Clinical Document Architecture) |
---|---|---|
출발점 | HL7이 v2 한계를 극복하려고 만든 차세대 메시징 표준 | HL7 v3의 기술을 바탕으로 만들어진 문서 교환 표준 |
표현 방식 | XML 기반, RIM(Reference Information Model) 전체를 따름 | XML 기반, <ClinicalDocument> 루트 + 헤더/본문 구조 |
단위 | 메시지 단위 (Observation, Order, Patient 등 이벤트 중심) | 문서 단위 (진료요약서, 퇴원 요약, 검사 리포트 등) |
구조 | 매우 복잡, classCode ·moodCode 등 속성 다수, 깊은 중첩 |
비교적 단순, 문서 헤더 + 본문으로 나뉨 |
상호운용성 | 국가·기관별 Implementation Guide 필요 → 글로벌 호환 실패 | 특정 문서 템플릿 정의 → 국가 단위 사업(EHR, 보험)에서 실제 활용 |
현실 평가 | 이론적으론 완벽, 하지만 너무 복잡해 실패 | 단순 문서 교환에는 성공, 여전히 현역 |
다음 세대 | CDA와 FHIR로 분화됨 | 이후 FHIR 문서 리소스(DocumentReference 등) 로 진화 |
📌 정리:
HL7 v3는 메시지 교환 전체를 새롭게 정의하려 한 대실험이었고,
CDA는 그 안에서 임상 문서를 교환하는 실용적 프로파일로 태어난 성공 사례다.
따라서 v3는 실패했지만 CDA는 지금도 보험청구·국가 EHR에서 현역으로 쓰인다.
3. CDA XML 예시 (축약본)
<ClinicalDocument xmlns="urn:hl7-org:v3">
<!-- 문서 식별자 -->
<id root="2.16.840.1.113883.19.5" extension="TT998"/>
<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
<!-- 환자 정보 -->
<recordTarget>
<patientRole>
<id extension="12345"/>
<patient>
<name>
<given>Minjun</given><family>Kim</family>
</name>
<birthTime value="19900101"/>
<administrativeGenderCode code="M"/>
</patient>
</patientRole>
</recordTarget>
<!-- 문서 본문 -->
<component>
<structuredBody>
<component>
<section>
<title>Discharge Summary</title>
<text>환자는 안정적인 상태로 퇴원하였다.</text>
</section>
</component>
</structuredBody>
</component>
</ClinicalDocument>
위 예시는 퇴원 요약서(Discharge Summary) 를 CDA 형식으로 기록한 단순 예시이다.
헤더에는 환자 이름과 성별, 생년월일이 들어가고, 본문에는 퇴원 소견이 서술돼 있다.
4. CDA의 특징과 장단점
장점
- 문서 중심: 한 문서 안에 환자 맥락 + 임상 내용을 함께 담을 수 있다.
- 표준화된 구조: 헤더/본문 구조가 명확하여 문서 간 교환이 용이하다.
- 확장성: 자유 텍스트도 담을 수 있어 기존 문서 문화를 그대로 살릴 수 있다.
- 호환성: 많은 국가 프로젝트(EHR, 보험)에서 채택되어 실제 현장 활용도가 높다.
단점
- 여전히 XML 기반: 복잡하고 장황하다.
- 구조적 제약: 본문에 자유 텍스트를 허용하면서도 구조적 요소를 강제해, 구현 난이도가 높다.
- 실시간 교환 한계: CDA는 문서 단위라서, API처럼 세밀한 데이터 조회에는 적합하지 않다.
5. 실제 활용 사례
국가 단위 EHR 사업:
- 미국 Meaningful Use 프로그램에서 CDA 기반의 “Continuity of Care Document (CCD)” 활용
- 한국, 일본 등도 국가 표준 문서 교환에 CDA를 활용
보험 청구:
- 진료 요약서, 처방전, 검사 리포트를 CDA 문서로 교환
병원 간 진료 정보 공유:
- 환자가 다른 병원으로 전원될 때, CDA 퇴원 요약서로 정보를 전송
6. 정리
- CDA는 HL7 v3에서 파생된 문서 교환 표준이다.
- 문서 단위로 환자 정보와 임상 데이터를 전달할 수 있어, 보험/진료요약/국가사업에서 여전히 많이 쓰인다.
- 그러나 XML 기반 특유의 장황함과 실시간 교환 한계 때문에, 최신 세대인 FHIR이 부상하게 되었다.
👉 요약하면, CDA는 v3의 유산이지만 여전히 현역에서 쓰이는 표준이며, FHIR로 이어지는 진화의 징검다리다.