전체 사용자별 프로세스 정의서

우수 감염병 병원체 확인기관 통합 평가시스템 — 관리자·검사실(일반/관리자)·평가위원·심사위원회의 업무·상태·조건 분기를 한 화면에 정리

문서번호 11버전 v1.2작성일 2026-07-29개정 발견 1·2 조치 반영 기준 프로세스 흐름도 v1 · 개발범위회신 · 현행 소스 형식 유검평 02 프로세스 정의서 준용
읽는 기준 — 이 문서는 현행 시스템(FastAPI + React)의 실제 동작을 사용자와 업무 흐름 중심으로 재구성한 것이다. 본 시스템은 유검평과 달리 연도 + 검사실 조합으로 만들어진 평가건 1건이 하나의 상태머신을 따라 사전평가 → 현장평가 → 사후조치를 관통한다. 업무마다 대상·상태가 따로 움직이는 유검평식 다축 구조는 채택하지 않았다(7장·8장).
범위 상한 — 「프로세스 흐름도 v1」과 「개발범위회신」이 정하는 선을 넘지 않는다. 유검평에 있어도 두 문서에 근거가 없으면 범위 외로 명시한다.

1. 전체 구조 하나의 공통축, 하나의 상태머신, 세 개의 단계

유검평은 「연도+검사실ID」 축 아래 네 업무가 각각 독립된 상태를 갖지만, 본 시스템은 같은 축 위에 평가건 1건을 만들고 그 평가건이 단일 상태머신을 따라 진행한다.

공통축
연도 + 검사실
평가건 = (연도, 대상 검사실) 1건
평가표·인증번호·통계도 같은 연도 축을 쓴다
검사실은 검사실ID(기관번호3+분류)로 식별
① 사전평가 검사실 주도
평가표 게시 → 검사실 자가작성·증빙첨부 → 책임자 제출 → 관리자 채점·보정·확정
DRAFT → PUBLISHED → SUBMITTED
② 현장평가 평가위원 주도
배정 심사원이 검사실 제출자료와 대조하며 판정·지적 입력 → 평가결과보고서 생성 → 심사 상정
FIELD_EVAL → EVAL_DONE
③ 심사·사후조치 심사위원회 주도
인증 / 사후조치 / 미인증 판정 → 보완 시 조치결과 제출 → 최종평가 → 최종 확정·인증서
CERTIFIED · ACTION_REQ → FINAL_EVAL → FINAL_CERT / REJECTED
핵심 규칙 — 세 단계는 끊기지 않는 하나의 흐름이다. 단계별로 대상 여부를 따로 지정하지 않으며, 앞 단계가 끝나야(제출 → 채점 확정 → 현장평가 착수) 다음 단계로 넘어간다. 흐름도 v1이 3단계 단일 흐름으로 정의했기 때문이다.

2. 사용자별 전체 스윔레인 역할 × 단계

왼쪽의 사용자가 가로 단계마다 무엇을 하는지 읽는다. 상단 역할 강조 버튼을 누르면 해당 역할만 도드라진다.

