docs/db · tbls 생성

HWSS DB 스키마

각 -core 모듈의 Flyway 마이그레이션을 실제 PostgreSQL 에 적용한 결과를 읽어 만든 명세서입니다. 소유 모듈 기준으로 자른 뷰포인트마다 ER 다이어그램과 테이블 목록이 있고, 테이블 이름을 누르면 컬럼·제약·인덱스 전문이 있는 GitHub 문서로 갑니다. 설명이 비어 있는 테이블은 마이그레이션에 COMMENT ON 이 아직 없다는 뜻입니다. 문서를 직접 고치지 않고 ./scripts/db-docs.sh 로 다시 생성합니다.

142테이블
1586컬럼
86관계
230마이그레이션

dev 기준 #2181 머지 11/13 17:36 · 커밋 b8b358b4 · 계기 Merge pull request #2181 from fdxchatgpt/feat/proto-front-parity-20261112 프로토·프론트 화면 차이 9건 동일화 (야간 20261112 아침 확인) 완료 · 2026-11-13 17:48 KST 빌드 · 빌드 런

변경 추적

최근 변경

최근 14일 · PR 35건 (최근 20건 표시)

dev 에 머지된 PR 중 이 가이드 범위의 파일을 바꾼 것입니다. 파일을 누르면 아래 해당 행으로 이동하고, 7일 이내에 바뀐 파일 행은 주황색으로 강조됩니다.

#216111/13 · 오늘제목은 로그인 후 표시
README.mdpublic.agent_studio_deployments.mdpublic.customer_companies.mdpublic.customer_disclosure_links.mdpublic.document_types.mdpublic.folder_classification_mapping_confirmations.mdschema.jsonviewpoint-1.md+1
#214011/11 · 어제제목은 로그인 후 표시
README.mdexternal/smartreview-views.mdpublic.dim_hospitals.mdschema.jsonviewpoint-5.md
#213211/11 · 어제제목은 로그인 후 표시
README.mdpublic.agent_studio_deployments.mdpublic.agent_studio_summary_config_versions.mdpublic.agent_studio_test_run_corrections.mdpublic.agent_studio_test_run_report_items.mdpublic.agent_studio_test_run_steps.mdpublic.agent_studio_test_runs.mdschema.json+1
#211211/11 · 2일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_deployments.mdschema.jsonviewpoint-3.md
#211311/11 · 2일 전제목은 로그인 후 표시
README.mdpublic.analysis_requests.mdpublic.classification_corrections.mdpublic.classification_result_pages.mdpublic.classification_results.mdpublic.extraction_results.mdpublic.image_system_outbound_requests.mdpublic.image_transfers.md+13
#210211/11 · 2일 전제목은 로그인 후 표시
README.mdpublic.report_hospital_selections.mdschema.jsonviewpoint-4.md
#205811/10 · 3일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_test_run_files.mdpublic.agent_studio_test_runs.mdschema.jsonviewpoint-3.md
#203211/09 · 3일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_test_run_corrections.mdpublic.agent_studio_test_run_report_items.mdpublic.agent_studio_test_run_steps.mdpublic.agent_studio_test_runs.mdschema.jsonviewpoint-3.md
#203411/09 · 4일 전제목은 로그인 후 표시
public.report_hospital_selections.mdschema.jsonviewpoint-4.md
#196311/08 · 4일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_test_run_corrections.mdpublic.agent_studio_test_run_steps.mdpublic.agent_studio_test_runs.mdschema.jsonviewpoint-3.md
#200711/08 · 4일 전제목은 로그인 후 표시
README.mdpublic.analysis_requests.mdpublic.classification_results.mdpublic.extraction_results.mdpublic.image_transfers.mdpublic.investigation_reports.mdpublic.report_business_contracts.mdpublic.report_drafts.md+8
#199811/08 · 4일 전제목은 로그인 후 표시
README.mdpublic.analysis_requests.mdpublic.classification_results.mdpublic.extraction_results.mdpublic.image_transfers.mdpublic.investigation_reports.mdpublic.report_business_contracts.mdpublic.report_drafts.md+6
#196911/07 · 5일 전제목은 로그인 후 표시
README.mdpublic.auth_refresh_tokens.mdpublic.auth_sessions.mdpublic.departments.mdpublic.organization_change_tracking.mdpublic.role_menu_permissions.mdpublic.roles.mdpublic.user_change_acknowledgements.md+7
#195211/07 · 6일 전제목은 로그인 후 표시
README.mdpublic.classification_result_pages.mdpublic.classification_results.mdschema.jsonviewpoint-3.md
#194911/06 · 6일 전제목은 로그인 후 표시
README.mdpublic.report_stat_fact_details.mdpublic.report_stat_fact_main_diseases.mdpublic.report_stat_facts.mdschema.jsonviewpoint-5.md
#193511/06 · 6일 전제목은 로그인 후 표시
README.mdpublic.customer_companies.mdpublic.document_types.mdschema.jsonviewpoint-1.md
#194111/06 · 6일 전제목은 로그인 후 표시
README.mdpublic.analysis_request_claim_hospitals.mdpublic.analysis_requests.mdschema.jsonviewpoint-4.md
#191511/06 · 6일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_test_run_files.mdpublic.agent_studio_test_run_steps.mdpublic.agent_studio_test_runs.mdschema.jsonviewpoint-3.md
#190311/06 · 7일 전제목은 로그인 후 표시
README.mdpublic.agent_document_types.mdpublic.folder_classification_mappings.mdschema.jsonviewpoint-1.md
#186711/05 · 8일 전제목은 로그인 후 표시
README.mdpublic.agent_studio_summary_pairs.mdpublic.chat_attachment_sets.mdpublic.chat_attachments.mdpublic.chat_message_sources.mdpublic.chat_sessions.mdschema.jsonviewpoint-10.md+1

