Skip to content

HBNS210_간호사 프로필 관리

(Hereby) 팀 관리(team-manager) > 간호 스케줄러 > 간호사 프로필 관리

간호 스케줄러 (team-manager 내장, 포트 TBU)
대상 사용자조건1 [간호 관리자] · 조건2 [수간호사]
프로토타입TBU
관련 정책[[POL_간호스케줄 Lifecycle]]
Statusdraft
Owner카나

개요

  • "👩‍⚕️ 간호사" 뷰 = "간호사 프로필 관리" 화면. 근무표 그리드([[HBNS200]])의 행이 되는 간호사 마스터를 등록·관리한다.
  • 상단 "자동등록" / "+ 간호사 등록" 버튼, 하단 6컬럼 테이블(사번 / 이름 / 근무 형태 / 소속 병동 / 수간호사 / 작업). row 작업은 "삭제"(destructive).
  • "+ 간호사 등록" = 간호사 등록 모달. 직원 선택("사번 또는 이름으로 검색...") + 근무 형태 select + 소속 병동 select + "수간호사" 체크 + 하단 "취소" / "등록".
  • 직원 선택은 인사 마스터(employees)에서 검색해 employeeId로 매핑한다. 프로필은 nurse_profiles(employeeId / workType enum / wardId / isHeadNurse)에 저장된다.
  • 근무 형태는 데이전담 / 3교대(nurse_profiles_worktype_enum), 소속 병동은 **Admin 병동 관리([[HBAD230]])**가 원천이다.

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)
2026-07-21카나PMTC 크로스체크 확정분 반영 (🟡 — nurseScheduler.profile.create/list, NurseWorkType enum(two_shift 없음) 등)
2026-08-18카나라이브 재검증 정정등록 모달 근무 형태 select 라이브 4종 = "3교대 / 야간전담 / 데이전담 / 이브닝전담" (evening_dedicated 추가 관찰). 기존 스펙 2~3종(데이전담/3교대/야간전담)에 이브닝전담 신규. two_shift 없음은 유지

Data I/O

Server → Client

변수DB 엔티티.컬럼값 없을 때비고
${profiles}nurse_profiles[] (employeeId / workType / wardId / isHeadNurse)빈 테이블 → Empty 행(-E) 노출사번 / 이름 / 근무 형태 / 소속 병동 / 수간호사 표시 원천
${wards}wards[] ([[HBAD230]] 원천)select 옵션 없음 → TBU(선택 불가/안내 문구 미확인)소속 병동 선택지
${worktype_enum}NurseWorkType enum (2026-08-18 라이브 4종) = three_shift / night_dedicated / day_dedicated / evening_dedicated (two_shift 없음)고정 enum → 항상 존재라벨 "3교대" / "야간전담" / "데이전담" / "이브닝전담"

Client → Server

액션전달 값tRPC/SDK권한 토큰
간호사 등록employeeId, workType, wardId, isHeadNursenurseScheduler.profile.create() (TC 확정: 04:4.1)TBU
프로필 목록 조회wardIdnurseScheduler.profile.list({wardId}) (TC 확정: 04:4.1)TBU
자동등록일괄 프로필 생성 (대상 범위·동선 상세 TBU)TBUTBU
삭제profileIdnurseScheduler.profile.delete() (추정 — TC 미검증), destructiveTBU

외부 통합 (cross-app)

외부 시스템데이터동기/비동기비고
Admin 병동 관리 ([[HBAD230]])소속 병동(wardId) 마스터동기(select 로드)병동 원천
인사 마스터 (employees)직원 검색 → employeeId 매핑동기(등록 모달 검색)직원 선택 원천

화면 플로우 (상태 머신 필수)

프로필은 그리드([[HBNS200]]) 행의 원천. 소속 병동은 [[HBAD230]]에서 생성된 병동을 참조한다.