사용자 \ 단계
① 준비기준정보·평가표
② 게시·작성DRAFT → PUBLISHED
③ 제출·채점SUBMITTED
④ 현장평가FIELD_EVAL
⑤ 심사 판정EVAL_DONE → 인증
⑥ 사후조치·최종ACTION_REQ → FINAL
관리자ADMIN
기관·검사실·심사원 등록, 계정 발급, 연도별 평가표 구성, 평가기간 등록기준 설정
평가건 생성(개별·일괄 선정), 공지 통지, 설문 게시대상·게시
진행현황 점검, 채점 결과 확인·점수 보정(사유 필수)·결과 확정, 제출 Flag 되돌리기채점·확정
월별 일정 조망, 서약서·공문 양식 등록·출력, 현장평가 문항 등록운영 지원
검사실별 결과 표출, 기관유형·정성 3대분류 통계, CSV 내려받기결과·통계
인증서 발급 대장 관리·재출력, 공지·계정 관리대장·마감
검사실-일반LAB
해당 업무 없음
정량 13문항·정성 54문항 작성, 문항별 의견·증빙 첨부(자동 저장)작성
미작성 문항 확인, 문항별 수정이력 조회. 제출 권한 없음보조
해당 업무 없음
해당 업무 없음
사후조치 자료 준비·첨부(제출은 책임자)보조
검사실-관리자LAB_MGR
해당 업무 없음
작성 참여 및 내용 검토검토
작성완료(제출) — 이 시스템에서 제출은 책임자만 가능. 확정 후 사전평가 결과 조회제출
「내 일정」에서 현장평가일·담당 심사원 확인, 현장 대응일정 확인
평가결과보고서 조회·확정보고서 확정
조치결과 작성·증빙 첨부·제출, 최종결과·인증서 조회조치 제출
평가위원REVIEWER
해당 업무 없음
해당 업무 없음
배정된 검사실·평가건 확인(관리자 확정 전 착수 불가)대기
공문·서약서 출력, 현장평가 착수, 좌우 2단 대조로 판정·점수·지적 입력, 현장 증빙 첨부심사 시행
평가결과보고서 생성 → 평가완료(심사 상정)보고서·상정
조치결과 확인 후 최종평가 입력최종평가
심사위원회COMMITTEE
해당 업무 없음
해당 업무 없음
해당 업무 없음
해당 업무 없음
현장평가 결과 요약·보고서 검토 → 인증 / 사후조치 / 미인증 판정심사 결정
최종평가 결과 최종 인증 / 미인증 확정, 인증서·최종결과보고서 출력최종 확정
시스템통제
역할별 메뉴·조회 범위 제한(검사실=본인 기관, 심사원=배정 기관)가드
역할별 쓰기 영역 분리 저장 — 검사실 응답을 다른 역할이 덮어쓰지 못함영역 통제
제출은 LAB_MGR만·사전평가 기간 검증·문항 단위 수정이력 기록선행조건
관리자 확정 전 착수 차단·현장평가 기간 검증·확정 전 채점결과 비공개공개 조건
허용된 상태 전이만 수행(임의 점프 금지)·인증번호 서버 채번상태머신
사후조치 기간 검증·발급일/유효기간 기록·상태 및 변경 이력 보존감사 근거

3. 업무별 상세 플로우와 분기 정상 흐름 · 분기 · 사용자별 업무

각 단계의 상태명은 실제 시스템의 상태코드를 그대로 사용했다. 분기는 서버가 실제로 검증하는 조건만 적었다.

3-1. 사전평가

주관 관리자 · 검사실

연도별 평가표를 게시하고 검사실이 자가작성·제출하면 관리자가 채점·보정 후 확정한다.