조직·사용자·권한GitHub

organization-core. 조직도·사용자와 레벨×메뉴 권한, 조직 변경 사원 확인 기록, 시스템 세션용 리프레시 토큰.

erDiagram

"public.departments" }o--o| "public.departments" : "parent_department_id"
"public.users" }o--|| "public.departments" : "department_id"
"public.role_menu_permissions" }o--|| "public.roles" : "role_code"
"public.user_roles" }o--|| "public.roles" : "role_code"

"public.departments" {}
"public.roles" {}
"public.users" {}
"public.role_menu_permissions" {}
"public.user_roles" {}
organization-core5일 전 · #1969컬럼 7부서 로컬 디렉터리 (자기 참조 트리) — users 와 같다. 연동이 켜지면 스마트심사 조직도 뷰가 대신한다
organization-core5일 전 · #1969컬럼 15사용자 로컬 디렉터리 — 스마트심사 라이브 연동이 꺼진 환경에서 쓴다. 연동이 켜지면 신원·조직은 스마트심사 뷰에서 직접 읽고 이 표는 조회 경로에서 빠진다
organization-core5일 전 · #1969컬럼 4사용자 부수정보 — 스마트심사 뷰가 주지 않는 값(권한 레벨·이메일)만 우리 DB 에 둔다
organization-core5일 전 · #1969컬럼 6사용자 권한 레벨 5종 — 레벨 자체는 시스템 상수이고, 라벨과 순서만 데이터로 두어 코드 배포 없이 바꿀 수 있게 한다
organization-core5일 전 · #1969컬럼 5사용자별 권한 — 사용자:권한은 1:N 이다. 권한이 늘어도 이메일이 행마다 중복되지 않도록 부수정보와 분리했다
organization-core5일 전 · #1969컬럼 14권한 레벨 × 메뉴 사용 권한 — 메뉴 카탈로그(코드·라벨·콘솔·순서)를 따로 두지 않고 여기에 동봉한다
organization-core5일 전 · #1969컬럼 7refresh 토큰 원장 — 회전·무효화의 서버 측 상태. 폐기된 토큰이 다시 오면 탈취 신호로 보고 그 사번의 토큰을 모두 폐기한다
organization-core5일 전 · #1969컬럼 9로그인 세션 — 유휴 만료와 로그아웃 판정의 서버 측 상태 (만료가 지난 행은 로그인 시점에 정리)
organization-core5일 전 · #1969컬럼 4조직 변경 사원 추적 설정 — 한 행. 기준 시각 이전의 인사 변경은 변경 대상자로 보지 않는다
organization-core5일 전 · #1969컬럼 6조직 변경 확인 기록 — 사원별로 관리자가 확인한 마지막 인사 변경. 원천의 변경일시가 이 값과 다르면 다시 변경 대상자다
organization-core5일 전 · #1969컬럼 2로컬·CI 표본 — 사원별 최종 인사 변경일시. 운영·개발 서버는 스마트심사 뷰 VW_AI_UVORG002_HIS 를 라이브로 읽고 이 표는 쓰지 않는다

마스터 데이터GitHub

classification-core. 위탁사와 문서종 분류체계, 폴더 매핑과 확정 이력, 위탁사별 공시실 링크.

erDiagram

"public.document_types" }o--|| "public.customer_companies" : "customer_company_code"
"public.folder_classification_mappings" }o--|| "public.document_types" : "customer_company_code, document_type_code"
"public.folder_classification_mappings" }o--|| "public.agent_document_types" : "agent_document_type_code"
"public.customer_disclosure_links" |o--|| "public.customer_companies" : "customer_company_code"
"public.folder_classification_mapping_confirmations" }o--|| "public.customer_companies" : "customer_company_code"

"public.customer_companies" {}
"public.document_types" {}
"public.agent_document_types" {}
"public.folder_classification_mappings" {}
"public.customer_disclosure_links" {}
"public.folder_classification_mapping_confirmations" {}
classification-core오늘 · #2161컬럼 13위탁사 마스터 — 이미지 시스템 API-06 동기화가 원천이며, 최초 기동은 2026-11-06 개발 기준정보로 채운다
classification-core오늘 · #2161컬럼 13위탁사별 이미지시스템 폴더 분류 체계 — API-07 동기화가 원천이며, 최초 기동은 2026-11-06 개발 기준정보로 채운다
classification-core7일 전 · #1903컬럼 8낱장 단위 에이전트 분류 체계 마스터 — 위탁사와 무관한 공통 체계. 온톨로지 정의서 v2.0 2차_classify class_name(수동분류 매칭 v4: 세부 147종 + 표지 세분 4종 + 미분류)과 대분류 표지
classification-core7일 전 · #1903컬럼 7위탁사별 이미지시스템 폴더 ↔ 에이전트 문서종 매핑. 문서종 하나가 폴더 여럿에 배정될 수 있다(N:M, 2026-09-28)
classification-core오늘 · #2161컬럼 9위탁사별 분류체계 매핑 확정 이력 — 확정 1건이 1행(우리 DB 안의 확정 기록, 외부 전송 이력이 아니다)

보고서 접수·이미지 연동GitHub

investigation-core. 보고서, 이미지 시스템에서 받은 전송 건과 낱장. 전송(image_transfers·transfer_pages)은 접수 이력이고 report_pages 가 현재 문서함이다.

erDiagram

"public.image_transfers" }o--|| "public.investigation_reports" : "report_no"
"public.transfer_pages" }o--|| "public.image_transfers" : "transfer_id"
"public.report_pages" }o--|| "public.investigation_reports" : "report_no"
"public.report_business_contracts" }o--|| "public.investigation_reports" : "report_no"