간호사 프로필 관리 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [간호 관리자]/조건2 [수간호사] 인증 시 "👩‍⚕️ 간호사" 뷰로 노출인증 세션TBU: 조건3 [간호사] 노출 여부
10정체성-• 그리드 행의 원천이 되는 간호사 마스터 CRUD 화면[[HBNS200]]nurse_profiles
20자동등록Button• 간호사 프로필을 일괄 생성하는 기능
• 클릭 → 일괄 프로필 생성 (CASE02 [자동등록])
TBU: 대상 범위·동선·실패 동작
30간호사 등록 모달 진입Button• 개별 간호사 프로필을 등록하는 모달을 여는 버튼
• 클릭 → "간호사 등록" 모달 오픈 (상세 아래 별도 표)
아래 모달 표nurseScheduler.profile.create (TC 확정: 04:4.1)
40프로필 테이블Table• 등록된 간호사 프로필을 6컬럼(사번 / 이름 / 근무 형태 / 소속 병동 / 수간호사 / 작업)으로 렌더. Empty = 아래 40-E 행nurse_profiles[]
ㄴ41사번Cell• 간호사 사번 표시employeeId식별자(mono 금지)·TBU: 미매핑 표시
ㄴ42이름Cell• 간호사 성명 표시TBU: 값 없음 표시
ㄴ43근무 형태Cell• "데이전담" / "3교대" 표시nurse_profiles_worktype_enumTBU: enum 외 값 표시
ㄴ44소속 병동Cell• 배속 병동 표시. [[HBAD230]] 생성 병동 참조[[HBAD230]] / wardId원천·TBU: 미배정/삭제 병동 표시
ㄴ45수간호사Cell• 수간호사 여부(isHeadNurse) 표시isHeadNurseTBU: false 표시 형태
ㄴ46작업Button• 해당 행 간호사 프로필을 제거하는 destructive 액션
• 클릭 → 프로필 제거 (CASE03 [삭제])
[[HBNS200]]destructive · TBU: 컨펌 유무·확정 근무표 배정 프로필 삭제 차단 규칙·삭제 권한
ㄴ40-E프로필 없음(Empty)-E• 프로필 0건일 때 테이블 Empty 상태Empty·TBU: 안내 문구·CTA

간호사 등록 모달 사양표

"+ 간호사 등록" 클릭 시 노출되는 개별 등록 모달. 하단 "취소" / "등록".

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-• "+ 간호사 등록" 클릭 시 "간호사 등록" 모달 오픈프로필 관리 표 30
10직원 선택Search• 인사 마스터에서 직원을 검색해 employeeId로 매핑하는 검색 필드
• 입력 → "사번 또는 이름으로 검색..." placeholder로 검색, 일치 직원 매핑
 - CASE01 [검색 결과 없음]: Empty(-E, 아래 10-E)
employees원문 카피·TBU: 미선택 등록 시 검증
ㄴ10-E검색 결과 없음(Empty)-E• 사번/이름 검색 결과 0건일 때 표시Empty·TBU: 문구
20근무 형태Select• 근무 형태를 선택하는 드롭다운 (기본값 "3교대")
• 옵션 4종(2026-08-18 라이브): "3교대" / "야간전담" / "데이전담" / "이브닝전담"
nurse_profiles_worktype_enum2026-08-18: 전체 enum 값 확정(이브닝전담 포함)
30소속 병동Select• 배속 병동을 선택하는 드롭다운. [[HBAD230]] 생성 병동 참조
• 선택 → 배속 병동 지정
[[HBAD230]] / wardId원천·TBU: 병동 0건 옵션·기본값
40수간호사Checkbox• 수간호사 여부를 지정하는 체크박스
• 클릭 → 체크 시 isHeadNurse = true
isHeadNurse미체크 기본값 false(추정)
50취소Button• 등록을 취소하고 모달을 닫는 버튼
• 클릭 → 모달 닫기(변경 폐기, 저장 없음)
51등록Button• 입력 값으로 간호사 프로필을 생성하는 버튼
• 클릭 → 프로필 생성 후 모달 닫힘 + 테이블/그리드 반영 (CASE01 [간호사 등록])
[[HBNS200]]nurseScheduler.profile.create (TC 확정: 04:4.1) · TBU: 필수 미입력(직원 미선택)·생성 실패(중복 employeeId) 동작 — 무반응이면 버그 후보

권한·상태 분기 요약

시나리오트리거결과권한비고
CASE01 [간호사 등록]"+ 간호사 등록" → 모달 "등록"nurse_profiles 생성 → 그리드 행 반영조건1/조건2[[HBNS200]]
CASE02 [자동등록]"자동등록"일괄 프로필 생성TBU동선 상세 TBU
CASE03 [삭제]row 작업 "삭제"프로필 제거 (destructive)TBU컨펌 유무 TBU

Open Question

  • "자동등록" 동선 상세(원천·대상 범위·중복 처리·실패 동작) = TBU
  • 근무 형태 enum = NurseWorkType three_shift / night_dedicated / day_dedicated (two_shift 없음) 확정 (TC 04:4.5); 야간전담(night_dedicated) 라벨·AI 편성 패턴 = TBU
  • 수간호사(isHeadNurse) 사후 수정 UI(기등록 프로필 편집) = TBU — 등록 모달 "수간호사" 체크로 최초 설정만 확인
  • 프로필 테이블 Empty 안내 문구·CTA = TBU
  • 삭제 destructive 컨펌 다이얼로그 유무 및 문구 = TBU(미실행)
  • 확정 근무표에 배정된 프로필 삭제 시 처리(차단/경고) = TBU