Skip to content

병동 관리 ​

  • 대상 사용자 : 최고 관리자(admin), 인사 관리자
  • 목적
    • 병동을 등록하고 관리하기 위한 페이지
    • 병동관리에서 등록된 병동 정보를 기반으로 스케줄러에 병동이 생성됨

1. 목록 화면 ​

  • 필터
    • 기본 : 전체
    • 조건 : 전체, 활성, 비활성
  • 검색바 <- 추가
    • [병동 추가] 버튼 앞에 윛
    • placeholder: 병동명 / 설명
      • 병동명과 그 설명으로 검색 가능
      • 검색결과 없을 경우, 리스트에 '검색 결과가 없어요.' 표시
  • [병동 추가] 버튼
    • 병동 추가 팝업은 아래에서 다룸
  • 리스트
    • 순서 : 코드, 병동명, 연결 팀, 스케줄러, 설명, 종류, 병상 수, 순서, 상태, 관리 (2026-09-14 코드 · 병상 수 · 순서 추가 — 스케줄러 「병동 관리 및 설정」 팝업의 「병동 관리」 탭을 없애며 옮김 / 2026-09-16 스케줄러 추가)
      • 스케줄러 : 이 병동의 스케줄러 이름과 개수 — 기본 · 요양보호사 (2). 비활성 스케줄러는 이름 뒤에 (비활성). 누르면 이 병동의 스케줄러 관리 팝업이 열린다
      • 이름 -> 병동명으로 변경
      • 병상 수 : 비어 있으면 미입력 표시
      • 정렬 : 순서 → 최신 추가순 (새 병동은 순서 0이라 그 안에서 맨 위)
      • 연결 팀 : 이 병동에 연결된 팀 이름. 누르면 팀 관리의 그 팀 화면으로 이동, 연결된 팀이 없으면 연결 안 함 표시 (2026-09-14 추가)
      • 종류 : 병동 종류(일반병동/재활병동), 미지정은 - 표시 (2026-07-30 추가)

2. 병동 추가 ​

  • [병동 추가] 버튼을 클릭하면 병동 추가 팝업이 나온다.
  • 추가된 병동은 같은 순서 안에서 가장 상단으로 올라온다(순서 → 최신순).
  • 병동 코드 (2026-09-14 추가)
    • 필수 아님 — placeholder : 비우면 자동으로 만들어요
    • 비우면 자동으로 만든다(WARD_숫자)
    • 조직 안에서 겹치면 저장할 때 팝업 : "「코드」 코드는 「병동명」 병동이 이미 쓰고 있어요."
  • 병동명
    • 필수 조건 표시
    • placeholder:병동명
  • 설명
    • placeholder : 설명
  • 연결 팀 (2026-09-14 추가)
    • 기본 : 연결 안 함
    • 제공 : 연결 안 함, 팀 목록(팀 관리 트리 순서, 하위 팀은 「— 」 들여쓰기) — 운영 중인 팀만
    • 부서(하위 팀이 있는 최상위 팀)는 고를 수 없다 — 선택지에 「팀명 (부서 — 연결할 수 없음)」으로 표시
    • 드롭다운으로 제공, 필수 아님
    • 드롭다운 라벨 옆 안내 : "이 팀에 넣는 직원에게 병동이 자동 배정돼요"
    • 이미 다른 병동에 연결된 팀은 고를 수 없다 — 선택지에 "팀명 — ○○ 병동에 연결됨"으로 표시
    • 팀 관리 팀 추가·수정 팝업의 「연결 병동」과 같은 연결이다(어느 쪽에서 바꿔도 같은 값)
  • 병동 종류 (2026-07-30 추가)
    • 기본 : 미지정
    • 제공 : 미지정, 일반병동, 재활병동
    • 드롭다운으로 제공
    • 인력 배치 기준 표(일반/재활)를 고르는 키 — 정본: [[POL_간호인력·준수율]]
    • 필수 아님. 미지정 = 배치 기준 미적용(중환자실 등 두 기준표 어디에도 속하지 않는 병동). 강제로 고르게 하면 틀린 기준이 적용되므로 필수화하지 않는다
    • 드롭다운 아래 안내는 notice(ds-notice --info, 아이콘 off)로 고정 표시 : "인력 배치 기준(일반/재활병동)을 고르는 기준입니다. 해당 없는 병동(중환자실 등)은 미지정으로 두세요 — 배치 기준을 적용하지 않습니다."
  • 병상 수 (2026-09-14 추가)
    • 필수 아님, 0 이상의 정수
  • 순서 (2026-09-14 추가)
    • 필수 아님, 0 이상의 정수 — 비우면 0. 목록 · 팀 관리 트리 · 스케줄러의 병동 순서
    • 병상 수 · 순서가 정수가 아니면 팝업 : "병상 수와 순서는 0 이상의 정수로 입력해 주세요."
  • 상태
    • 기본 : 활성
    • 제공 : 활성, 비활성
    • 드롭다운으로 제공
  • [취소] 버튼 : 병동 추가 모달 닫힘
  • [생성] 버튼
    • 버튼명 변경 : 생성 -> 저장
    • 활성화 조건
      • 병동명을 입력한 상태