"public.investigation_reports" {}
"public.image_transfers" {}
"public.transfer_pages" {}
"public.report_pages" {}
"public.report_business_contracts" {}
investigation-core2일 전 · #2113컬럼 28사고조사 보고서 — 접수번호 단위의 업무 건. 화면 목록과 처리 파이프라인이 모두 이 행을 기준으로 돈다
investigation-core2일 전 · #2113컬럼 9API-01 접수 시 Smart심사 조사정보 View에서 조회해 저장한 보고서별 계약 메타데이터 스냅샷
investigation-core2일 전 · #2113컬럼 19이미지 시스템에서 받은 전송 묶음 — 접수 이력이다. 현재 문서함은 report_pages 쪽이다
investigation-core컬럼 15보고서번호별 이미지 전송 백그라운드 작업의 영속 대기열
investigation-core컬럼 15전송이 선언한 낱장 목록 — 통지 원문의 스냅샷이라 뒤에 바뀌지 않는다
investigation-core2일 전 · #2113컬럼 24보고서의 현재 문서함 — 전송들을 반영한 결과의 구체화 뷰. 화면이 보는 것은 이 표다
investigation-core컬럼 9스캔 문서함 낱장 편집(삭제 예정·표시 순서)의 저장분. report_pages 에 겹쳐 보는 오버레이
investigation-core컬럼 7이미지 시스템 쓰기 API 의 멱등 키 원장 — 같은 키의 재요청을 가려낸다
investigation-core2일 전 · #2113컬럼 11이미지시스템 API-09·10 발신 시도 및 최종 결과 원장

문서 분석 (분류·추출·요약)GitHub

investigation-core. 에이전트 파이프라인의 단계별 결과와 사용자 수정 이력, 에이전트 스튜디오 문서 분류·추출 스키마 저장본(단계별 버전).

erDiagram

"public.classification_result_pages" }o--|| "public.classification_results" : "classification_result_id"
"public.extraction_result_fields" }o--|| "public.extraction_results" : "extraction_result_id"
"public.summary_cards" }o--|| "public.summary_results" : "summary_result_id"
"public.summary_cards" }o--o| "public.summary_sections" : "summary_section_id"
"public.summary_items" }o--|| "public.summary_cards" : "summary_card_id"
"public.summary_item_sources" }o--|| "public.summary_items" : "summary_item_id"
"public.classification_corrections" }o--|| "public.classification_results" : "classification_result_id"
"public.extraction_field_corrections" }o--|| "public.extraction_results" : "extraction_result_id"
"public.extraction_field_corrections" }o--|| "public.extraction_result_fields" : "extraction_result_field_id"
"public.summary_sections" }o--|| "public.summary_results" : "summary_result_id"
"public.summary_group_document_types" }o--|| "public.summary_groups" : "summary_group_id"
"public.agent_studio_document_categories" }o--|| "public.agent_studio_schema_versions" : "version_id"
"public.agent_studio_document_types" }o--|| "public.agent_studio_schema_versions" : "version_id"
"public.agent_studio_extraction_fields" }o--|| "public.agent_studio_schema_versions" : "version_id"
"public.agent_studio_extraction_fields" }o--o| "public.agent_studio_extraction_fields" : "parent_field_id"
"public.agent_studio_test_run_files" }o--|| "public.agent_studio_test_runs" : "run_id"
"public.agent_studio_test_run_steps" }o--|| "public.agent_studio_test_runs" : "run_id"
"public.agent_studio_test_run_corrections" |o--|| "public.agent_studio_test_run_steps" : "step_id"
"public.agent_studio_test_run_report_items" }o--|| "public.agent_studio_test_run_steps" : "step_id"

