입원환자 담당 의사를 위한 환자 관리 및 차팅 보조 PWA 앱
WardFlow는 모든 과의 입원환자를 담당하는 의사를 위한 오프라인 우선(Offline-first) 환자 관리 시스템입니다. Desktop-First로 설계되어 병원 컴퓨터에서 OCS/EMR과 병행하며 사용하고, 회진 시에는 모바일로 열람 및 간단 메모를 지원합니다.
- Today's Note 대시보드: 오늘의 알림/회진/항생제 현황/Lab 요약/일정을 한눈에
- 환자 관리: 입원/컨설트/퇴원 환자 사이드바, Attention 플래그, 태그 시스템
- 차팅 폼: C/C ~ Etc 구조화된 입력, Problem List 편집/순서변경, 템플릿 시스템
- 통합 복사: 차팅 내용을 한 번에 복사하여 OCS에 바로 붙여넣기
- Lab 결과 관리: XLS 스마트 파싱, 추이 차트, 비정상 수치 하이라이트, 셀 편집
- 투약 관리: OCS 처방 붙여넣기 파싱, 항생제 D-day 자동 계산, 종료일 자동 비활성화
- 일정 관리: 캘린더 뷰, 카테고리별 일정 관리
- 회원 시스템: 회원가입 + 관리자 승인, 역할별 권한, 모듈 권한(WardLink 확장 대비)
- AI 어시스턴트: SOAP 변환, Lab 요약, 인수인계 요약, 투약 안전성 체크 (Claude/GPT/Gemini/Grok)
- Lab 자동 Import: Supabase Storage inbox + 로컬 폴더 (OpenClaw 연동)
- 데이터 백업: AES-256 암호화 파일/텍스트 백업, Supabase 서버 동기화
- PWA: 앱처럼 설치 가능, 오프라인 동작
| Today's Note | 환자 상세 | Lab 테이블 |
|---|---|---|
| 대시보드 | 개요/차트/투약/Lab/메모 탭 | 시계열 + 추이 차트 |
- Framework: React 18 + TypeScript (strict mode)
- Build Tool: Vite
- Routing: React Router v6
- State: Zustand (persist middleware)
- Local DB: Dexie.js (IndexedDB wrapper with compound indexes)
- UI: Tailwind CSS + shadcn/ui
- Charts: Recharts
- PWA: vite-plugin-pwa
- Server Sync: Supabase (optional, AES-256 encrypted)
- Testing: Vitest + React Testing Library
- Deploy: Vercel
- Node.js 18+
- npm 또는 yarn
# 패키지 설치
npm install
# 개발 서버 실행
npm run dev
# 프로덕션 빌드
npm run build
# 빌드 미리보기
npm run preview# 타입 체크
npm run type-check
# 린트
npm run lint
# 테스트
npm run test
npm run test:watchwardflow/
├── src/
│ ├── components/ # React 컴포넌트
│ │ ├── ui/ # shadcn/ui 공통 컴포넌트
│ │ ├── patient/ # 환자 관련
│ │ ├── charting/ # 차팅 폼
│ │ ├── lab/ # Lab 결과
│ │ ├── medication/ # 투약
│ │ ├── note/ # 회진 메모
│ │ ├── schedule/ # 일정
│ │ └── layout/ # 레이아웃 (Header, Sidebar, AppShell)
│ ├── db/ # Dexie.js 스키마 및 시드
│ ├── stores/ # Zustand 스토어
│ ├── hooks/ # 커스텀 훅
│ ├── services/ # 비즈니스 로직
│ │ └── parser/ # Lab/투약 파서
│ ├── utils/ # 유틸리티
│ ├── types/ # TypeScript 타입 정의
│ └── pages/ # 페이지 컴포넌트
├── CLAUDE.md # Claude Code 가이드
├── PRD.md # 상세 요구사항
└── TODO.md # 태스크 관리
v1.0.5 (2026-04-01) — Phase 1~3.1 완료, AI 기능 탑재
- 프로젝트 셋업 (Vite + React + TS + Tailwind + PWA)
- Dexie.js DB 스키마 + 복합 인덱스
- 레이아웃 (데스크톱 사이드바 + 모바일 하단 네비 + 반응형)
- 회원가입 + 로그인 + 관리자 승인 시스템
- 환자 CRUD (입원/컨설트/퇴원/재입원)
- 차팅 폼 (C/C~Etc, Problem List, 템플릿)
- Lab 결과 관리 (XLS 파싱, 추이 차트, 셀 편집, Culture)
- 투약 관리 (OCS 붙여넣기, 항생제 D-day, 지참약 종료/재활성화)
- 회진 메모 (경과/알림, 날짜 지정)
- Today's Note 대시보드 (알림/회진/항생제/Lab/일정)
- PIN 잠금 + 프리페치
- 사이드바 플래그 (Attention/알림/항생제, 실시간 반영)
- 모바일 반응형
- QA 테스트 65건
- Lab 스마트 파싱 (XLS BIFF/cp949, 검사코드 매핑, 일괄 업로드)
- Lab 카테고리 시스템 (커스텀 카테고리 편집)
- 템플릿 시스템 (CRUD, 필드별 적용)
- 차팅 복사 포맷 커스텀 설정
- 일정 관리 (캘린더 뷰, 카테고리 커스텀)
- 데이터 백업/복원 (AES-256, 파일/텍스트/서버 동기화)
- 멀티 LLM 지원 (Claude, GPT, Gemini, Grok — 설정에서 선택)
- AI SOAP 변환 (경과기록 → S/O/A/P, 개별 섹션 복사)
- AI Lab 요약 (최근 Lab → 임상적 요약)
- AI 인수인계 요약 (전체 환자 컨텍스트 → 인수인계 보고서)
- AI 투약 체크 (투약 × Lab 교차 분석 → 안전성 알림)
- 날짜별 AI 생성 (date picker + 퀵 버튼)
- Culture 결과 재설계 (Specimen/Culture&ID/Sensitivity 3필드)
- Lab 참조범위 커스텀 설정
- 설정 페이지 사이드 네비게이션 리뉴얼
- Lab Import Inbox (Supabase Storage + 로컬 폴더 듀얼 모드)
- 근거연결 AI (가이드라인/논문 추천)
- 로컬 DB 자연어 쿼리
- 알림 고도화 (커스텀 규칙, 히스토리)
- CouchDB/PouchDB 자동 동기화
- 공통 로그인 시스템
- WardCare 모듈 연동
상세한 진행 상황은 TODO.md를 참고하세요.
[status+roomBed]: 활성 환자 병실순 조회[patientId+testDate]: 환자별 Lab 추이[patientId+isActive]: 환자별 현재 투약[isAntibiotic+isActive]: 항생제 D-day 계산[patientId+category]: Lab 카테고리별 조회
- PIN 입력 중 백그라운드 프리페치
- 앱 셸 즉시 렌더 (정적 UI 우선)
- 점진적 로딩 (목록 → 상세 → 차트)
- 코드 스플리팅 (
React.lazy()+Suspense)
Private — All rights reserved
프로젝트 관련 문의는 Issue를 통해 부탁드립니다.