Skip to content

HBNS100_Shell·헤더

(Hereby) 팀 관리(team-manager) > 간호 스케줄러 > Shell·헤더

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

개요

  • 간호 스케줄러의 공통 Shell · 상단 헤더. 로그인 게이트, 년/월 선택, 기간 표시, 상태 배지, 병동별 환자수 인라인 입력, 설정/캘린더 유틸, 알림, 뷰 탭 3종을 포함한다.
  • 로그인은 타 앱과 통일된 "비밀번호 / 휴대폰 인증" 2탭 구조로, "사번 / 이메일" 라벨(입력 placeholder "사번, 이메일, 또는 전화번호" 유지) + 비밀번호 표시·찾기 + 푸터 "© 2026 Hereby Platform"을 갖춘다.
  • 병동 탭마다 "오늘 환자" 인라인 입력 필드가 붙어 준수율 계산의 당일 원천이 된다.
  • 헤더 유틸 아이콘 정체(버튼 접근성 이름 기준): 📋 = "월별 환자수 관리"([[HBNS230]]) / ⚙ = "병동 관리 및 설정"([[HBNS240]]).
  • 좌측 "병동 관리" 탭은 **비활성(흐림)**이며, 병동 관리 기능은 ⚙ 모달로 통합됐다.

문서 히스토리

날짜작성자변경 내용
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.* 네임스페이스 등)

Data I/O

Server → Client

변수DB 엔티티.컬럼값 없을 때비고
${jwt_session}인증 세션/nurse-scheduler/signin 리다이렉트
${period}년(2024-2028) / 월(1-12)기본 당월, 기간 "07-01 ~ 07-31" 파생
${state}nurse_schedules.status → 상태 배지 "초안" 등근무표 없으면 배지 미표시 TBU라벨 vs 내부 enum 분리
${ward_tabs}wards[] — "간호부 (IMPORT-간호부-...)" / "1 (WARD_...)"병동 없으면 탭 없음 TBU표시 라벨 원문
${today_census}ward_daily_records.patientCount (병동별 당일 환자수)기본 0 ("간호부 [0] / 1 [0] / 합계 0명")

Client → Server

액션전달 값tRPC/SDK권한 토큰
년/월 변경year, month근무표 재로드TBU
당일 환자수 입력wardId, date, patientCountnurseScheduler.dailyRecord.upsert() (TC 확정: 04:4.6)TBU

외부 통합 (cross-app)

외부 시스템데이터동기/비동기비고
월별 환자수 관리 ([[HBNS230]])병동별 환자수 원장동기📋 아이콘 모달
병동 관리 및 설정 ([[HBNS240]])병동·인력·교대·교육·주기 5탭 설정동기⚙ 아이콘 5탭 모달

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

Shell은 모든 뷰 공통 프레임. 병동 탭 전환은 [[HBNS250]], 뷰 탭 전환은 각 화면으로 라우팅.