"public.classification_results" {}
"public.classification_result_pages" {}
"public.extraction_results" {}
"public.extraction_result_fields" {}
"public.summary_results" {}
"public.summary_cards" {}
"public.summary_items" {}
"public.summary_item_sources" {}
"public.classification_corrections" {}
"public.extraction_field_corrections" {}
"public.summary_sections" {}
"public.summary_groups" {}
"public.summary_group_document_types" {}
"public.agent_studio_schema_versions" {}
"public.agent_studio_document_categories" {}
"public.agent_studio_document_types" {}
"public.agent_studio_extraction_fields" {}
"public.agent_studio_test_runs" {}
"public.agent_studio_test_run_files" {}
"public.agent_studio_test_run_steps" {}
"public.agent_studio_test_run_corrections" {}
"public.agent_studio_test_run_report_items" {}
investigation-core2일 전 · #2113컬럼 11분류 결과 한 벌 — 버전으로 쌓는다. 재분류가 이전 결과를 지우지 않아야 무엇이 달라졌는지 볼 수 있다
investigation-core2일 전 · #2113컬럼 14낱장별 분류 결과 — 분류 결과 한 벌에 속한 행들
investigation-core2일 전 · #2113컬럼 21분류 보정 원장 — 결과 행을 덮어쓰기 전후를 남긴다. 외부에 보낼 델타이자 되돌리기·감사의 근거
investigation-core2일 전 · #2113컬럼 8추출 결과 한 벌 — 분류와 같은 이유로 버전을 둔다
investigation-core컬럼 16추출 항목 — 문서종별 컬럼이 아니라 키·값·신뢰도의 범용 행으로 둔다. 추출 스키마가 바뀌어도 테이블이 흔들리지 않는다
investigation-core컬럼 17추출값 수정 이력 — 분류 보정 원장과 같은 형태. 항목이 지워지면 이력도 함께 지워진다
investigation-core컬럼 8요약 섹션 골격(위탁사 기본 구성 + 청구유형 예외)의 버전. 관리자 에이전트 스튜디오 Instruct 설정의 저장 형태
investigation-core컬럼 8요약 그룹 — 2depth 문서종 묶음과 요약 프롬프트. 보고서 요약 탭의 구획 하나이자 요약 호출 1회
investigation-core컬럼 5요약 그룹에 묶은 2depth 문서종. 한 문서종은 한 그룹에만 든다
investigation-core컬럼 6요약 그룹 판 — 저장 한 번이 한 행, 가장 큰 판이 지금 값. 행은 고치지 않는다
investigation-core컬럼 8이 화면에서 저장한 Studio 지시서에 담을 자리가 없는 값 — 지시서 하나에 한 행, 행은 고치지 않는다
investigation-core컬럼 6추출 지시서의 요약 그룹 짝 — 지시서 하나에 한 행, 요약 설정을 저장하면 판 번호를 옮긴다
investigation-core어제 · #2132컬럼 6에이전트 스튜디오 실행 테스트 한 번 — 관리자 한 명이 올린 서류와 단계별 실행을 묶는다
investigation-core3일 전 · #2058컬럼 14실행 테스트에 올린 서류 한 건 — 원본은 보관하지 않고 Studio 에 올린 PDF 의 식별자만 둔다
investigation-core어제 · #2132컬럼 18실행 테스트의 단계 실행 — 실행·단계마다 한 행, 다시 실행하면 행을 바꾼다
investigation-core어제 · #2132컬럼 23실행 테스트 추출 전 분류 검수 반영(결과 왕복) 한 번 — 추출 단계마다 한 행, 사람이 문서종을 바꾼 낱장이 있을 때만
investigation-core어제 · #2132컬럼 18실행 테스트 보고서의 탭·요약 그룹 결과 한 건 — 실행과 함께 1일 뒤 지운다
investigation-core오늘 · #2161컬럼 24에이전트 스튜디오 배포 기록 — 실행 테스트를 통과한 분류·추출 Config·요약 판·보고서 판 한 벌. 적용된 가장 최근 행이 배포본
investigation-core어제 · #2132컬럼 10요약 그룹 지시서 버전 — 분류 지시서마다 Import 형태를 맞춘 요약 지시서 한 벌(기본 + 그룹별)
investigation-core컬럼 6에이전트 스튜디오 문서 분류(CLASSIFY)·추출 스키마(EXTRACT) 설정의 버전 — 저장 한 번이 한 행이고 그 단계의 전체 값이 이 버전 아래 복사된다. 단계마다 가장 큰 버전이 최신 저장본이다
investigation-core컬럼 8에이전트 스튜디오 1depth 문서종(분류군) — 분류 버전 × 1depth 한 행
investigation-core컬럼 12에이전트 스튜디오 2depth 문서종 — 분류 버전 × 2depth 한 행
investigation-core컬럼 18에이전트 스튜디오 추출 항목 — 추출 스키마 버전 × 2depth 문서종 × 항목 한 행. 표 컬럼은 표 항목을 부모로 둔 행이다. 항목이 없는 문서종은 행이 없다(분류만 하는 정상 상태)
investigation-core2일 전 · #2113컬럼 11요약 결과 한 벌 — 확정 전에는 본문을 고칠 수 있고 확정 후에는 항목별 보고서 반영만 체크한다
investigation-core컬럼 16요약 결과 한 벌의 구역(섹션) — 위탁사 × 청구유형 골격의 한 칸. 요약 화면의 탭 하나이자 초안 본문의 구역 하나
investigation-core컬럼 9병원(기관)별 요약 카드 — 화면 구조를 그대로 따른다
investigation-core컬럼 16카드 안의 요약 항목 — 내원경위·검사내용·진단병명·치료내용 등
investigation-core컬럼 11요약 항목의 출처 — 한 항목에 여럿이 붙고, 스캔 낱장과 지식컬렉션 청크가 섞일 수 있다

분석 요청·보고서 산출GitHub

investigation-core. 분석 요청 입력값과 보고서 초안·양식·메일 발송, 청약서 폼 설정 버전, 1인 동시 AI 분석 요청 한도, 사고조사 챗봇 AI 보고서 반영 원장, 챗봇·반영 지시문 판(관리자 API 로 고친다).

erDiagram

"public.analysis_request_forms" }o--|| "public.analysis_requests" : "analysis_request_id"
"public.analysis_request_contracts" }o--|| "public.analysis_requests" : "analysis_request_id"
"public.analysis_request_contract_items" }o--|| "public.analysis_request_contracts" : "contract_id"
"public.analysis_request_collections" }o--|| "public.analysis_requests" : "analysis_request_id"
"public.report_template_variables" }o--|| "public.report_templates" : "report_template_id"
"public.report_draft_sections" }o--|| "public.report_drafts" : "report_draft_id"
"public.report_draft_ai_tabs" }o--|| "public.report_drafts" : "report_draft_id"
"public.report_draft_llm_tabs" }o--o| "public.report_drafts" : "report_draft_id"
"public.agent_studio_instruct_tabs" }o--|| "public.agent_studio_instruct_versions" : "version_id"
"public.agent_studio_instruct_tab_bodies" }o--|| "public.claim_types" : "claim_type_code"
"public.agent_studio_instruct_tab_bodies" }o--|| "public.agent_studio_instruct_tabs" : "tab_id"
"public.analysis_request_files" }o--|| "public.analysis_requests" : "analysis_request_id"
"public.analysis_request_claim_hospitals" }o--|| "public.analysis_requests" : "analysis_request_id"

