# MediScan: 보험사별 간편심사 규칙 DB + 분석 엔진 적용

## 작업 레벨: Lv.2

## 배경
고지의무 리서치 완료: `/home/jay/workspace/memory/research/mediscan-obligation-complete.md`
현재 obligation_classifier.py는 표준체(일반심사) 3개월/1년/5년만 지원.
보험사별 간편심사 규칙을 JSON DB로 구축하고 분석 엔진에 연동 필요.

## 구현 사항

### 1. 간편심사 규칙 JSON DB 생성
파일: `/home/jay/projects/MediScan/src/data/simplified_rules.json`

리서치 기반으로 10개 보험사 규칙을 JSON 형태로 구축:

```json
[
  {
    "insurer": "삼성생명",
    "type": "simplified",
    "code": "3-2-5",
    "questions": [
      {"period_months": 3, "conditions": ["입원", "수술", "추가검사소견"]},
      {"period_months": 24, "conditions": ["입원", "수술"]},
      {"period_months": 60, "diseases": ["암"], "conditions": ["진단", "입원", "수술"]}
    ]
  },
  {
    "insurer": "DB손해보험",
    "type": "simplified",
    "code": "3-2-5",
    "questions": [
      {"period_months": 3, "conditions": ["입원", "수술", "치료", "추가검사소견"]},
      {"period_months": 24, "conditions": ["입원", "수술", "7일이상치료"]},
      {"period_months": 60, "diseases": ["암", "백혈병"], "conditions": ["진단", "입원", "수술", "치료"]}
    ],
    "note": "Q2에 7일 이상 치료 포함, Q3에 백혈병 명시"
  },
  {
    "insurer": "현대해상",
    "type": "simplified",
    "code": "3-5-5",
    "questions": [
      {"period_months": 3, "conditions": ["입원", "수술", "추가검사소견"]},
      {"period_months": 60, "conditions": ["입원"]},
      {"period_months": 60, "conditions": ["수술"]},
      {"period_months": 60, "diseases": ["암", "협심증", "심근경색", "뇌졸중", "심장판막증", "간경화"], "conditions": ["진단", "입원", "수술"]}
    ],
    "note": "2년 대신 5년, 6대 질병"
  }
]
```
... 나머지 7개 보험사도 리서치 기반으로 작성

### 2. 간편심사 판별기 추가
파일: `/home/jay/projects/MediScan/src/analysis/simplified_classifier.py` (신규)

```python
class SimplifiedClassifier:
    def __init__(self, rules_path: str = None):
        self.rules = self._load_rules(rules_path)
    
    def evaluate(self, insurer: str, records: list, analysis_date: date) -> SimplifiedResult:
        """특정 보험사의 간편심사 기준으로 가입 가능 여부 판별"""
        
    def evaluate_all(self, records: list, analysis_date: date) -> dict[str, SimplifiedResult]:
        """전 보험사 간편심사 일괄 평가"""
```

### 3. engine.py에 간편심사 모드 추가
기존 MediScanEngine.analyze()에 mode 파라미터 추가:
- mode="standard": 기존 표준체 분석 (변경 없음)
- mode="simplified": 간편심사 분석 (신규)
- mode="both": 양쪽 모두 (신규)

### 4. 분석 결과 모델 확장
models.py에 SimplifiedResult 추가:
```python
class SimplifiedResult(BaseModel):
    insurer: str
    code: str  # "3-2-5" 등
    can_apply: bool  # 가입 가능 여부
    blocking_questions: list[dict]  # 가입 불가 사유
```

## 검증
- 기존 338개 테스트 전체 PASS 유지
- 간편심사 테스트: 최소 10개 (보험사별 1개씩)
- DB손보 Q2 "7일 이상 치료" 포함 케이스 테스트
- 현대해상 6대 질병 vs 10대 질병 차이 테스트

## 참고
- 리서치: `/home/jay/workspace/memory/research/mediscan-obligation-complete.md` 섹션 2, 3
- 기존 코드: `/home/jay/projects/MediScan/src/analysis/obligation_classifier.py`
- 기존 모델: `/home/jay/projects/MediScan/src/analysis/models.py`