HBNS250_병동 탭·다중 병동
(Hereby) 팀 관리(team-manager) > 간호 스케줄러 > 병동 탭·다중 병동
| 앱 | 간호 스케줄러 (team-manager 내장, 포트 4004) |
| 대상 사용자 | 조건1 [간호 관리자] · 조건2 [수간호사] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_간호인력·준수율]] · [[POL_간호스케줄 Lifecycle]] |
| Status | draft |
| Owner | 카나 |
개요
- 병동 전환 UX를 정의한다. 병동 탭 = "간호부 (IMPORT-간호부-mnfstwmd)" / "1 (WARD_1783324323706)".
- 병동 탭은 admin [[HBAD230]] 병동 관리 페이지에서 생성·관리된 병동으로 구성된다(
IMPORT-접두 = 부서 연동 병동,WARD_접두 = 코드 없이 생성돼 자동 부여된 병동, 1e70fde). - [2026-09-15 병동 관리 탭 제거·admin 단일화(63cba75)] 병동 CRUD(코드/병동명/병상수/순서/상태)는 이제 admin [[HBAD230]] 병동 관리 페이지 전용이다 — 스케줄러 ⚙ 팝업의 「병동 관리」 탭은 제거되었다([[HBNS240]]). 스케줄러의 병동 탭은 admin에서 관리된 병동을 참조·전환하는 UI로만 남는다.
- 스케줄은 병동별로 분리된다(
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 | 카나 | PM | GC700 깊이 재작성 |
| 2026-07-21 | 카나 | PM | 셀 스타일 확정판 적용 (콸 승인) |
| 2026-09-15 | 카나 | 콸 | 병동 관리 탭 제거·admin 단일화(63cba75): 병동 CRUD를 admin [[HBAD230]] 전용으로 이관, 스케줄러 병동 탭은 admin 병동 참조·전환 UI로만 유지 |
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.patientCount | 0 또는 미입력 표시 | 선택 병동 당일 환자수 |
${compliance} | (비율 충족도 — 준수율) | 계산 불가 시 처리 TBU | "준수율 25%에서 100%". 비율 원천 = [[HBNS240]] ②인력 설정 |
Client → Server
| 액션 | 전달 값 | tRPC/SDK | 권한 토큰 |
|---|---|---|---|
| 병동 탭 전환 | wardId | 선택 병동 근무표·환자수·준수율 재로드 (procedure TBU) | schedule:read.org (TBU) |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 동기/비동기 | 비고 |
|---|---|---|---|
| Admin 병동 관리 [[HBAD230]] | Ward 마스터 (IMPORT- / WARD_ 접두 모두) | 동기 | admin에서 생성·관리된 병동이 탭으로 반영 (병동 CRUD 전용, 63cba75) |
화면 플로우 (상태 머신)
병동 탭 = 다중 병동 전환의 단일 진입점. 병동 CRUD는 admin [[HBAD230]] 전용(63cba75), 스케줄은 병동별 분리(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 [[HBAD230]] 병동 관리 페이지에서 생성·관리된 병동(IMPORT- 부서 연동 / WARD_ 코드 자동 부여, 1e70fde). 병동 관리 탭 제거·admin 단일화(63cba75) 후 단일 원천 | [[HBAD230]] | admin 병동 관리 전용 |
| ㄴ12 | 병동 CRUD 위치 | - | 병동 CRUD(코드/병동명/병상수/순서/상태)는 admin [[HBAD230]] 병동 관리 페이지 전용 — 스케줄러 ⚙ 팝업 병동 관리 탭 제거(63cba75) | [[HBAD230]] · [[HBNS240]] | admin 단일화 |
| 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 병동 생성] | Admin 병동 관리 페이지 ([[HBAD230]]) | 스케줄러 병동 탭에 반영 (IMPORT- 부서 연동 / WARD_ 코드 자동) | (admin 병동 관리 권한) | admin 병동 CRUD 전용(63cba75) |
CASE03 [병동 관리 탭 제거] | 스케줄러 ⚙ 팝업 | 병동 관리 탭 없음 — 병동 CRUD는 admin [[HBAD230]]에서 | - | 2026-09-15 63cba75 |
CASE04 [병동 없음] | 병동 0건 | 병동 탭 미표시 (Empty 처리 TBU) | - |
Open Question
- 병동 전환 시 미저장 편집 상태 유지/경고 여부 = TBU
- 병동 탭 정렬/표시 규칙(displayOrder vs code) = TBU
IMPORT-(부서 연동) 병동과WARD_(코드 자동 부여) 병동의 병합·중복 처리 규칙 = TBU (병동 CRUD는 admin [[HBAD230]] 단일화, 63cba75)- 기본 선택 병동 결정 규칙 및 세션 내 선택 병동 유지 여부 = TBU
- 병동 0건(Empty) 시 근무표 영역·안내 문구 처리 = TBU
조건3 [간호사]의 병동 탭 노출 범위 = TBU- 병동 탭 전환 재로드 실패 시 에러 처리 = TBU