"public.analysis_requests" {}
"public.analysis_request_forms" {}
"public.analysis_request_contracts" {}
"public.analysis_request_contract_items" {}
"public.analysis_request_collections" {}
"public.report_drafts" {}
"public.report_templates" {}
"public.report_template_variables" {}
"public.report_draft_sections" {}
"public.claim_types" {}
"public.report_draft_ai_tabs" {}
"public.report_draft_llm_tabs" {}
"public.agent_studio_instruct_versions" {}
"public.agent_studio_instruct_tabs" {}
"public.agent_studio_instruct_tab_bodies" {}
"public.analysis_request_files" {}
"public.analysis_request_claim_hospitals" {}
investigation-core2일 전 · #2113컬럼 11분석 요청(분석 조건) 한 벌 — 양식 → 계약별 정보 → 참조 컬렉션 → 기타 요청 순서로 화면과 같은 구조다
investigation-core컬럼 8요청이 고른 청구유형 — 복수 선택, 요청마다 대표 하나
investigation-core컬럼 10요청에 딸린 계약별 정보 — 계약일자·상품명·청약서 유형·약관 매칭
investigation-core컬럼 9계약별 청약서 질문과 고지사항 항목
investigation-core컬럼 6요청이 참조할 지식컬렉션 — 컬렉션은 다른 도메인 소유라 FK 없이 값만 보관한다
investigation-core컬럼 7요청이 고른 컬렉션 안에서 좁혀 볼 문서 — 문서를 고르지 않은 컬렉션은 전체. 다른 도메인 소유라 FK 없이 값만 보관한다
investigation-core6일 전 · #1941컬럼 11분석 요청의 청구병원·대표 상병 — 조사자가 켠 병원만, 요청 시점 스냅샷
investigation-core2일 전 · #2102컬럼 9접수 건에서 조사자가 서류 병원명에 지정한 병원
investigation-core2일 전 · #2113컬럼 11보고서 초안 — 섹션으로 쪼개지 않고 통 본문으로 둔다. 세부 구성이 아직 미확정이기 때문이다
investigation-core컬럼 15보고서 초안 한 버전의 구역(요약 BODY 섹션마다 텍스트 한 장). 조사자 수정본과 조립 시점 원문을 함께 둔다
investigation-core컬럼 19보고서 초안 구역별 AI 탭 작업 — 초안 버전의 구역 1개가 1행
investigation-core컬럼 31보고서 초안 탭별 LLM 직접 호출 원장 — 초안 버전의 템플릿 탭 1개가 1행
investigation-core컬럼 16사고조사 챗봇 AI 보고서 반영 원장 — Studio 를 부른 반영 한 번이 1행
investigation-core컬럼 12보고서 양식(프롬프트 형식) — 관리자 화면의 저장소이자 분석 요청이 고르는 목록
investigation-core컬럼 7양식 본문에 삽입할 수 있는 변수 목록 — 화면의 "변수 삽입" 버튼이 읽는다
investigation-core2일 전 · #2113컬럼 13보고서 메일 발송 기록 — 무엇을 누구에게 언제 보냈는지
investigation-core2일 전 · #2113컬럼 15보고서 스마트심사 전송 기록 — 전송 시도 1회가 1행
investigation-core컬럼 6보고서 파기 증적(보고서 원본과 독립 보존)
investigation-core컬럼 10분석 조건 1번 청구유형 마스터 — 관리자 `보고서 유형 설정`의 목록. 위탁사 공통이며 추가·삭제만 있다
investigation-core컬럼 7청약서 폼 설정의 버전 이력 — 관리자 `청약서 폼 설정`이 저장한 유형별 질문·공통 변수 한 벌. 가장 큰 버전이 현재 설정이고 조사자 분석 조건 입력이 읽는다
investigation-core컬럼 5에이전트 스튜디오 INSTRUCT 설정의 버전 — 저장 한 번이 한 행이고 전 위탁사 탭·본문이 이 버전 아래 복사된다. 가장 큰 버전이 최신 저장본이다
investigation-core컬럼 13에이전트 스튜디오 INSTRUCT 위탁사 탭 — 버전 × 위탁사 × 탭 한 행. 탭 하나가 보고서 에이전트 Instruct 노드 하나다
investigation-core컬럼 6에이전트 스튜디오 INSTRUCT 탭 × 보고서 유형 본문 — 보고서를 만들 때 고른 보고서 유형의 본문을 탭 프롬프트 뒤 {{조건별작성지침}} 자리에 이어 붙인다
investigation-core컬럼 7챗봇·AI 보고서 반영 지시문의 판 — 저장 한 번이 한 행, 지시문마다 가장 큰 판이 지금 쓰는 문구. 행은 고치지 않는다
investigation-core컬럼 51인 동시 AI 분석 요청 한도 — 한 행(id=1)짜리 운영 설정
investigation-core컬럼 11조사건이 끝까지 쓰는 사고조사 Workflow 설정의 판 — 건마다 한 행, 고치지 않는다

업무 데이터 통계GitHub

investigation-core statistics. 차원(dim_*)·사실(report_stat_*)·일별 롤업(stat_daily_*) 의 star schema 와 적재 실패·미매핑 대기열.

erDiagram

"public.report_stat_fact_details" }o--|| "public.report_stat_facts" : "report_stat_fact_id"
"public.report_stat_fact_main_diseases" }o--|| "public.report_stat_facts" : "report_stat_fact_id"