3. 병동 수정 (2026-09-14 변경 — 팝업 대신 목록에서 바로 수정) ​

  • 관리의 [편집] 버튼을 누르면 팝업 없이 그 줄의 칸이 입력칸으로 바뀐다. 한 번에 한 줄만 수정한다
    • 다른 줄을 수정하던 중 바뀐 내용이 있으면 확인 : "수정 중인 병동이 있어요. 저장하지 않고 다른 병동을 수정할까요?" [계속 수정] [다른 병동 수정]
  • 코드 · 병동명 : 입력칸, 필수 — 비어 있으면 "병동 코드와 병동명을 입력해 주세요." 팝업. 코드가 겹치면 병동 추가와 같은 팝업
  • 연결 팀 : 드롭다운, 병동 추가의 연결 팀과 같은 선택지 규칙. 지금 연결된 팀이 선택된 채로 열리고, 그 팀이 비활성이어도 선택지에 남는다. 연결 안 함으로 바꾸면 연결만 풀리고 팀은 그대로 남는다
  • 설명 : 입력칸
  • 병동 종류 : 드롭다운(미지정 / 일반병동 / 재활병동, 미지정으로 되돌리기 가능)
  • 병상 수 · 순서 : 0 이상의 정수. 병상 수를 비우고 저장하면 기존 값이 그대로 남는다
  • 상태 : 드롭다운(활성 / 비활성)
  • 관리 칸 : [취소] · [저장] 아이콘
    • [저장] 활성화 조건 : 수정 내역이 있을 경우. Enter 로도 저장
    • [취소] 또는 Esc : 저장하지 않고 원래 줄로 돌아간다
  • 수정 중인 줄을 둔 채 다른 메뉴로 나가면 저장 확인 없이 자동으로 취소된다 — 다시 들어오면 원래 줄로 보인다