Shell·헤더 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [간호 관리자]·조건2 [수간호사] 인증 시 노출인증 세션간호사 접근 범위 TBU
ㄴ00case: 미인증-CASE01 [미인증] → 로그인 게이트. 세션 만료 시 재인증인증 실패 시 로그인 화면 유지
10타이틀Text"간호 스케줄" 고정 타이틀 표시원문 카피
20기간 네비게이터-년/월 선택으로 대상 기간을 지정하는 영역. 기간 "07-01 ~ 07-31" 파생, 기본 당월period 변경 시 근무표 재로드월 단위
ㄴ21년 선택Dropdown• 근무표 대상 연도를 지정하는 기능. 목록 2024-2028 고정, 당해년 기본
• 선택 → 해당 년 근무표 재로드
period 재로드TBU: 재로드 실패
ㄴ22월 선택Dropdown• 근무표 대상 월을 지정하는 기능. 목록 1-12월 고정, 당월 기본
• 선택 → 해당 월 근무표 재로드
period 재로드TBU: 재로드 실패
30상태 배지Badgenurse_schedules.status 라벨 표시("초안" 등, 읽기 전용)[[HBNS201]] / [[HBNS202]]라벨 vs 내부 enum 분리
ㄴ30case: 라벨 전환-CASE01 [초안]/CASE02 [AI 생성]/CASE03 [수정 중]/CASE04 [확정]/CASE05 [공유됨] 전환TBU: 전이 조건·근무표 미생성 시 표시
40병동별 환자수 인라인 입력Input• 병동 탭마다 당일 환자수를 입력해 준수율 계산의 당일 원천을 만드는 기능. "오늘 환자 / 간호부 [0] / 1 [0] / 합계 0명", 기본 0
• 입력 → upsert → 준수율 재계산
ward_daily_records / [[HBNS230]]준수율 당일 원천, 문구 원문
ㄴ40-EEmpty: 병동 없음-병동 없으면 입력 필드 미표시TBU: upsert 실패 처리
ㄴ41월별 환자수 관리Button• 병동별 환자수 원장을 여는 유틸(📋 아이콘, 접근성 이름 "월별 환자수 관리")
• 클릭 → "월별 환자수 관리" 모달
[[HBNS230]]접근성 이름 원문, TBU: 모달 로드 실패
ㄴ42병동 관리 및 설정Button• 병동·인력·교대·교육·주기 설정을 여는 유틸(⚙ 기어, 접근성 이름 "병동 관리 및 설정")
• 클릭 → "병동 관리 및 설정" 5탭 모달
[[HBNS240]]접근성 이름 원문, TBU: 모달 로드 실패
50우측 유틸-계정 / 알림(배지 3) / 로그아웃 노출. 배지 없으면 미표시
ㄴ51알림Button• 미읽음 알림을 확인하는 유틸. 알림 종 + 미읽음 배지 "3"
• 클릭 → TBU
배지 "3" 원문, TBU: 클릭 동작·미읽음 0 시 배지
60뷰 탭Tab• 근무표/간호사/내 희망 일정 3뷰를 전환하는 탭. "📋 근무표"/"👩‍⚕️ 간호사"/"📝 내 희망 일정" 고정 3탭
• 클릭 → 해당 뷰 전환
[[HBNS200]] / [[HBNS210]] / [[HBNS220]]탭 라벨 원문, TBU: 라우팅 실패
70좌측 탭Tab• 병동 관리(비활성·흐림)/근무표 좌측 탭. 병동 관리 기능은 ⚙ 모달로 통합됨
• 클릭 → 무반응(설계상 비활성, 버그 아님)
[[HBNS240]]설계상 비활성

로그인 화면 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-미인증 상태로 /nurse-scheduler 진입 시 /nurse-scheduler/signin 노출인증 세션placeholder 상이(타 앱과)
10인증 탭Tab• 로그인 입력 방식을 고르는 탭. "비밀번호 / 휴대폰 인증" 고정 2탭(타 앱과 통일)
• 클릭 → 입력 방식 전환
원문 카피
20아이디 입력Input• 로그인 식별자를 입력하는 필드. 라벨 "사번 / 이메일", placeholder "사번, 이메일, 또는 전화번호"
• 입력 → 값 유지. 미입력 시 로그인 불가
placeholder 원문 유지, TBU: 인증 실패 메시지
30비밀번호 입력Input• 비밀번호를 입력하는 필드. 표시 토글·비밀번호 찾기 노출
• 입력 → 값 유지
 - 표시 토글 → 평문/마스킹 전환
 - 미입력 시 로그인 불가
TBU: 인증 실패 메시지
40푸터Text"© 2026 Hereby Platform" 고정 텍스트원문 카피

권한·상태 분기 요약

시나리오트리거결과비고
CASE01 [미인증]/nurse-scheduler 직접/nurse-scheduler/signin 리다이렉트placeholder 상이
CASE02 [년/월 변경]년/월 스피너해당 월·병동 근무표 재로드
CASE03 [당일 환자수 입력]"오늘 환자" 필드ward_daily_records upsert → 준수율 재계산

Open Question

  • 알림 카테고리/채널 및 클릭 동작 = TBU
  • 상태 배지 라벨 전이/표시 조건(근무표 미생성 시 포함) = TBU
  • 당일 환자수 upsert 권한 토큰·에러 처리 = TBU
  • 병동 미선택/미존재 시 기본 병동 결정 로직 = TBU
  • team-manager 포트/프로토타입 = TBU