"public.report_stat_facts" {}
"public.report_stat_fact_details" {}
"public.report_stat_fact_main_diseases" {}
investigation-core어제 · #2140컬럼 9병원 차원 — 집계 키는 코드이고 표시명은 여기 대표 표기다. 모델이 뽑은 문자열로 집계하지 않는다
investigation-core컬럼 6의사 차원
investigation-core컬럼 5질병 차원
investigation-core컬럼 12표기 차이 흡수용 별칭 사전 — 원문 표기 하나가 차원 키 하나로. 세 차원이 같은 형태라 한 표에 둔다
investigation-core6일 전 · #1949컬럼 18업무 데이터 통계의 보고서당 1행 — 단일값 차원을 담는다. 보고서가 파기돼도 통계는 남아야 하므로 FK 를 두지 않는다
investigation-core6일 전 · #1949컬럼 11보고서 1건 안의 병원·의사·질병·문서종 조합 — 병원이 3곳이면 3행. 부모가 지워지면 함께 지워진다
investigation-core6일 전 · #1949컬럼 4보고서 1건의 대표 상병 — 조사자가 청구병원마다 고른 상병(중복 없이), 없으면 자동 판정 1건
investigation-core컬럼 25시스템 통계의 보고서당 1행 — 분류 시작에 생기고 요약·전송 완료에 갱신된다. 미전송 건도 남는 것이 이 표의 존재 이유다
investigation-core컬럼 7일별 롤업 — 위탁사·조직별 보고서 건수 (차원 키 없음)
investigation-core컬럼 8일별 롤업 — 병원별 청구 집중도. 표시명·지역은 병원 차원이 갖는다
investigation-core컬럼 8일별 롤업 — 질병코드별 건수. 키는 보고서의 메인 질병코드다
investigation-core컬럼 9일별 롤업 — 병원 + 질병 조합 건수. 둘 중 하나라도 미매핑이면 제외된다
investigation-core컬럼 10일별 롤업 — 병원 + 의사 + 질병 조합 건수
investigation-core컬럼 8일별 롤업 — 청구유형별 건수
investigation-core컬럼 9일별 롤업 — 청구유형 + 질병 처리 건수(위탁사 → 청구유형 → 진단명 드릴다운)
investigation-core컬럼 8일별 롤업 — 증권번호별 청구 현황(동일 증권의 반복 청구 탐지)
investigation-core컬럼 18일별 롤업 — 시스템 통계의 화면 조회용 집계층. 합계와 모수를 함께 두어 평균을 조회 시점에 나눈다
investigation-core컬럼 10추출 완료율 두 축(문서종·필드)의 일별 롤업 — 시스템 통계 #18·#19 가 읽는 집계층
investigation-core컬럼 10처리시간 구간 일별 롤업 — 시스템 통계 #16 처리시간 분포·#17 매수 구간 달성률·#23 시간 목표률이 읽는 집계층
investigation-core컬럼 9조사자별 이용량 일별 롤업 — 시스템 통계 #26 AI 분석 이용자·#27 보고서 생성 건수가 읽는 집계층
investigation-core컬럼 10통계 적재 실패 기록 — 재시도(backfill)의 입력이 된다
investigation-core컬럼 11생애주기 통계 사실 적재 실패 기록 — 보고서 × 단계당 1행, 재적재 명령의 입력
investigation-core컬럼 11코드로 바꾸지 못한 값의 대기열 — 관리자가 매핑하면 그 보고서를 다시 적재한다

워크플로우 엔진GitHub

workflow-core. 단계 정의를 데이터로 두고 엔진이 해석·실행한다. 도메인 비의존이라 업무 건을 report_no 문자열로만 다루고 investigation_reports 로의 FK 를 두지 않는다.

erDiagram

"public.workflow_steps" }o--|| "public.workflow_definitions" : "workflow_definition_id"
"public.workflow_executions" }o--|| "public.workflow_definitions" : "workflow_definition_id"
"public.workflow_step_executions" }o--|| "public.workflow_executions" : "workflow_execution_id"

"public.workflow_definitions" {}
"public.workflow_steps" {}
"public.workflow_executions" {}
"public.workflow_step_executions" {}
workflow-core컬럼 7워크플로우 정의 — 코드+버전 단위. 단계 구성을 코드가 아닌 데이터로 둔다
workflow-core컬럼 13단계 정의 — 순서·배치 변경이 이 테이블의 데이터 수정만으로 이뤄진다(코드 변경 없음)
workflow-core컬럼 10보고서별 실행 인스턴스 — 업무 건 하나에 대한 워크플로우 진행 상태
workflow-core컬럼 11단계 실행 이력 — 재시도마다 한 행이 쌓인다

참조 컬렉션GitHub

collection-core. RAG 참조 컬렉션과 파일의 메타데이터, 폴더 체계(말단 폴더 = 컬렉션), 등록 안내, 개인 컬렉션이 함께 쓰는 사용자별 Vector Store, 공용 컬렉션이 함께 쓰는 2depth 기준 폴더별 Vector Store. 지식컬렉션 본체는 업스테이지가 보유한다.

erDiagram

"public.collections" |o--o| "public.collection_folders" : "folder_id"
"public.collection_files" }o--|| "public.collections" : "collection_id"
"public.collection_approval_requests" }o--|| "public.collections" : "collection_id"
"public.collection_approval_requests" }o--o| "public.collection_files" : "collection_file_id"
"public.collection_approval_requests" }o--o| "public.collection_folders" : "new_folder_parent_id"
"public.collection_approval_requests" }o--o| "public.collection_folders" : "placed_folder_id"
"public.collection_approval_requests" }o--o| "public.collection_folders" : "target_folder_id"
"public.collection_folders" }o--o| "public.collection_folders" : "parent_id"
"public.collection_approval_request_files" }o--o| "public.collection_files" : "collection_file_id"
"public.collection_approval_request_files" }o--|| "public.collection_approval_requests" : "approval_request_id"
"public.collection_folder_vector_stores" |o--|| "public.collection_folders" : "folder_id"
"public.collection_file_parts" }o--|| "public.collection_files" : "collection_file_id"
"public.collection_file_reference_defaults" }o--|| "public.collection_files" : "collection_file_id"