4. 스케줄러 (스케줄 그룹) ​

  • 스케줄러는 병동 안에서 근무표를 나누는 단위다. 한 병동에서도 일하는 자리와 기본 시간대가 다른 인력(예: 2W-간호사 · 2W-요양보호사 · 2W-이송지원)은 스케줄러를 따로 두고, 명부와 근무표를 스케줄러마다 따로 만든다 (2026-09-16 추가). 데이터 이름은 스케줄 그룹(WardScheduleGroup)이고 화면에서는 「스케줄러」로 부른다.
  • 병동마다 기본 스케줄러가 하나 있다 — 이름은 기본, 병동을 만들면 함께 생기며 지우거나 비활성으로 바꿀 수 없다. 스케줄러를 고르지 않고 병동만 고른 배정은 기본 스케줄러로 들어간다.
  • 스케줄러 추가 · 수정 · 삭제는 이 화면에서만 한다 — 목록의 「스케줄러」 칸을 누르면 그 병동의 스케줄러 관리 팝업이 열린다.
    • 목록 : 이름(기본 스케줄러는 기본 라벨), 코드, 근무 장소, 포함 직군(라벨, 비어 있으면 전체), 순서, 활성(스위치 — 기본 스케줄러는 끌 수 없다), 관리([편집] · [삭제] — 기본 스케줄러에는 [삭제]가 없다)
    • [스케줄러 추가] / [편집] 폼 : 이름(필수, 같은 병동 안에서 겹칠 수 없다 — "「이름」 스케줄러가 이 병동에 이미 있어요."), 코드, 근무 장소, 설명, 포함 직군(직군 코드 체크박스 — 비우면 모든 직군), 표시 순서(0 이상의 정수, 비우면 0), 상태(활성/비활성 — 기본 스케줄러에는 숨김). 코드 · 근무 장소 · 설명은 비우고 저장하면 지워진다
    • 폼은 저장 확인 규칙을 따른다 — 바뀐 게 없으면 X / 취소 / Esc 로 바로 닫히고, 바뀐 게 있으면 "변경된 내용을 저장하지 않고 나가시겠어요?" 확인을 거친다
    • 삭제 : 확인 "「이름」 스케줄러를 삭제할까요?" 뒤 삭제한다. 기본 스케줄러이거나 명부 · 근무표가 남아 있으면 서버가 막고 그 문구를 그대로 보여 준다 — "간호사 N명 · 근무표 N건이 남아 있어요. 다른 스케줄러로 옮기거나 지운 뒤 삭제해 주세요."
  • 병동에서 스케줄러로 옮겨 간 설정 : 교대 매핑(근무표 코드 → 실제 근무 시간대) · 교육 정책 · 지원 근무형태 · 포함 직군. 포함 직군만 이 화면의 폼에서 고치고, 나머지는 스케줄러 화면의 설정에서 고친다.
  • 병동에 남는 것 : 환자수 · 병상 수 · 배치 비율 · 병동 종류 · 간호등급. 최소 인원 검증은 병동 기준이며, 그 병동의 모든 스케줄러 명부를 합쳐서 본다.
  • 명부(간호 프로필)는 직원 × 스케줄러다. 한 직원이 여러 스케줄러에 들어갈 수 있고(겸임), 같은 병동의 다른 스케줄러도 겸임이 된다. 같은 스케줄러에 두 번은 들어갈 수 없다.
  • 겸임 직원이 같은 날 두 스케줄러의 근무표에 모두 근무로 잡히는 것은 막지 않는다 — 근무표에서 경고 표시로만 알린다.

