Skip to content

Digital health platform for clinical handover and bed management, designed to translate real-world clinical workflows into structured, auditable operations.

License

Notifications You must be signed in to change notification settings

NunoSid/BedFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BedFlow logo

Clinical Handover & Bed Management Platform

BedFlow is a clinical operations support platform designed from a Nurse perspective to improve:

  • bed management
  • structured shift handover
  • ambulatory & multi-service coordination
  • auditability and operational traceability

Disclaimer: BedFlow is a concept/demo project. Do not use with real patient-identifiable data (PHI) without proper security, compliance, and governance review.


Demo

Watch Demo

Clica no botão acima para ver o vídeo de demonstração do BedFlow


Key features

  • Bed management (visibility, allocation, patient flow support)
  • Clinical handover (structured updates, continuity between shifts)
  • Surgical / procedure planning (operational alignment with capacity)
  • Role-based access control (RBAC): Nurse / Coordinator / Admin
  • Audit trail & exports (supporting governance and reporting)

Tech stack (as implemented)

  • Frontend: React (Vite)
  • Backend: NestJS
  • Database (default): SQLite via Prisma
  • Optional DB: PostgreSQL (via Docker Compose)
  • ORM: Prisma

Quick start (local development)

Prerequisites

  • Node.js (LTS recommended)
  • npm
  • (Optional) Docker + Docker Compose (only if you want PostgreSQL)

Run everything with one command

From the repo root:

chmod +x start.sh
./start.sh

What this script does:

  • installs dependencies for server/ and client/
  • runs prisma:push and prisma:seed on the backend
  • starts backend at http://localhost:1893
  • starts frontend (Vite dev server) and keeps both running

Configuration

Backend

BedFlow uses environment variables (standard Node/Nest + Prisma). In development, you may already have a server/.env. Typical variables:

  • DATABASE_URL
    • SQLite (default): file:./prisma/bedflow.db
    • PostgreSQL: postgresql://user:pass@host:5432/db?schema=public
  • JWT_SECRET (required)
  • JWT_EXPIRES (optional, e.g., 2h)
  • CORS_ORIGIN (recommended in production)
  • PORT (default used by the project: 1893)

For production, this repository provides a deployment guide that does not require .env files (uses systemd Environment values instead).


Optional: PostgreSQL (Docker Compose)

If you want PostgreSQL (instead of SQLite), start the DB with Docker Compose.

No .env file required — pass variables from your shell:

export POSTGRES_USER=bedflow_admin
export POSTGRES_PASSWORD='CHANGE_ME_STRONG_PASSWORD'
export POSTGRES_DB=bedflow_prod

docker compose up -d

Then point your backend DATABASE_URL to Postgres (see DEPLOY.md).


Security notes (minimum)

  • Never expose a database port publicly.
  • Use a strong JWT_SECRET (generate with openssl rand -hex 32).
  • Restrict CORS to your frontend domain.
  • Remove demo credentials for any real deployment.

License

MIT


BedFlow logo

Plataforma de Passagem de Turno e Gestão de Camas

O BedFlow é uma plataforma de suporte à operação clínica (Clinical Operations), concebida do ponto de vista de um Enfermeiro, para melhorar:

  • gestão de camas
  • passagem de turno estruturada
  • coordenação em ambulatório e multi-serviços
  • auditoria e rastreabilidade operacional

Aviso: o BedFlow é um projeto conceptual/demonstração. Não deve ser usado com dados reais identificáveis (PHI) sem revisão de segurança, conformidade e governação.


Funcionalidades

  • Gestão de camas (visibilidade, alocação, apoio ao fluxo do doente)
  • Passagem de turno (atualizações estruturadas, continuidade entre equipas)
  • Planeamento cirúrgico/procedimentos (alinhamento operacional com capacidade)
  • Controlo de acessos por perfis (RBAC): Enfermeiro / Coordenador / Admin
  • Auditoria e exportações (suporte à governação e reporting)

Stack tecnológico (como está implementado)

  • Frontend: React (Vite)
  • Backend: NestJS
  • Base de dados (por defeito): SQLite via Prisma
  • BD opcional: PostgreSQL (via Docker Compose)
  • ORM: Prisma

Arranque rápido (desenvolvimento local)

Pré-requisitos

  • Node.js (recomendado LTS)
  • npm
  • (Opcional) Docker + Docker Compose (apenas se quiseres PostgreSQL)

Executar tudo com um comando

Na raiz do repositório:

chmod +x start.sh
./start.sh

O que este script faz:

  • instala dependências em server/ e client/
  • executa prisma:push e prisma:seed no backend
  • inicia o backend em http://localhost:1893
  • inicia o frontend (Vite dev server) e mantém ambos ativos

Configuração

Backend

O BedFlow usa variáveis de ambiente (Node/Nest + Prisma). Em desenvolvimento, podes já ter um server/.env. Variáveis típicas:

  • DATABASE_URL
    • SQLite (por defeito): file:./prisma/bedflow.db
    • PostgreSQL: postgresql://user:pass@host:5432/db?schema=public
  • JWT_SECRET (obrigatório)
  • JWT_EXPIRES (opcional, ex.: 2h)
  • CORS_ORIGIN (recomendado em produção)
  • PORT (por defeito usado no projeto: 1893)

Para produção, existe um guia de deploy que não obriga a usar ficheiros .env (usa variáveis no systemd).


Opcional: PostgreSQL (Docker Compose)

Se quiseres PostgreSQL (em vez de SQLite), inicia a BD via Docker Compose.

Não precisas de .env — passa as variáveis no terminal:

export POSTGRES_USER=bedflow_admin
export POSTGRES_PASSWORD='ALTERAR_PARA_PASSWORD_FORTE'
export POSTGRES_DB=bedflow_prod

docker compose up -d

Depois aponta o DATABASE_URL do backend para Postgres (ver DEPLOY.md).


Notas de segurança (mínimo)

  • Nunca expor a porta da base de dados publicamente.
  • Usar JWT_SECRET forte (gera com openssl rand -hex 32).
  • Restringir CORS ao domínio do frontend.
  • Remover credenciais de demo em qualquer uso real.

Licença

MIT

About

Digital health platform for clinical handover and bed management, designed to translate real-world clinical workflows into structured, auditable operations.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published