"public.collections" {}
"public.collection_files" {}
"public.collection_approval_requests" {}
"public.collection_folders" {}
"public.collection_approval_request_files" {}
"public.collection_folder_vector_stores" {}
"public.collection_file_parts" {}
"public.collection_file_reference_defaults" {}
collection-core컬럼 10지식컬렉션 폴더 — 공용(최대 3단계)·내 컬렉션(1단계) 트리. 말단 폴더가 곧 컬렉션이다
collection-core컬럼 11RAG 참조 컬렉션 — 개인은 즉시 사용, 공용은 관리자 승인 후 사용. 파일은 우리 저장소에 두고 임베딩·검색용 벡터 인덱스만 외부 AI 플랫폼이 갖는다
collection-core컬럼 21컬렉션에 등록된 파일과 그 인덱싱 상태
collection-core컬럼 11분할 단위(기본 500쪽)를 넘어 나눠 올린 컬렉션 파일의 조각. 조각마다 플랫폼 문서 하나
collection-core컬럼 14지식컬렉션 Studio 문서 삭제 의도와 재시도·완료 기록
collection-core컬럼 23공용 컬렉션 승인 요청 — 재요청은 같은 행을 되돌리지 않고 새 행을 쌓아 이력이 남는다
collection-core컬럼 5개인→공용 전환 요청에 실린 파일 — 요청 한 건이 고른 파일 목록(파일 단위 전환)
collection-core컬럼 5지식컬렉션 등록 안내 코멘트(전역 한 벌, id = 1). 사용자 파일 추가 모달의 관리자 안내
collection-core컬럼 4사용자별 개인 컬렉션 공용 플랫폼 컬렉션(Vector Store). 사용자당 한 행
collection-core컬럼 4공용 컬렉션 기준 폴더(2depth, 1depth 컬렉션이면 그 폴더)별 플랫폼 컬렉션(Vector Store). 기준 폴더당 한 행
collection-core컬럼 16지식컬렉션 공용 스토어 설명 — Studio 벡터스토어마다 한 행. 자동 상태면 파일이 바뀔 때 처리 중 파일이 없어진 뒤 생성 API 를 한 번 부르고, 사용자 수정 상태면 부르지 않고 반영 안 된 파일 수만 센다. 개인 컬렉션은 설명이 없다
collection-core컬럼 5공용 지식컬렉션 위탁사별 참조 기본값 — 켜진 (파일, 위탁사) 칸만 한 행. 행이 없으면 꺼져 있다

운영 (메일 계정·감사)GitHub

mail-core·audit-core. 발송 계정 암호와 그 변경 이력, 감사 로그, 연동 교환 기록(이미지시스템·Studio 요청/응답 본문 — docs/decisions/20261023-integration-exchange-log.md).

mail-core컬럼 7단일 대표 SMTP 계정 설정 및 암호화 비밀번호
mail-core컬럼 5SMTP 대표 계정 비밀번호 변경 이력 — 비밀번호 값은 저장하지 않는다
audit-core컬럼 13감사 원장 — 관리자 "전체 로그" 화면의 저장소. 이벤트별 전용 컬럼 없이 행위자·대상·결과만 담는 범용 형태
audit-core컬럼 23연동 교환 기록 — 이미지시스템·Studio 와 오간 요청·응답(본문 포함, 보관 기간 뒤 정리)

문서 AI 플랫폼 연동GitHub

investigation-core. 문서 AI 플랫폼(업스테이지 Studio 등)에 맡긴 작업의 원장과 올린 낱장 파일 대응표, 검수 보정을 플랫폼 저장 결과에 되돌려 놓는 결과 왕복 원장. 워크플로 단계가 외부 작업을 맡기면 폴러가 이 원장으로 업로드·요청·완료 확인·반영을 이어 간다.

erDiagram

"public.ai_pipeline_document_pages" }o--|| "public.ai_pipeline_documents" : "document_id"
"public.ai_pipeline_job_inputs" }o--|| "public.ai_pipeline_jobs" : "job_id"
"public.summary_group_runs" }o--|| "public.summary_group_batches" : "batch_id"

"public.ai_pipeline_jobs" {}
"public.ai_pipeline_documents" {}
"public.ai_pipeline_document_pages" {}
"public.ai_pipeline_job_inputs" {}
"public.summary_group_batches" {}
"public.summary_group_runs" {}
investigation-core컬럼 22문서 AI 플랫폼에 맡긴 작업 원장 — 폴러가 업로드·요청·완료 확인·반영을 이어 간다
investigation-core컬럼 9문서 AI 분류 요청 당시의 낱장 순서·파일명·플랫폼 파일 식별자 원장
investigation-core컬럼 10문서 AI 플랫폼에 올린 낱장 파일 대응표
investigation-core컬럼 13활성 스캔 낱장을 문서함 순서대로 묶은 사건 단위 여러 쪽 PDF를 문서 AI 플랫폼에 올린 원장(묶음 전환 전 행은 낱장별 한 쪽 PDF)
investigation-core컬럼 5묶음 PDF 쪽과 이미지시스템 sourcePageId 대응표
investigation-core컬럼 27검수 보정을 플랫폼 저장 결과에 되돌려 놓는 결과 왕복 원장 — 왕복 1회 = 1행, 추가만
investigation-core2일 전 · #2113컬럼 16요약 그룹 묶음 — 분류 Job 하나에 대한 그룹 요약 한 번(파이프라인 v2 곁가지)
investigation-core2일 전 · #2113컬럼 27요약 그룹 호출 — 묶음(summary_group_batches) 아래 요약 그룹마다 한 행. 그룹 요약 결과(본문·출처)도 담는다
investigation-core2일 전 · #2113컬럼 11분류 결과 한 벌 — 버전으로 쌓는다. 재분류가 이전 결과를 지우지 않아야 무엇이 달라졌는지 볼 수 있다