정책 ​

  • [취소] 또는 [저장] 버튼을 눌렀을 때 알 수 없는 에러가 발생하면 아래 팝업으로 처리한다.
    • [[common-policy]] 와 통일
    • 팝업으로 안내
      • 문구: 알 수 없는 에러가 발생했어요. 잠시 후 다시 시도해 주세요.
      • [확인], [X] 버튼: 해당 팝업만 닫힘
  • 비활성 병동은 [[common-policy]] 비활성화 규칙을 따른다.
  • 병동 코드는 조직 안에서 겹칠 수 없다(삭제된 병동 제외).
  • 병동 추가 · 수정은 이 화면에서만 한다 (2026-09-14) — 스케줄러 「병동 관리 및 설정」 팝업의 「병동 관리」 탭은 없앴다(인력 설정 · 교대 매핑 · 교육 정책 · 주기 설정 탭만 남음). 환자수 팝업의 「병동 관리 ›」는 이 화면으로 이동한다. 스케줄러 추가 · 수정 · 삭제도 이 화면에서만 한다 (2026-09-16, 스케줄러) — 교대 매핑 · 교육 정책은 병동이 아니라 스케줄러의 설정이 됐다.
  • 팀 관리에서 미연결 병동(트리 「미연결 병동」 · 병동 현황 표 「미연결」 행)을 누르면 연결 팀을 설정하라는 확인창이 뜨고, [병동 설정]을 누르면 이 화면에서 그 병동 줄이 수정 상태로 열린다.
  • 병동과 팀의 연결 (2026-09-14 변경 — 이전 정책 "병동은 팀과 별개로 관리한다"를 대체)
    • 병동 자체(이름·종류·상태)는 여기서 관리한다. 팀과의 연결은 병동 추가·수정 팝업 「연결 팀」 과 팀 관리의 팀 추가·수정 팝업 「연결 병동」 양쪽에서 정할 수 있고, 둘은 같은 값이다.
    • 병동 하나에는 팀 하나만, 팀 하나에는 병동 하나만 연결된다. 이미 다른 쪽에 연결된 팀 · 병동은 고를 수 없다(연결된 이름을 안내). 저장 시점에 충돌하면 "「팀명」 팀은 이미 「병동명」 병동에 연결돼 있어요." 팝업으로 알린다.
    • 연결을 새로 하거나 바꿔도 이미 그 팀에 있는 직원의 병동 배정은 바뀌지 않는다. 자동 배정은 팀에 들어올 때 일어난다.
    • 부서에는 병동을 연결하지 않는다 (2026-09-14). 부서 = 최상위이면서 하위 팀이 있는 팀(별도 부서 데이터는 없다). 부서에 연결하면 부서 화면 전체가 병동 화면으로 바뀌고, 부서에 들어오는 모든 직원이 그 병동에 자동 배정되기 때문이다.
      • 하위 팀이 있어도 최상위가 아니면 팀이다(예: 간호부 > 1W 통합병동 > 1W 간호사 의 1W 통합병동). 팀이 한 단계뿐인 조직의 최상위 팀도 팀이다.
      • 병동이 연결된 최상위 팀 아래에는 하위 팀을 만들거나 옮겨 올 수 없다(그 팀이 부서가 되므로) — "「팀명」 팀은 병동이 연결돼 있어 하위 팀을 만들 수 없어요. 병동 연결을 먼저 풀어 주세요."
      • 규칙이 생기기 전에 부서에 연결된 병동은 목록의 연결 팀 옆에 빨간 「부서」 라벨로 알린다. 병동 수정에서 부서 아래 팀으로 바꾸거나 연결을 푼다.
    • 병동을 삭제하면 연결만 풀리고 팀은 그대로 남는다.
    • 병동에 연결된 팀(병동 팀)은 팀 관리에서 병동 현황 · 병동 요약으로 보인다 — 상세는 [[team]] 정책.
  • 병동 배정(직원이 어느 병동에서 일하는지)은 간호 프로필(병동 · 스케줄러 · 교대 형태 · 수간호사)이 정본이며, 스케줄러 · 근무표 · 경영 대시보드가 같은 값을 쓴다. 한 줄 = 스케줄러 하나이고, 한 직원이 여러 스케줄러에 배정될 수 있다(겸임 — 다른 병동이든 같은 병동의 다른 스케줄러든).
    • 병동 팀에 들어오면 그 병동 배정이 없을 때 자동으로 배정한다(기본 스케줄러, 3교대, 수간호사 아님).
    • 병동 팀끼리 팀을 옮길 때 예전 팀 병동에 배정돼 있으면 「병동도 함께 옮기기」 / 「팀만 옮기기」를 묻는다.
    • 병동 배정은 직원 정보 수정 팝업(인사정보) · 팀 관리 팝업에서도 고칠 수 있다(간호 스케줄 등록 · 수정 · 삭제 권한 필요). 줄마다 병동 옆에 스케줄러를 고른다 — 병동을 바꾸면 스케줄러는 그 병동의 기본으로 돌아가고, 스케줄러를 고르지 않으면 "스케줄러를 골라 주세요.", 같은 스케줄러가 두 줄이면 "같은 스케줄러가 두 줄에 들어가 있어요."로 저장이 막힌다.
  • 병동 종류·인력 배치 기준·간호등급의 기준 데이터는 [[POL_간호인력·준수율]] 이 정본이다. 여기서 지정한 병동 종류는 스케줄러의 「병동 관리 및 설정」과 같은 데이터를 공유한다(어느 쪽에서 바꿔도 동일 반영).

기타 ​