# Product

<!-- impeccable:product-schema 1 -->

## Platform

web

## Users

**Primary — FC(보험 설계사).** 보험유니버스 유저 페이지에 로그인해 고객의 분석내역 상세를 연다. 하는 일은 고객의 진료·투약 원본 이력을 읽고, 인수 심사에서 무엇이 걸리는지와 미청구로 남은 것이 무엇인지를 판단한 뒤 **그 판단을 고객에게 설명하는 것**이다.

**Secondary — FC의 고객.** 스스로 로그인하지 않는다. FC가 화면을 공유하며 설명하는 자리에서 본다. 자기 이력이므로 화면의 오독을 즉시 반박한다 — 판정의 정답 기준이 이 사람의 기억이다.

**Secondary — admin-view 열람자.** 운영 측에서 같은 분석을 열람한다.

## Product Purpose

고객 본인 인증으로 끌어온 진료·투약 원본 이력을, FC가 그 자리에서 쓸 수 있는 **판단 단위**로 바꿔 준다. 성공은 FC가 별도 조회나 계산 없이 화면만 보고 고객에게 설명을 끝내는 것이다.

## Positioning

두 가지가 이 제품의 기제다.

1. **인수 심사 기준으로의 재조단.** 원본 이력을 청약 인수 기준(건강체 · 5년 내 30일 이상 투약 · 5년 내 입원/수술 · 유병자 등)으로 다시 나눠, FC가 바로 쓰는 판단 단위로 낸다. 이력을 보여 주는 것과 인수 기준으로 나눠 주는 것은 다른 제품이다.
2. **판정 근거 공개.** 결론만 주지 않고 그 판정이 **어느 진료·어느 규칙에서 나왔는지**를 함께 낸다. FC가 고객 앞에서 설명할 수 있어야 한다는 것이 제품의 조건이지 부가 기능이 아니다. 근거를 못 대는 판정은 고객의 기억과 부딪히는 순간 컴플레인이 된다.

## Operating Context

- FC가 고객 앞에서 **화면을 공유하며 설명**한다. 모바일 화면 공유가 실사용 장면이다.
- 화면은 최상위 탭으로 갈린다 — 보상 찾아줘 · 병력분석 · 건강체 · 유병자 · 주의사항. 각 탭 아래 하위 탭이 분석 항목(`ANS0xx`)에 대응한다.
- 같은 분석 컴포넌트를 6개 페이지가 공유한다 — 정회원 상세 · B2C 2종 · admin-view 3종. 화면 하나를 고치면 여섯 소비자가 함께 움직인다. 여섯 모두 `insuniverse-site/front` 안이다.
- **`insuniverse-admin` 은 별개 제품이고 디자인 시스템도 별개다** — AdminLTE 계열이며 정본이 `insuniverse-admin/public/_statics/_rsteam/style.css` 다. 이 문서가 기술하는 화면 규약은 site 에만 적용된다.
- 결과는 PDF로 내려받아 오프라인에서도 쓰인다.

## Capabilities and Constraints

- 원본 이력을 인수 기준 축으로 재분류해 보여 준다. 판정 근거(진료·규칙)를 함께 낸다. 미청구 가능성 건을 별도 축으로 낸다. 결과 PDF 다운로드.
- 분석 원본은 **30일 보존**이고 파생 데이터도 같은 창에서 함께 지워진다.
- 외부 판정 제공자 연동 시 **인증 키는 클라이언트에 어떤 형태로도 실리지 않는다.**
- 외부 고객사 API 계약이 별도로 존재하며 저장소 밖 소비자가 있다.
- 정회원 · B2C · 고객사의 데이터 출처 표가 서로 다르다. 한 화면이 세 축을 분기로 처리한다.

**용어 — 판정 3축은 혼용하지 않는다.**

| 축 | 뜻 | 값 |
|---|---|---|
| `bucket` | 화면 그룹핑 | 주치료 · 보조치료 · 이 상병과 무관 |
| `role` | 세부 사유 | 주치료 · 보조치료 · 대증완화 · 무관 · 판단불가 |
| `label` | 허가 효능효과 포함 여부 | 해당 · 비해당 · 판단불가 |

`pending`(판정 전)은 `판단불가`와 **다른 구획**이다. 같은 목록에 섞지 않는다.

**미결로 남은 제품 사실** — 판정 결과 저장을 정회원/B2C/고객사 3축으로 나눌지 한 곳에 합칠지. 외부 고객사 계약을 언제 맞출지. 실명 전송이 개인정보 처리방침·위탁 고지 갱신을 요구하는지.

## Brand Commitments

- **제품명 표기 고정.** `보험유니버스` · `Insight Plan`. 임의로 바꾸지 않는다.
- **기존 CSS 토큰이 정본.** `insuniverse-site/front/public/css/style.css` 의 색·간격·컴포넌트 클래스를 따른다. 새 디자인 시스템을 들이지 않는다.
- **금융 문구 보수성.** 보험금 지급 여부나 인수 여부를 단정하는 표현을 쓰지 않는다. 지급·인수는 각 보험사 심사 결과라는 고지가 결과 화면에 따라붙는다.

## Evidence on Hand

- 실제 판정 왕복 응답 1건 — `.claude/plans/drug-diag-api-m1.roundtrip.json`. 상병 그룹 3건, `M170` 그룹에서 주치료/보조치료가 갈린 실례를 포함한다.
- 외부 판정 API 계약 동결본 — `.claude/plans/drug-diag-api-m1.contract.json`.
- AI 인사이트 참조 화면 — `https://d-web.lumi.rs-team.com/insu_univ/test__insu.html`. 발견 덩어리 구조와 생성 출처 배지(룰/LLM)를 이 화면이 정의한다.
- 진단 그룹 화면 참조 시안은 **아직 열람하지 못했다.** 없는 시안을 있다고 가정하지 않는다.
- 컴플레인 정량 기록은 **없다.** 건수·빈도를 지어내지 않는다.

## Product Principles

1. **판정에는 근거가 따라붙는다.** 결론만 보이는 화면은 고객 앞에서 설명되지 않는다.
2. **문장의 출처를 밝힌다.** 규칙이 만든 문장과 언어모델이 만든 문장을 구별해 표기한다. 템플릿 문장에 LLM 라벨을 다는 것은 이 제품이 해서는 안 되는 한 가지다.
3. **오독을 만드는 구성은 결함이다.** 보조약이 독립 질환처럼 서는 것 같은 자리는 표현이 아니라 결함으로 다룬다.
4. **외부 판정이 늦거나 실패해도 화면은 선다.** 기존 축이 그대로 남아 있는 것이 fallback 이다.
5. **한 화면을 여섯 소비자가 쓴다.** 바꿀 때 누가 함께 움직이는지를 먼저 센다.

## Accessibility & Inclusion

법적·계약상 요구된 표준은 **없다**(사용자 확인). 기준은 실사용 환경이다 — FC가 고객 앞에서 모바일 화면을 공유하고, 작은 글씨와 밝은 조명 아래서 읽힌다.