에이전트 채팅GitHub

chat-core. 범용 에이전트 채팅과 사고조사 챗봇의 대화 세션·주고받은 줄·답변 근거·첨부. 두 챗봇은 같은 표를 쓰고 chat_sessions.chat_kind 로 가른다 — 사고조사 대화는 report_no 를 갖고 (보고서, 사람)마다 하나다 (docs/decisions/20261023-investigation-chat-session-structure.md). report_no 는 조사 모듈 표로 FK 를 걸지 않는다. 대화의 배경지식 컬렉션은 대화 중에 바꿀 수 있고(다음 질문부터), 근거는 우리 식별자와 이름 스냅샷으로 남는다 (컬렉션·파일이 지워져도 지난 대화의 근거 표기가 비지 않게 — FK 를 걸지 않는 이유다). 통계 대시보드 「챗봇 질의 건수」·「질의 답변 응답 속도」의 일별 롤업 2종도 이 모듈에 있다(질문 저장과 같은 트랜잭션 증분).

erDiagram

"public.chat_session_collections" }o--|| "public.chat_sessions" : "chat_session_id"
"public.chat_messages" }o--|| "public.chat_sessions" : "chat_session_id"
"public.chat_message_sources" }o--|| "public.chat_messages" : "chat_message_id"
"public.chat_attachments" }o--o| "public.chat_sessions" : "chat_session_id"
"public.chat_attachments" }o--o| "public.chat_messages" : "chat_message_id"
"public.chat_session_files" }o--|| "public.chat_sessions" : "chat_session_id"
"public.chat_attachment_sets" }o--|| "public.chat_sessions" : "chat_session_id"
"public.chat_attachment_sets" |o--|| "public.chat_messages" : "chat_message_id"
"public.chat_attachment_set_items" }o--|| "public.chat_attachments" : "attachment_id"
"public.chat_attachment_set_items" }o--|| "public.chat_attachment_sets" : "attachment_set_id"
"public.chat_session_retired_conversations" }o--|| "public.chat_sessions" : "chat_session_id"

"public.chat_sessions" {}
"public.chat_session_collections" {}
"public.chat_messages" {}
"public.chat_message_sources" {}
"public.chat_attachments" {}
"public.chat_session_files" {}
"public.chat_attachment_sets" {}
"public.chat_attachment_set_items" {}
"public.chat_session_retired_conversations" {}
chat-core컬럼 10에이전트 채팅 대화 세션 — 범용 에이전트 채팅(GENERAL)과 사고조사 챗봇(INVESTIGATION, 보고서·사람마다 하나)
chat-core컬럼 6대화가 지금 배경지식으로 쓰는 지식컬렉션 (대화 중 변경 가능 — 다음 질문부터 적용)
chat-core컬럼 6대화가 지금 배경지식으로 좁혀 쓰는 지식컬렉션 문서 (대화 중 변경 가능 — 비어 있으면 컬렉션 전체)
chat-core컬럼 2구분선으로 끝난 구획의 Studio 대화. 대화 삭제·보관 파기 때 함께 지운다
chat-core컬럼 20대화 한 줄 — 질문과 답변이 각각 한 행
chat-core컬럼 17답변 근거 — 우리 식별자 + 이름 스냅샷
chat-core컬럼 14챗봇 첨부 준비 이력 — 메시지 연결 전 PDF 변환 및 외부 파일 업로드 결과
chat-core컬럼 7채팅 세션에서 마지막으로 선택한 첨부 묶음 이력
chat-core컬럼 6첨부 묶음에 포함된 파일과 전달 순서
chat-core컬럼 8챗봇 질의 건수의 일별 롤업 — 시스템 통계 「챗봇 질의 건수」(시트 29행)가 읽는 집계층
chat-core컬럼 7질의 답변 응답 소요시간의 일별 롤업 — 시스템 통계 「질의 답변 응답 속도」(시트 30행)가 읽는 집계층

스마트심사 제공 뷰

스마트심사가 제공하는 읽기 전용 뷰입니다 — 우리가 만든 스키마가 아니라 Oracle 19.11.0.0.0 의 SMART 스키마에 있고, 실제 접속해야만 무엇이 있는지 알 수 있습니다. 여기 보이는 것은 2026-11-11 기준 스냅샷(실제 접속으로 뜬 값)이며, 어댑터가 읽는 뷰·컬럼이 이 목록에 있는지는 SmartReviewViewContractTest 가 지킵니다 · 명세서.

23,992행컬럼 2질병코드 마스터
5행컬럼 3파기정보 (대외)
150,468행컬럼 14병원정보 마스터
11,871행컬럼 2파기정보 (대내)
37,921행컬럼 7조사 건 계약 메타
11행컬럼 7알림톡 발송
80행컬럼 6공통코드
95행컬럼 9조직도 (정의서 공식명: 부서정보)
1,898행컬럼 9사용자
251행컬럼 2사용자이력정보

스키마가 바뀌면 ./scripts/db-docs.sh 로 docs/db/ 를 다시 만들어 마이그레이션과 함께 커밋합니다 — 빠뜨리면 db-docs-check 워크플로가 PR 에서 막습니다. 테이블·컬럼 설명은 마이그레이션의 COMMENT ON 에서 옵니다.