Medical Statement 바운디드 컨텍스트
1. 컨텍스트 정의
Medical Statement 도메인은 한국의 진료비 세부산정 내역서 업로드, LLM 분석, 의료진 검증, 액세스 코드 생성을 담당하는 바운디드 컨텍스트입니다.
1.1 주요 책임
- 진료비 세부산정 내역서 업로드 관리 (Medical Statement Upload Management)
- LLM 분석 처리 (LLM Analysis Processing)
- 의료진 검증 프로세스 (Medical Professional Verification Process)
- 액세스 코드 생성 관리 (Access Code Generation Management)
- 진료비 세부산정 내역서 데이터 관리 (Medical Statement Data Management)
- 처리 이력 추적 (Processing History Tracking)
1.2 도메인 용어
- 진료비 세부산정 내역서(Medical Expense Statement): 한국의 모든 병원에서 환자에게 발급하는 진료비 상세 내역 문서
- 진료비 세부산정 내역서(Medical Statement): 진료비 세부산정 내역서를 포함한 의료 관련 문서의 총칭
- LLM 분석(LLM Analysis): 인공지능을 이용하여 진료비 세부산정 내역서 내용을 자동으로 분석하는 과정
- 의료진 검증(Medical Professional Verification): 의료진이 LLM 분석 결과를 검토하고 승인/거부를 결정하는 과정
- 임시 액세스 코드(Temporary Access Code): 진료비 세부산정 내역서 업로드 시 즉시 발급되는 임시 접근 코드
- 정식 액세스 코드(Final Access Code): 의료진 승인 완료 시 발급되는 정식 접근 코드
- 처리 상태(Processing Status): 진료비 세부산정 내역서 처리 과정의 현재 단계
- 검토 대기열(Review Queue): 의료진 검증을 기다리는 진료비 세부산정 내역서 목록
- OCR(Optical Character Recognition): 이미지에서 텍스트를 추출하는 기술
2. 하위 컨텍스트
2.1 진료비 세부산정 내역서 업로드 컨텍스트 (Medical Statement Upload Context)
진료비 세부산정 내역서 이미지 업로드 및 초기 처리를 담당합니다.
책임
- 진료비 세부산정 내역서 이미지 업로드 처리
- 이미지 파일 검증 및 최적화
- 이미지 메타데이터 추출
- Google Cloud Storage 저장 관리
- 업로드 진행 상황 추적
정책 및 규칙
-
이미지 업로드 정책
- 지원 형식: JPEG, PNG
- 최대 파일 크기: 10MB
- 이미지 해상도: 최소 800x600 픽셀
- 업로드 시 자동 이미지 최적화 수행
- EXIF 데이터 자동 제거로 개인정보 보호
- 업로드 완료 시 즉시 임시 액세스 코드 생성
-
파일 보안 정책
- 업로드된 이미지는 즉시 암호화하여 저장
- Signed URL을 통한 안전한 이미지 접근
- 이미지 URL 만료 시간: 30분
- 업로드 세션별 고유 식별자 부여
2.2 LLM 분석 컨텍스트 (LLM Analysis Context)
진료비 세부산정 내역서 자동 분석 처리를 담당합니다.
책임
- LLM을 이용한 진료비 세부산정 내역서 내용 분석
- OCR을 통한 텍스트 추출
- 분석 결과 구조화 및 저장
- 분석 품질 평가 및 신뢰도 계산
- 분석 실패 시 재시도 처리
정책 및 규칙
-
LLM 분석 정책
- 분석은 비동기로 처리하여 사용자 대기 시간 최소화
- 분석 실패 시 최대 3회까지 자동 재시도
- 다양한 LLM 모델 지원 (OpenAI, Google AI 등)
- 분석 결과 신뢰도 점수 계산 (0-1 범위)
- 신뢰도 0.8 이상 시 자동 승인 권장
- 신뢰도 0.5 미만 시 추가 검토 필요 표시
-
분석 품질 관리 정책
- 분석 소요 시간 모니터링 (목표: 30초 이내)
- 분석 정확도 지속적 개선
- 한국 의료 용어 특화 처리
- 분석 결과 검증 및 후처리
2.3 의료진 검증 컨텍스트 (Medical Professional Verification Context)
의료진의 검토 및 승인 프로세스를 담당합니다.
책임
- 검토 대기열 관리
- 검토자 할당 및 스케줄링
- 승인/거부 결정 처리
- 검토 이력 관리
- 검토 마감일 관리
정책 및 규칙
-
검토 할당 정책
- 검토자는 작업량 기반 자동 분배 또는 수동 할당
- 검토 마감일: 할당 시점으로부터 48시간
- 마감일 경과 시 자동으로 다른 검토자에게 재할당
- 검토자별 동시 검토 가능 건수 제한 (최대 10건)
-
검증 결정 정책
- 모든 진료비 세부산정 내역서는 의료진의 최종 승인이 있어야만 유효
- 승인 시 정식 액세스 코드 자동 생성
- 거부 시 상세한 거부 사유 필수 입력
- 거부된 진료비 세부산정 내역서는 재업로드 가능
- 검토 결정은 즉시 환자에게 알림 발송
2.4 액세스 코드 관리 컨텍스트 (Access Code Management Context)
액세스 코드 생성 및 관리를 담당합니다.
책임
- 임시 액세스 코드 생성
- 정식 액세스 코드 생성
- 액세스 코드 유효성 관리
- 코드 만료 처리
정책 및 규칙
-
액세스 코드 생성 정책
- 진료비 세부산정 내역서 업로드 시 즉시 임시 코드 생성
- 임시 코드는 의료진 승인 전까지만 유효
- 승인 완료 시 정식 코드 자동 생성
- 코드는 고유하며 추측 불가능한 형태
-
코드 보안 정책
- 액세스 코드는 암호화하여 저장
- 코드 사용 이력 추적
- 만료된 코드는 자동 비활성화
- 코드별 접근 권한 관리
2.5 데이터 관리 컨텍스트 (Data Management Context)
진료비 세부산정 내역서 관련 데이터의 저장, 보존, 아카이빙을 담당합니다.
책임
- 진료비 세부산정 내역서 데이터 저장 및 관리
- 데이터 보존 정책 적용
- 감사 로그 관리
- 데이터 백업 및 복구
- 통계 및 리포트 생성
정책 및 규칙
-
데이터 보존 정책
- 진료비 세부산정 내역서 원본 이미지: 최소 7년간 보존
- LLM 분석 결과: 최소 5년간 보존
- 검토 이력: 영구 보존
- 처리 로그: 최소 3년간 보존
-
데이터 보안 정책
- 모든 개인정보는 암호화하여 저장
- 접근 권한은 최소 권한 원칙 적용
- 데이터 접근 시 감사 로그 자동 생성
- 정기적인 데이터 무결성 검사 수행
3. 컨텍스트 경계
3.1 상위 컨텍스트
- User Domain: 사용자 정보 관리, 치료 주기 관리
- Auth Domain: 인증 및 권한 관리
3.2 동등 컨텍스트 (Peer Context)
- Access Code Domain: 액세스 코드 관리
- Notification Domain: 알림 관리
3.3 하위 컨텍스트
- Analytics Domain: 진료비 세부산정 내역서 분석 통계
- Audit Domain: 감사 로그 관리
3.4 외부 시스템
- Google Cloud Storage: 진료비 세부산정 내역서 이미지 저장
- Google Cloud Tasks: 비동기 작업 처리
- LLM Services: OpenAI, Google AI 등 분석 엔진
- OCR Services: 텍스트 추출 서비스
- Firebase Cloud Messaging: 푸시 알림 서비스
4. 컨텍스트 매핑
4.1 User Domain과의 관계 (Customer-Supplier + Anti-Corruption Layer)
4.2 Auth Domain과의 관계 (Conformist)
4.3 Notification Domain과의 관계 (Published Language)
4.4 Analytics Domain과의 관계 (Published Language)
5. 도메인 이벤트
5.1 발행하는 이벤트
- MedicalStatementUploaded: 진료비 세부산정 내역서가 업로드됨
- LLMAnalysisCompleted: LLM 분석이 완료됨
- LLMAnalysisFailed: LLM 분석이 실패됨
- MedicalStatementApproved: 진료비 세부산정 내역서가 승인됨
- MedicalStatementRejected: 진료비 세부산정 내역서가 거부됨
- TemporaryAccessCodeGenerated: 임시 액세스 코드가 생성됨
- FinalAccessCodeGenerated: 정식 액세스 코드가 생성됨
- ReviewerAssigned: 검토자가 할당됨
- ReviewDeadlineExpired: 검토 마감일이 만료됨
- ProcessingCompleted: 전체 처리가 완료됨
- ProcessingFailed: 처리가 실패됨
- DataArchived: 데이터가 아카이브됨
5.2 구독하는 이벤트
User 도메인 이벤트
- UserCycleStarted: 사용자 주기 시작 - 새로운 진료비 세부산정 내역서 업로드 권한 활성화
- UserCycleCompleted: 사용자 주기 완료 - 관련 진료비 세부산정 내역서 데이터 아카이브 처리
- UserDeleted: 사용자 데이터 삭제 - 관련 진료비 세부산정 내역서 데이터 정리 및 삭제
Auth 도메인 이벤트
- UserAuthenticated: 사용자 인증 완료 - 진료비 세부산정 내역서 업로드 권한 확인
- TokenExpired: 토큰 만료 - 진행 중인 업로드 세션 정리
기타 외부 이벤트
- CloudTaskCompleted: Cloud Task 완료 - LLM 분석 작업 완료 처리
- CloudTaskFailed: Cloud Task 실패 - 분석 실패 처리 및 재시도
6. 보안 정책
6.1 진료비 세부산정 내역서 보안 정책
- App Token 기반 디바이스 인증 및 무결성 검증
- Multipart form-data를 통한 안전한 이미지 업로드
- 업로드된 이미지 즉시 암호화 저장
- 이미지 접근 시 Signed URL 사용 (30분 유효)
- 개인정보 자동 마스킹 처리
- 진료비 세부산정 내역서별 접근 권한 엄격 제어
6.2 분석 데이터 보안 정책
- LLM 분석 결과 암호화 저장
- 개인식별정보 자동 감지 및 마스킹
- 분석 요청 시 최소 필요 데이터만 전송
- 분석 완료 후 임시 데이터 자동 삭제
- 분석 과정 감사 로그 기록
6.3 검증 프로세스 보안 정책
- 의료진 자격 검증 후 검토 권한 부여
- 검토 과정 모든 단계 감사 로그 기록
- 검토자별 접근 권한 최소화
- 검토 결정 변경 불가 (감사 추적성 보장)
7. 기술 스택
- NestJS
- TypeScript
- PostgreSQL (진료비 세부산정 내역서 메타데이터, 분석 결과, 검증 이력)
- Google Cloud Storage (진료비 세부산정 내역서 이미지 저장)
- Google Cloud Tasks (비동기 LLM 분석 처리)
- Redis (분석 상태 캐싱, 세션 관리)
- OpenAI API / Google AI API (LLM 분석)
- Google Cloud Vision API (OCR)
- Firebase Cloud Messaging (푸시 알림)
8. 컨텍스트 간 통신 패턴
8.1 진료비 세부산정 내역서 업로드 플로우
8.2 의료진 검증 플로우
9. 데이터 플로우
9.1 진료비 세부산정 내역서 처리 데이터 플로우
9.2 검증 프로세스 데이터 플로우
10. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-01-03 | bok@weltcorp.com | 최초 작성 - 한국 진료비 세부산정 내역서 분석 시스템 바운디드 컨텍스트 정의 |