# MediScan: KCD-8 상병코드 전체 DB 구축

## 작업 레벨: Lv.2

## 배경
MediScan 분석 엔진의 disease_normalizer.py에서 KCD 코드 매핑을 현재 핵심 코드만 하드코딩 중.
전체 KCD-8(한국표준질병사인분류 제8차 개정) 코드 DB를 구축하여 정확도를 높여야 함.

## 목표
KCD-8 전체 코드 목록을 수집하여 JSON 파일로 저장, disease_normalizer에서 로드하도록 연동.

## 구현 사항

### 1. KCD-8 데이터 수집
- 출처: 통계청 KOICD (https://koicd.kr) 또는 건보공단/심평원 공개 자료
- 대안: WHO ICD-10 기반 + 한국 확장 코드 수집
- 수집 방법: 공개 API, CSV 다운로드, 또는 웹 크롤링 (advanced-crawling 스킬 활용 가능)

### 2. 데이터 형식
```json
// src/data/kcd8_codes.json
{
  "A00": {"name": "콜레라", "category": "감염", "is_six_major": false},
  "C34": {"name": "기관지 및 폐의 악성 신생물", "category": "암", "is_six_major": true},
  "E11": {"name": "제2형 당뇨병", "category": "내분비", "is_six_major": true},
  "I21": {"name": "급성 심근경색증", "category": "순환기", "is_six_major": true},
  "I63": {"name": "뇌경색증", "category": "순환기", "is_six_major": true},
  ...
}
```

### 3. 6대질병 분류 매핑
- 암: C00-C97, D00-D09
- 뇌혈관: I60-I69
- 심장: I20-I25, I30-I52
- 간: K70-K77, B15-B19
- 당뇨: E10-E14
- 고혈압: I10-I15

### 4. disease_normalizer.py 연동
- 기존 하드코딩된 코드 → kcd8_codes.json에서 로드로 교체
- 파일: `/home/jay/projects/MediScan/src/analysis/disease_normalizer.py`
- 기존 테스트 172개 PASS 유지 필수

### 5. 검증
- KCD-8 코드 총 건수 확인 (약 12,000~15,000개 예상)
- 6대질병 코드 범위 정확성 확인
- 기존 테스트 전체 PASS

## 주의사항
- 저작권 확인: KCD-8은 통계청 공개 자료이나, 크롤링 시 robots.txt 준수
- 파일 크기: JSON이 크면 SQLite로 전환 검토
- Phase 1 기존 코드의 하드코딩 부분만 교체, 로직 변경 금지

## 참고
- disease_normalizer.py: `/home/jay/projects/MediScan/src/analysis/disease_normalizer.py`
- 통계청 KOICD: https://koicd.kr
