HIS monorepo - Hospital Information System
  • TypeScript 79.8%
  • HTML 11.3%
  • JavaScript 4.2%
  • SCSS 4.1%
  • Shell 0.6%
Find a file
Hermes Orchestrator f90a9fcee7
All checks were successful
CI/CD Pipeline / Build, Push & Deploy (push) Successful in 1m24s
feat(demo): add doctor dashboard page for role-aware demo shell
2026-05-16 21:44:56 +08:00
.forgejo/workflows fix: decode kubeconfig from base64 secret K8S_LINODE_FIVJS_TEST 2026-05-16 20:22:15 +08:00
.github chore: remove old GitHub Actions workflow 2026-05-15 17:40:56 +08:00
.hermes/plans merge demo branch with demos and CI fixes 2026-05-16 00:17:04 +08:00
apps feat(demo): Phase 2+4+5 — shared demo components, mock API in web server, clinic config 2026-05-16 06:10:11 +08:00
demo feat(demo): add doctor dashboard page for role-aware demo shell 2026-05-16 21:44:56 +08:00
deploy ci: add Docker build, ghcr.io push, and deploy pipeline 2026-05-08 14:02:39 +08:00
docs docs: add GROUND_RULES.md — coding standards for humans and agents 2026-05-13 15:55:55 +08:00
k8s/fivjs-test fix: update k8s manifests to use forgejo.fivjs.com registry 2026-05-16 16:08:42 +08:00
packages fix: resolve CI build errors on base branch 2026-05-15 14:22:07 +08:00
services fix(services): add .js extensions to ESM imports in queue-engine and policy 2026-05-16 08:28:02 +08:00
.dockerignore fix(docker): add .dockerignore to preserve node_modules symlinks 2026-05-11 18:55:24 +08:00
.env.example feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
.gitignore feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
.prettierignore feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
.prettierrc feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
Dockerfile.adt feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.billing feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.charge-capture fix: switch to node:22-slim for Prisma OpenSSL compat 2026-05-16 15:51:39 +08:00
Dockerfile.clinical feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.empi feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.example feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
Dockerfile.identity fix: switch to node:22-slim for Prisma OpenSSL compat 2026-05-16 15:51:39 +08:00
Dockerfile.imaging feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.lab feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.mock-api feat(api): add Mock API Express server for demo data layer 2026-05-16 01:41:02 +08:00
Dockerfile.notification feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.patient-registry fix: install openssl in patient-registry Dockerfile for Prisma 2026-05-16 16:00:16 +08:00
Dockerfile.pharmacy feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.policy fix: switch to node:22-slim for Prisma OpenSSL compat 2026-05-16 15:51:39 +08:00
Dockerfile.queue-engine fix: switch to node:22-slim for Prisma OpenSSL compat 2026-05-16 15:51:39 +08:00
Dockerfile.reporting feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.scheduling feat: add Dockerfiles for all 10 skeleton services 2026-05-14 18:35:31 +08:00
Dockerfile.web fix: use apt-get instead of apk for node:22-slim 2026-05-16 15:53:03 +08:00
fivjs-his-landscape.html chore: trigger CI after runner reconnect 2026-05-16 12:10:27 +08:00
package-lock.json feat: Platform Baseline v1 — spine services + UI library + OPD journey 2026-05-15 13:28:25 +08:00
package.json feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
pnpm-lock.yaml fix(ci): update pnpm-lock.yaml to match services/mock-api/package.json 2026-05-16 07:38:57 +08:00
pnpm-workspace.yaml feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00
README.md chore: test push — verify no Forgejo Actions runs triggered 2026-05-16 16:22:31 +08:00
ROADMAP.md chore: update Forgejo URLs to forgejo.fivjs.com 2026-05-16 11:37:53 +08:00
tsconfig.json fix(build): override noEmit:false for services that need dist/main.js 2026-05-15 18:13:37 +08:00
turbo.json fix: rename pipeline to tasks in turbo.json 2026-05-08 11:30:24 +08:00
vitest.workspace.js feat: initialize pnpm monorepo workspace structure (#1) 2026-05-07 18:15:37 +08:00

FivJS Healthcare Information System

A multi-tenant, multi-brand, multi-country hospital and care-delivery platform. Scales from a single-doctor aesthetic clinic to a 2,000-bed tertiary group.

📐 Before you start — read the Ground Rules Theme tokens, component patterns, PR conventions. Updated ADRs at docs/70-architecture/adrs/.

Architecture

his-rnd/
├── apps/                    # Frontend applications
│   ├── api-gateway/         # API gateway (FHIR R4 facade)
│   ├── web/                 # Web admin panel
│   ├── mobile/              # Patient mobile app
│   └── kiosk/               # Self-service kiosk
├── packages/                # Shared libraries
│   ├── core/                # Primitive types, errors, utilities
│   ├── domain/              # Domain models & business logic (DDD)
│   ├── fhir/                # FHIR R4 types, profiles, operations
│   ├── event-bus/           # Event bus abstraction
│   ├── config/              # Environment & tenant config
│   ├── observability/       # Logging, tracing, metrics
│   ├── testing/             # Test utilities & fixtures
│   └── types/               # Barrel re-exports
├── services/                # Backend microservices
│   ├── identity/            # IAM, SSO, RBAC/ABAC
│   ├── empi/                # Enterprise Master Patient Index
│   ├── scheduling/          # Appointments, slots, waitlist
│   ├── clinical/            # CPOE, notes, vitals, problems
│   ├── billing/             # Charge capture, invoicing, claims
│   ├── pharmacy/            # Prescriptions, dispensing, controlled drugs
│   ├── lab/                 # Laboratory Information System (LIS)
│   ├── imaging/             # Radiology Information System (RIS)
│   ├── adt/                 # Admission, Discharge, Transfer
│   ├── notification/        # SMS, email, push, voice
│   └── reporting/           # Analytics, dashboards, exports
├── docs/                    # Architecture & module documentation
└── tools/                   # Build & migration scripts

Prerequisites

  • Node.js ≥ 20.0.0
  • pnpm ≥ 9.0.0 (corepack enable && corepack prepare pnpm@9.15.0 --activate)

Getting Started

# Install dependencies
pnpm install

# Start development (all packages + services)
pnpm dev

# Build all
pnpm build

# Run tests
pnpm test

# Lint & type-check
pnpm lint && pnpm typecheck

Tech Stack

Layer Technology
Monorepo pnpm workspaces + Turborepo
Language TypeScript (strict mode)
API FHIR R4 (canonical); REST + WebSocket
Event Bus RabbitMQ (default); Kafka optional
Database PostgreSQL (primary); polyglot where justified
Cache Redis
Auth OIDC / OAuth 2.1 / SMART on FHIR
Observability OpenTelemetry + Sentry

Key Principles

  1. API-first, screens are thin — No business logic in screens.
  2. Coexistence-native — Every module ships greenfield, shadow, proxy, and sync modes.
  3. Event-sourced where audit matters — Clinical orders, ADT, billing, controlled drugs.
  4. Consent is a first-class entity — Every PHI read checks active consent.
  5. Policy packs, not forks — Per-country compliance as config.

Managing Packages

# Add a dependency to a specific package
pnpm --filter @fivjs/core add zod

# Run a script in a specific package
pnpm --filter @fivjs/service-identity dev

License

Proprietary — FivJS Pte Ltd

CI Runner Fix - Sat May 16 12:14:10 PM +08 2026

Retrigger - Sat May 16 12:16:08 PM +08 2026

Retrigger with action image - Sat May 16 12:17:09 PM +08 2026

Final CI check - Sat May 16 12:18:48 PM +08 2026

Webhook test - Sat May 16 01:08:35 PM +08 2026

Webhook test 2 - Sat May 16 01:10:11 PM +08 2026

Webhook push test - Sat May 16 01:11:38 PM +08 2026

Full webhook test - Sat May 16 01:14:36 PM +08 2026

Last commit: removed stale Forgejo Actions workflow. Real CI runs on VM 230 cron.