Skip to content

HBNS250_병동 탭·다중 병동

(Hereby) 팀 관리(team-manager) > 간호 스케줄러 > 병동 탭·다중 병동

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

개요

  • 병동 전환 UX를 정의한다. 병동 탭 = "간호부 (IMPORT-간호부-mnfstwmd)" / "1 (WARD_1783324323706)".
  • 병동 탭은 두 원천으로 구성된다:
    • Admin 병동 IMPORT — [[HBAD230]]에서 생성된 병동, IMPORT- 접두.
    • NS 자체 병동 — ⚙ "병동 관리 및 설정" 모달([[HBNS240]])에서 병상수·순서를 관리하는 CRUD 대상, WARD_ 접두.
  • NS 자체 병동은 "부서와 별개"의 개념(물리적 입원 단위)으로 관리된다 — [[HBNS240]] ①병동 관리 탭에서 코드/병동명/병상수/순서/상태를 CRUD한다.
  • 스케줄은 병동별로 분리된다(nurse_schedules.wardId 단위). 병동 전환 시 근무표·환자수·준수율이 선택 병동 컨텍스트로 전환된다.
  • 탭 구조상 [[HBNS100]] 헤더 · [[HBNS200]] 그리드가 선택 병동 컨텍스트를 소비한다.
  • ERD: wards ||--o{ nurse_schedules (병동 1 : 스케줄 N).

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성
2026-07-21카나PM셀 스타일 확정판 적용 (콸 승인)

Data I/O

Server → Client

변수DB 엔티티.컬럼값 없을 때비고
${jwt_session}(인증 세션 — 간호 관리자/수간호사)/nurse-scheduler/signin 리다이렉트미인증 시 탭 노출 불가
${ward_tabs}wards[] (displayOrder 정렬)빈 탭(-E)"간호부 (IMPORT-간호부-mnfstwmd)" / "1 (WARD_1783324323706)"
${selected_ward}wards.id (현재 선택 병동 컨텍스트)기본 첫 병동(displayOrder 최상단) 추정선택 상태 유지 규칙 TBU
${schedule}nurse_schedules (wardId 단위) + 상태 배지빈 근무표(초안)병동별 분리
${today_census}ward_daily_records.patientCount0 또는 미입력 표시선택 병동 당일 환자수
${compliance}(비율 충족도 — 준수율)계산 불가 시 처리 TBU"준수율 25%에서 100%". 비율 원천 = [[HBNS240]] ②인력 설정

Client → Server

액션전달 값tRPC/SDK권한 토큰
병동 탭 전환wardId선택 병동 근무표·환자수·준수율 재로드 (procedure TBU)schedule:read.org (TBU)

외부 통합 (cross-app)

외부 시스템데이터동기/비동기비고
Admin 병동 관리 [[HBAD230]]Ward 마스터 (IMPORT- 접두)동기 IMPORT생성 병동이 탭으로 반영
NS 자체 병동 [[HBNS240]]WARD_ 접두 병동 (병상수·순서)동기⚙ 모달 CRUD 결과가 탭으로 반영

화면 플로우 (상태 머신)

병동 탭 = 다중 병동 전환의 단일 진입점. 스케줄은 병동별 분리(nurse_schedules.wardId), 헤더·그리드가 선택 병동 컨텍스트를 소비한다.

병동 탭·다중 병동 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-조건1 [간호 관리자] · 조건2 [수간호사] 인증 시 노출
 - CASE01 [${jwt_session} 없음]: /nurse-scheduler/signin 리다이렉트
인증 세션TBU: 조건3 [간호사] 탭 노출 범위
10병동 탭Tab• 병동을 전환하는 탭 "간호부 (IMPORT-간호부-mnfstwmd)" / "1 (WARD_1783324323706)"
• 클릭 → 선택 병동 전환(근무표·환자수·준수율 재로드), 활성 탭 강조
[[HBNS100]] 헤더displayOrder 정렬, TBU: 재로드 실패
ㄴ10-E병동 없음 (Empty)-• 병동 0건(Admin IMPORT·NS 자체 모두 없음) → 병동 탭 미표시TBU: 표시 문구·근무표 영역 처리
ㄴ11탭 반영 원천-두 원천 — Admin 병동 IMPORT([[HBAD230]], IMPORT- 접두) + NS 자체 병동(⚙ 모달 CRUD, WARD_ 접두)[[HBAD230]] / [[HBNS240]]Admin IMPORT + NS 자체
ㄴ12NS 자체 병동-⚙ "병동 관리 및 설정" 모달에서 병상수·순서 관리. "부서와 별개" 물리적 입원 단위[[HBNS240]] ①병동 관리NS CRUD
20병동별 스케줄 분리-스케줄은 병동 단위로 분리 (nurse_schedules.wardId). wards ||--o{ nurse_schedules. 근무표 미존재 시 초안(빈 근무표) 노출[[POL_간호인력·준수율]]병동 1 : 스케줄 N
30컨텍스트 전환-병동 전환 시 근무표·환자수·준수율이 선택 병동 컨텍스트로 전환. 상태 배지(초안/AI 생성/수정 중/확정/공유됨) 병동별 독립 유지[[HBNS100]] / [[HBNS200]]TBU: 미저장 편집 상태에서 병동 전환 시 처리
ㄴ31헤더 소비-헤더(기간·상태 배지·환자수)가 선택 병동 컨텍스트 소비[[HBNS100]] 헤더
ㄴ32그리드 소비-그리드(근무표·지표 바 준수율)가 선택 병동 컨텍스트 소비[[HBNS200]] 그리드

권한·상태 분기 요약

시나리오트리거결과권한비고
CASE01 [병동 탭 전환]병동 탭 클릭선택 병동 근무표·환자수·준수율 재로드조건1 [간호 관리자] / 조건2 [수간호사]
CASE02 [Admin 병동 IMPORT]Admin 병동 생성 ([[HBAD230]])스케줄러 병동 탭에 IMPORT 반영(Admin 원천)원천=Admin, IMPORT- 접두
CASE03 [NS 자체 병동]⚙ 모달 "+ 병동 추가" ([[HBNS240]])NS 자체 병동 탭 추가 (병상수·순서)조건1 [간호 관리자]부서와 별개, WARD_ 접두
CASE04 [병동 없음]병동 0건병동 탭 미표시 (Empty 처리 TBU)-

Open Question

  • 병동 전환 시 미저장 편집 상태 유지/경고 여부 = TBU
  • 병동 탭 정렬/표시 규칙(displayOrder vs code) = TBU
  • "간호부"(IMPORT- Admin 원천)와 NS 자체 병동(WARD_ ⚙ 모달 CRUD)의 병합·중복 처리 규칙 = TBU
  • 기본 선택 병동 결정 규칙 및 세션 내 선택 병동 유지 여부 = TBU
  • 병동 0건(Empty) 시 근무표 영역·안내 문구 처리 = TBU
  • 조건3 [간호사]의 병동 탭 노출 범위 = TBU
  • 병동 탭 전환 재로드 실패 시 에러 처리 = TBU