정상 상태 흐름
DRAFT관리자가 평가건 생성(미게시)
PUBLISHED게시 완료 — 검사실 작성·저장·증빙 첨부
SUBMITTED책임자 제출 — 응답·증빙 작성 잠금(서버 강제)
채점·보정문항별 점수·가중치 채점 + 보정(사유·보정자·일시)
확정관리자 확인·확정 — 현장평가 착수 가능, 검사실에 결과 공개
주요 분기
게시 준비가 끝났는가? 대상 검사실 · 그 해 사전평가 기간
YES[설문 게시하기]로 DRAFT → PUBLISHED. 검사실 작성이 시작된다. NO서버가 409로 거부한다. 부득이하면 관리자가 예외승인 사유를 적어 게시하며, 사유는 상태 이력에 남는다(승인값 자체는 저장하지 않는다).
그 해 그 검사실의 평가건이 이미 있는가?
YES생성이 409로 거부된다. 기존 평가건을 사용하거나 삭제 후 다시 만든다. 일괄 선정에서는 기존 건이 있는 기관을 건너뛴다. NO생성한다. 대상 검사실은 필수이며(미지정 400), DB 유일 인덱스가 동시 요청까지 막는다.
아직 게시하지 않았는가?
YES관리자에게만 보인다. 검사실·평가위원·심사위원회의 목록·상세 조회에서 제외된다(직접 접근도 404). NO게시 이후부터 각 역할의 조회 범위 규칙(소속 기관 / 연도별 배정)이 적용된다.
사전평가 기간이 열려 있는가?
YES책임자가 [작성완료(제출)]로 제출한다. NO제출 버튼이 비활성되고 사유(기간·오늘 날짜)가 표시된다. 작성·저장은 계속 가능하다. 기간을 열려면 관리자가 평가기간 날짜를 조정한다. 기간 미등록이면 통제하지 않는다.
제출자가 검사실-관리자인가?
YESPUBLISHED → SUBMITTED 전이를 수행한다. NO일반 사용자에게는 버튼이 잠기고, 서버도 403으로 거부한다(불변식 I3).
제출 후 수정이 필요한가?
YES유선으로 운영사무국에 요청 → 관리자가 [제출 Flag 되돌리기]로 SUBMITTED → PUBLISHED 전환. 온라인 변경신청 절차는 두지 않는다(흐름도 #13이 「유선」으로 명시). NO제출본을 기준으로 채점을 진행한다.
오기입을 고쳐야 하는가? 단계를 되돌릴 수 없는 경우
YES관리자가 [공식 정정]으로 영역·문항·항목·사유를 적어 한 칸씩 고친다. 사유는 문항 수정이력에 그대로 남는다. NO각 주체가 자기 영역에서 직접 수정한다. 관리자 저장으로 검사실 응답·평가·판정을 덮어쓸 수는 없다(서버가 저장본을 유지).
관리자가 채점 결과를 확정했는가?
YES보정이 잠기고, 검사실이 문항별 점수·의견을 조회할 수 있으며, 평가위원이 현장평가를 시작할 수 있다. NO검사실 조회 불가(서버가 응답에서 채점 결과를 제외), 현장평가 착수도 차단된다.
사용자별 업무
관리자평가표·평가기간 설정, 평가건 생성·게시, 진행현황 점검, 채점·보정·확정, 제출 되돌리기
검사실-일반정량·정성 작성, 의견·증빙 첨부, 미작성 확인, 수정이력 조회
검사실-관리자작성 검토, 작성완료(제출), 확정 후 채점 결과 조회·PDF 출력
평가위원사전평가 입력 업무 없음 — 확정된 채점 결과를 현장평가 참고자료로 열람
심사위원회이 단계 업무 없음

3-2. 현장평가

주관 평가위원 · 관리자

배정된 심사원이 검사실 제출자료와 현장을 대조해 판정하고 평가결과보고서를 만든다.

정상 상태 흐름
배정·일정[검사실 관리]에서 연도를 고르고 목록에서 바로 배정 — 전년도 배정 불러오기 지원
심사 준비공문·서약서 양식 등록 → 출력(수동 발송·종이 서명)
FIELD_EVAL좌우 2단 대조로 판정·점수·지적사항·현장 증빙 입력
보고서 생성머리말 + 부적합·유의 지적의견 자동 정리
EVAL_DONE평가완료 — 심사위원회 상정
주요 분기
관리자의 사전평가 확정이 끝났는가?
YES[현장평가 시작] 활성화 — SUBMITTED → FIELD_EVAL. NO착수 버튼이 잠기고 서버가 409로 거부한다(「관리자의 사전평가 결과 확인·확정 후 시작할 수 있습니다」).
현장평가 기간 안인가?
YES착수·입력을 진행한다. NO착수가 차단된다. 기간 미등록이면 통제하지 않는다.
로그인한 심사원이 그 검사실에 배정되어 있는가?
YES목록·상세 조회와 입력이 가능하다. NO평가건이 목록에 나오지 않고 직접 접근해도 404다. 배정은 [검사실 관리]가 단일 입력원이며 심사원 계정 연결이 선행되어야 한다.
배정 심사원의 자격이 확인되는가? 사용여부 · 동의서·서약서 제출 · 계정 배정가능
YES착수할 수 있다. 배정은 평가 연도마다 새로 세팅하므로 지난해 배정은 올해에 쓰이지 않는다. NO배정 저장 단계에서 409로 거부되고, 배정이 비어 있으면 착수도 409다. 이해상충(제척)은 관계 데이터가 없어 배정 전 이해관계 확인서(운영 절차)로 대체한다.
판정 입력이 끝났는가?
YES보고서를 생성하고 [평가완료 → 심사 상정]으로 EVAL_DONE 전환. NOFIELD_EVAL 상태를 유지하며 보완 입력한다. 입력은 문항 단위로 이력이 남는다.
사용자별 업무
관리자일정·배정 등록, 월별 일정 조망, 서약서·공문 양식 등록·출력, 현장평가 문항 등록
검사실-일반직접 업무 없음 — 현장 대응 지원
검사실-관리자「내 일정」에서 평가일·담당 심사원 확인, 현장 대응, 보고서 조회·확정
평가위원공문·서약서 출력, 착수, 정성 판정·정량 점수·지적사항·현장 증빙 입력, 보고서 생성·상정
심사위원회상정 후 결과 요약·보고서 검토

3-3. 심사 판정 · 사후조치 · 최종확정

주관 심사위원회 · 검사실 · 평가위원

현장평가 결과로 인증 여부를 결정하고, 보완이 필요하면 조치 후 최종평가로 마무리한다.

정상 상태 흐름
EVAL_DONE심사 상정 — 결과 요약·보고서 검토
판정인증 / 사후조치 / 미인증
ACTION_REQ검사실이 조치결과·증빙 제출
FINAL_EVAL평가위원 최종평가 입력
FINAL_CERT / REJECTED최종 인증 또는 미인증 — 인증번호 채번·인증서 출력
주요 분기
심사위원회 의결 기록이 있는가? 회의 일자 · 참석 위원 · 의결 방식 · 의사록 요지
YES판정 전이가 허용된다. 판정·의견과 의결 기록의 변경은 모두 이력으로 남는다. NO판정 버튼을 눌러도 409로 거부된다. 정족수 기준은 발주처 규정 확정 전이라 적용하지 않는다(참석 위원 1명 이상이면 저장).
심사위원회 판정 결과는?
인증CERTIFIED — 서버가 KDCA-연도-기관유형-일련로 인증번호를 채번하고 발급일·유효기간을 기록한다. 보완ACTION_REQ — 검사실 사후조치 절차로 넘어간다. 미인증(REJECTED)이면 그 해 절차는 종료된다.
사후조치 기간 안에 최종평가를 착수하는가?
YESACTION_REQ → FINAL_EVAL 전이. 평가위원이 조치결과를 확인하고 보완사항을 평가한다. NO착수가 차단된다. 기간 조정이 필요하면 관리자가 평가기간을 수정한다.
사후조치 중 재작성이 필요한가?
YES관리자가 [조치결과 제출 되돌리기]로 제출 플래그만 해제 — 사후조치 단계는 그대로이며 사전평가·현장평가를 다시 타지 않는다(사유 필수·이력 기록). NO최종평가 결과로 심사위원회가 최종 확정한다.
사용자별 업무
관리자결과 표출·통계, 인증서 대장 관리·재출력, 되돌리기, 최종 산출물 보관
검사실-일반조치 자료 준비·첨부
검사실-관리자조치결과 제출, 최종결과·인증서 조회
평가위원조치결과 확인, 최종평가 입력
심사위원회인증/사후조치/미인증 판정, 최종 인증 확정, 인증서·최종결과보고서 출력

4. 상태 지도 어디에서 다음 단계가 막히는가

상태 전이는 정의된 것만 허용되며(불변식 I4), 아래 조건은 모두 서버에서 검증한다. 화면은 같은 규칙으로 미리 안내·차단만 한다.

단계대표 상태 흐름다음 단계 조건되돌림·예외
사전평가 DRAFT PUBLISHED SUBMITTED 게시 여부 · 사전평가 기간 · 제출자가 검사실-관리자일 것 제출 후에는 검사실 응답·증빙이 서버에서 잠긴다(409). 수정은 유선 요청 → 관리자만 [제출 Flag 되돌리기]로 PUBLISHED 복귀
채점·확정 SUBMITTED (채점·보정) 확정 관리자만 확정·해제 가능 · 보정에는 사유 필수 확정 해제 시 현장평가 착수가 다시 막힌다. 보정 이력은 남는다
현장평가 SUBMITTED FIELD_EVAL EVAL_DONE 수행 역할(평가위원) + 연도별 배정·심사원 자격 + 사전평가 확정 + 현장평가 기간 평가완료에는 판정 1건 이상 + 평가결과보고서가 필요(서버 강제). 검사실·심사위원회의 착수 요청은 403
심사 판정 EVAL_DONE CERTIFIED / ACTION_REQ / REJECTED 수행 역할(심사위원회) + 의결 기록(회의일·참석위원·의결방식·의사록) · 인증 시 서버가 인증번호 채번 판정 취소 경로는 두지 않음(ACTION_REQ는 되돌리기로 작성 복귀 가능)
사후조치 ACTION_REQ FINAL_EVAL FINAL_CERT / REJECTED 수행 역할(평가위원) + 사후조치 기간 + 조치결과 제출(책임자) — 미제출이면 착수 409 최종 확정에는 최종평가 판정이 필요. ACTION_REQ → PUBLISHED 되돌리기 시 조치결과 제출 플래그도 해제
공개 조건 채점 결과 검사실 공개 ① 관리자 확정 ② 확정 점수 존재 ③ 본인 검사실 건 미확정 시 서버 응답에서 제외 — 화면 숨김이 아니라 데이터 미전송
차단 지점 요약 — 서버가 실제로 막는 곳은 다음과 같다(공백점검서 17 P0 조치 반영). ① 제출(기간·권한) ② 모든 단계 전환의 수행 역할 ③ 현장평가 착수(확정·기간·배정) ④ 평가완료(판정·보고서) ⑤ 최종평가 착수(기간·조치결과 제출) ⑥ 최종 확정(최종평가 판정) ⑦ 채점 결과 공개(확정) ⑧ 증빙 조회·첨부·삭제(평가건 범위 + 단계 잠금) ⑨ 평가건 초기화(작성 단계 전용·사유 필수) ⑩ 게시(대상 검사실·사전평가 기간, 미충족 시 사유 기록형 예외승인) ⑪ 미게시 초안 조회(관리자 전용) ⑫ 관리자의 응답·평가·판정 덮어쓰기(불가 — 사유가 남는 공식 정정만) ⑬ 심사위원회 의결 기록(판정 선행조건) ⑭ 심사원 배정·착수 자격(사용여부·서약 제출·배정가능). 나머지 조작은 상태에 따라 화면에서 노출되지 않을 뿐 별도 잠금은 없다.

5. 기간·기한과 일정 설정 지점 어디서 설정하고 무엇을 통제하는가

항목설정 화면저장 단위통제 대상비고
사전평가 기간시스템관리 > 평가기간 등록연도 + 평가건 예외 제출(PUBLISHED → SUBMITTED)기간 밖이면 제출만 차단, 작성·저장은 허용. 변경 이력 보존
현장평가 기간시스템관리 > 평가기간 등록연도 + 평가건 예외 현장평가 착수(SUBMITTED → FIELD_EVAL)사전평가 확정 조건과 함께 검증
사후조치 기간시스템관리 > 평가기간 등록연도 + 평가건 예외 최종평가 착수(ACTION_REQ → FINAL_EVAL)
현장평가일시스템관리 > 검사실 관리검사실 통제 없음(일정 정보)월별 일정·공문·서약서·보고서·「내 일정」에 표출
심사원 배정시스템관리 > 검사실 관리검사실 심사원 조회 범위배정 결과가 공문·서약서·보고서에 반영
인증 유효기간평가건 > 인증서 대장평가건 통제 없음(표기)발급일 + 3년 잠정 — 발주처 기준 미확정
평가표 연도평가표관리연도 문항·가중치 적용 범위해당 연도 평가건이 있으면 삭제 불가
2026-07-29 개선 — 평가기간 3종은 연도에 한 번 등록하면 그 해 모든 평가건이 상속한다. 특정 기관만 일정이 다를 때에 한해 평가건 예외를 설정하며, 화면에 적용 값과 출처가 함께 표시된다. 기간 변경은 이력으로 보존된다.

6. 사용자·업무 책임 매트릭스 R 수행 · A 확정 · C 협의 · I 통보

업무 관리자검사실-일반 검사실-관리자평가위원 심사위원회서버가 실제로 막는 것
기준정보·평가표·평가기간 설정R·AIII관리자 외 저장 403 · 기간 변경은 이력 보존
평가 대상기관 선정·게시R·AII대상 검사실 필수 · (연도,검사실) 유일 · 사전평가 기간 확인(예외승인 시 사유 기록)
사전평가 작성·증빙 첨부CRR작성 단계에서만 저장·첨부 · 타 기관 자료는 목록·다운로드 모두 404
작성완료(제출)CR·A검사실-관리자만 전이(I3) · 사전평가 기간 밖 409
사전평가 채점·보정·확정R·AIIC확정 전 채점 결과는 검사실 응답에서 제외 · 확정은 관리자만
현장평가 시행·입력CICR배정된 심사원만 조회·입력 · 자격 미확인 시 착수 409 · 관리자 확정 전 착수 409
평가결과보고서 생성IIIRC심사원 영역 · 검사실은 본문을 바꿀 수 없음
평가결과보고서 확정IIACI확정 플래그만 검사실-관리자 · 본문은 심사원 값이 권위
인증 / 사후조치 / 미인증 판정IIICR·A심사위원회만 전이 · 판정 + 의결 기록 없으면 409
사후조치 결과 제출CRR·AII사후조치 단계에서만 작성 · 제출 후 수정 409 · 되돌리기는 관리자(사유 필수)
최종평가 · 최종 확정IIIRA최종평가 판정 + 의결 기록 필요 · 조치결과 미제출이면 착수 409
공식 정정 오기입 사후 정정R·AIIII관리자만 · 영역·문항·항목·사유 필수 · 사유가 문항 이력에 기록
심사위원회 의결 기록 회의·참석·의결방식·의사록ICR·A판정의 선행조건 · 정족수는 규정 확정 전이라 미적용
통계·인증서 대장 관리R·AII인증번호·발급일은 서버 채번 · 검사실은 본인 기관 범위만

7. 축 검토 — 「연도 + 검사실ID」로 움직여야 하는가 현행 진단 및 권고

유검평은 「연도 + 검사실ID」를 공통축으로 삼고 그 아래 업무별 대상·상태를 따로 둔다. 본 시스템도 같은 축을 써야 하는지 소스 기준으로 점검했다.

7-1. 현행 진단 — 축은 이미 (연도 × 검사실)이다

요소현행 구현축 일치확인 근거
평가건eval_casesyear + lab_id 보유, 목록·통계·CSV가 연도로 필터 일치models.py EvalCase
평가표(문항)survey_items.year — 연도(버전) 단위 관리·복사·삭제 일치routers/survey.py
검사실 식별labs.lab_code = 기관번호(3) + 분류코드, 중복 시 일련번호. 화면 표기 [001B] 일치master.py issue_lab_code
인증번호KDCA-{연도}-{기관유형}-{일련} 서버 채번 일치cases.py _issue_cert_no
평가기간연도 기본값(eval_periods)을 평가건이 상속하고, 필요할 때만 평가건에서 예외로 덮어쓴다 일치 조치periods.py · cases.py _check_period
(연도, 검사실) 유일성서버가 중복 생성·수정을 409로 거부한다(한 해 검사실당 1건) 일치 조치cases.py _check_unique
결론 ① — 본 시스템은 이미 「연도 + 검사실」을 축으로 움직인다. 평가건·평가표·인증번호·통계가 모두 이 축을 쓰므로 축 자체를 새로 도입할 필요는 없다. 축이 규칙으로 강제되지 않던 두 가지(발견 1·2)는 2026-07-29 조치 완료했다.
발견 1 — (연도, 검사실) 유일성 미보장 조치 완료 2026-07-29
평가건 생성 시 같은 연도·같은 검사실 조합을 막지 않는다. 일괄 선정 화면에서만 중복을 안내할 뿐 서버는 그대로 만든다. 중복 평가건이 생기면 목록·단계 카드·통계·평균 점수가 이중 계산되고, 검사실 담당자에게는 어느 것이 진짜인지 알 방법이 없다.
조치 — 서버가 생성·수정 모두에서 (연도, 검사실) 중복을 409로 거부한다(cases.py _check_unique). 거부 메시지에 기존 평가건명·상태를 함께 안내하며, 일괄 선정 화면은 이미 있는 기관을 건너뛰고 「생성 n건 · 기존 m건 건너뜀」으로 알린다. 규칙 도입 전에 만들어진 중복 건은 편집이 막히지 않도록, 연도·검사실을 실제로 바꿀 때만 검사한다. 검증 API 8건 PASS(중복 409·다른 연도/검사실 허용·수정 충돌 차단·대상 미지정 예외).
잔여 DB UNIQUE 제약이 아닌 애플리케이션 레벨 검사다(기존 중복 데이터 때문에 DDL 제약을 걸지 않았다). 동시 관리자 2인이 같은 순간에 생성하면 통과할 수 있으나, 일괄 생성이 직렬 처리라 실사용 위험은 낮다. 근거 흐름도 #9 대상선정 · F-16(평가 대상기관 선정)의 전제.
발견 2 — 평가기간이 평가건마다 흩어짐 조치 완료 2026-07-29
[시스템관리 > 평가기간 등록]은 화면 위치상 전역 설정처럼 보이지만 실제로는 현재 선택된 평가건에만 저장된다. 대상이 6~7개 기관이면 같은 날짜를 6~7번 입력해야 하고, 한 곳이라도 빠지면 그 평가건만 통제 없이 열려 있게 된다.
조치eval_periods(연도 단위) 신설. [시스템관리 > 평가기간 등록]이 ①연도 기본 기간(그 해 모든 평가건에 적용)과 ②이 평가건 예외 2단으로 나뉘고, 서버가 단계별로 예외 > 연도 기본 순서로 적용 기간을 계산해 내려준다(periodsEff·periodsSrc). 화면은 적용 값과 출처(연도 기본 / 이 평가건 예외)를 함께 표시한다. 계산 필드는 저장되지 않아 상속이 예외로 굳지 않는다.
기간은 제출·착수를 차단하는 통제 값이므로 변경 이력(period_history)을 구간·항목 단위로 남긴다 — 누가 언제 무엇을 무엇에서 무엇으로 바꿨는지, 연도 기본값과 평가건 예외를 구분해 기록한다(불변식 I5). 검증 API 21건 PASS. 근거 흐름도 #10·#21·#35(기간 등록) · F-17/F-23/F-32(기간 통제).

7-2. 유검평식 다축 구조를 따라야 하는가

유검평 구조본 사업 적용 시판단근거
업무(현황조사·서면·현장·외부정도)별 대상 여부와 사유를 각각 지정 평가건 1건이 3단계를 관통하므로 단계별 대상 지정 개념이 없다. 도입하면 상태머신을 다축으로 재설계해야 한다 범위 외흐름도 v1은 3단계 단일 흐름 — 단계별 대상 선정 항목 없음
업무별 독립 상태(서면 평가중 / 현장 심사중 …) 현행 10종 단일 상태로 동일 정보를 표현한다(제출·채점확정·보고서 여부는 목록 컬럼으로 보완) 범위 외불변식 I4(정의된 상태 전이만 허용)와 충돌
업무별 독립 기간(입력·평가·이의 기간) 사전·현장·사후 3종 기간으로 이미 대응한다 대응됨흐름도 #10·#21·#35
차수 개념(외부정도관리 1·2차) 외부정도관리 자체가 범위 외이므로 차수 축은 불필요 범위 외흐름도에 외부정도관리 단계 없음
연도+검사실ID 공통축 이미 동일 축 — 유지·강화(발견 1·2) 채택현행 구현과 일치
결론 ②공통축(연도 + 검사실)은 유검평과 동일하게 유지하되, 업무별 다축(대상·상태·차수)은 채택하지 않는다. 흐름도 v1이 3단계 단일 흐름으로 정의했고, 개발범위회신도 현장평가 운영 자동화를 축소하라고 회신했기 때문이다. 다축 전환은 상태머신·데이터모델을 다시 세우는 일이므로, 필요하다면 흐름도 v2 개정과 함께 별도 과업으로 협의해야 한다.
권고 정리
즉시 보완(범위 내) — (연도, 검사실) 유일성 서버 강제 · 평가기간의 연도 단위 상속 2026-07-29 완료
유지 — 단일 상태머신 10종, 3단계 단일 흐름, 검사실ID 체계, 연도 단위 평가표·인증번호
협의 필요 — 업무별 다축(대상·상태), 재평가 차수 개념, 이의신청 단계 — 모두 흐름도 v2 개정 사안

8. 범위 상한 — 프로세스에 두지 않은 것 개발범위회신 기준

아래는 유검평 프로세스에는 있으나 흐름도 v1·개발범위회신에 근거가 없어 본 시스템 프로세스에 포함하지 않은 단계다. 검수 시 질의를 대비해 사유를 함께 둔다.

유검평 단계본 시스템제외·대체 사유 (기준 문서)
외부정도관리 전 업무(차수·문항·결과입력·예비/최종)범위 외 흐름도 v1은 사전평가·현장평가·사후조치 3단계로 구성 — 외부정도관리 단계 자체가 없다
이의신청(서면·현장·외부정도)범위 외 흐름도에 이의신청 단계·주체·상태가 정의되어 있지 않다. 도입 시 상태머신 확장이 필요해 별도 과업 협의 사항
변경신청(온라인 신청 → 접수 → 승인/반려)대체 흐름도 #13이 「수정요청(유선) → 제출 Flag 수정」으로 명시 — 관리자 되돌리기로 구현 완료
심사원 가능일정·지역 등록 → 자동 배정대체 개발범위회신: 「6개 기관은 수동 배정으로 충분」 — [검사실 관리]의 심사원 배정 컬럼으로 대체(회신이 지정한 대체안)
심사확정 공문 자동 메일발송제외 개발범위회신: 「수동 발송으로 대체」 — 공문 양식 등록 + 조회·출력까지가 범위
심사서약서 온라인 전자서명·서명 이력관리선택 개발범위회신: 「올해는 출력물에 종이 서명으로 대체, 향후 확장을 위해 선택 기능으로만 표기」
서면평가 심사원 배정·재분류·적절성 평가범위 외 유전자검사 항목의 재분류·적절성 판정은 유검평 고유 업무 — 본 사업 평가표(정량 13·정성 54)에 대응 개념이 없다. 사전평가 채점 주체는 흐름도대로 관리자
심사팀장 보고서·소감문·영수증·교육 관리범위 외 흐름도 #31은 평가결과보고서 1종만 요구하며, 심사원 정산·교육 단계가 없다
절대 원칙 — 유검평에 존재하더라도 「프로세스 흐름도 v1」과 「개발범위회신」에 근거가 없으면 차용하지 않는다. 이는 사업 규모 차이(유검평 91라우트 vs 본 사업 6~7개 기관)를 반영한 의도적 축소이며 누락이 아니다.

9. 근거와 해석상 주의

작성 근거

  • 기준 문서 — 「진단검사의학재단 프로세스 흐름도 v1」 · 「개발범위회신」(2026-07). 두 문서가 범위의 상한이다.
  • 구현 근거 — 현행 소스 직접 확인: backend/app/routers/cases.py(상태머신·기간·공개조건·권한), survey.py(연도별 평가표), master.py(검사실ID·배정), models.py(축·이력 테이블).
  • 화면 근거 — 역할별 전 화면 조작 테스트 39건 전수 PASS(2026-07-28), 캡처는 41.사용자매뉴얼 v3.0에 수록.
  • 형식 근거 — 「02.유검평 전체 사용자별 프로세스 정의서」의 구성(전체 구조 → 스윔레인 → 업무별 분기 → 상태 지도 → 기간 → 책임 매트릭스)을 준용했다.

해석상 주의

  • 상태명은 시스템 상태코드를 그대로 썼다(DRAFT·PUBLISHED·…). 화면 표기는 「작성 중(미게시)」·「게시됨(작성중)」처럼 한글 라벨이 별도로 있다.
  • 분기 조건은 서버가 실제로 검증하는 것만 적었다. 화면에서만 감춰지는 항목은 통제로 보지 않았다.
  • 기간 통제는 기간이 등록된 경우에만 작동한다. 미등록이면 아무것도 막지 않는다(운영 중 실수로 전 단계가 잠기는 것을 막기 위한 설계).
  • 7장의 발견 1·2는 현행 결함/개선점이며, 조치 여부는 발주처 확인 후 결정한다. 이 문서는 현행을 있는 그대로 기술한다.
  • 인증 유효기간(발급일+3년)은 근거 문서가 없는 잠정값이다.