# MediScan: task-2163 머지 + Phase 1-C 리포트 생성기 개발

## 작업 레벨: Lv.3

## 작업 1: task-2163 머지 (선행)
- worktree: `/home/jay/projects/MediScan/.worktrees/task-2163-dev2`
- 브랜치: `task/task-2163-dev2`
- 이전 g3-fail 이벤트 존재 → 원인 확인 후 PR 생성 + 머지
- 207개 테스트 PASS 확인 후 진행
- 머지 후 worktree 정리

## 작업 2: Phase 1-C 리포트 생성기

### 배경
Phase 1-A(파서, 35 tests) + Phase 1-B(분석 엔진, 172 tests) 완료.
이제 분석 결과(AnalysisReport)를 **HTML 리포트 + 고지양식**으로 출력하는 모듈이 필요.

### 프로젝트 3문서
- 계획서: `/home/jay/workspace/memory/plans/mediscan/plan.md` (섹션 2.2C 참조)
- 맥락노트: `/home/jay/workspace/memory/plans/mediscan/context-notes.md` (섹션 4 리포트 형식)

### 구현 사항

```
src/
├── parsers/       # Phase 1-A (완료)
├── analysis/      # Phase 1-B (완료)
└── report/        # Phase 1-C (신규)
    ├── __init__.py
    ├── html_report.py       # HTML 리포트 생성기
    ├── disclosure_form.py   # 고지양식 자동 생성기
    ├── templates/
    │   ├── report.html      # Jinja2 HTML 템플릿
    │   └── disclosure.html  # 고지양식 템플릿
    └── formatters.py        # 날짜, 금액, 병원명 포맷터
```

### HTML 리포트 구조 (MHS V9.7 벤치마크)
1. **상단**: 고지 가이드라인 (표준체/유병자별 기준, 아코디언)
2. **3개월 항목**: 진단·치료 (확정/미확정), 투약 여부 동적 분기
3. **1년 항목**: 입원, 수술, 재검사/추적관찰
4. **5년 항목**: 7일+ 입원, 수술, 중대질병
5. **수술 항목**: 일반 수술 목록
6. **중증/특수치료**: 항암/방사선 등 붉은 Bold 경고
7. **투약정보**: [N일] 약품명 형태, 주사제 제외
8. **동일원인 합산 근거**: 토글 UI
9. **하단**: 고지양식 복사 버튼

### 고지양식 자동 생성
- 병원명 마스킹 (중간 1~2자 * 처리)
- 수술명 포맷: 수술명(날짜)
- 진료일자 형식: ☞[N일] 시작일~종료일
- 투약 여부 출력 (주사제 제외)
- 완치여부·치료내용 빈칸 처리
- 텍스트 복사 가능 형태

### 포맷터
- 날짜: YYYY-MM-DD → YYYY.MM.DD 또는 YY/MM/DD
- 금액: 콤마 포맷
- 병원명 마스킹: "수원성모이비인후과의원" → "수원*모이비인후과의원"
- 투약: "[90일] 지르텍정" 형태

### 기술 스택
- Jinja2 (HTML 템플릿)
- 기존 Pydantic 모델(AnalysisReport) 직접 활용

### 검증 시나리오
1. 샘플 PDF 5종 → 파싱 → 분석 → HTML 리포트 생성 → 파일 열어서 내용 확인
2. 고지양식 텍스트 추출 → 클립보드 복사 가능 형태
3. 병원명 마스킹 정확성
4. 3개월/1년/5년 섹션별 항목 렌더링

### 주의사항
- Phase 1-A, 1-B 코드 수정 금지
- docs/samples/ PDF git 커밋 금지
- HTML 리포트는 정적 HTML (JavaScript 최소화, 아코디언만)
- 보고서에 리포트 샘플 경로 포함할 것

## 참고
- MHS 리포트 구조: `/home/jay/workspace/memory/plans/mediscan/context-notes.md` 섹션 4
- 분석 엔진: `/home/jay/projects/MediScan/src/analysis/`
- 모델: `/home/jay/projects/MediScan/src/analysis/models.py` (AnalysisReport)
