WorkWell Measure Studio is a Spring Boot + Next.js monorepo for Total Worker Health (TWH) compliance operations. It combines measure authoring, deterministic CQL evaluation, case management, audit trails, admin tooling, and exportable evidence in one operational platform.
- Lifecycle-managed measures:
Draft -> Approved -> Active -> Deprecated - CQL compile + fixture validation gates before activation
- Scoped run pipeline:
ALL_PROGRAMS,MEASURE,SITE,EMPLOYEE,CASE - Case operations: outreach, assign/escalate, rerun-to-verify, timeline audit
- AI assist for CQL drafting and test fixture generation (never compliance decisions)
- MAT-compatible FHIR R4 export for measure portability
- Risk outlook analytics for upcoming exposure and repeat non-compliance patterns
- All planned sprints (0–7) are implemented and merged to
main; Sprint 7 issues#47–#51are closed. - Post-merge work continues on
main: Sprint 8 scoped-run parity (SITE/EMPLOYEEmanual runs + reruns), an 8-way CI test-sharding speedup (~3.8×), and the MIE Container Manager v1 API deploy migration. - Default branch:
mainonly (stale sprint branches cleaned up).
- Live frontend:
https://twh.os.mieweb.org - Live backend API:
https://twh-api.os.mieweb.org
The earlier Vercel + Fly.io public-preview stack (
workwell-measure-studio.vercel.app,workwell-measure-studio-api.fly.dev) is decommissioned. MIE TWH is the sole live deployment.
- Backend: Java 21, Spring Boot 3.x, Gradle Kotlin DSL, PostgreSQL 16, Flyway
- Frontend: Next.js 16 App Router, TypeScript, Tailwind, shadcn/ui, Monaco
- CQL/FHIR: HAPI FHIR +
org.opencds.cqf.fhir:cqf-fhir-cr3.26.0 - Infra: MIE Create-a-Container (primary), Neon, GitHub Actions
backend/API, CQL evaluation, caseflow, exports, security, MCPfrontend/dashboard, Studio, admin, login, UX surfacesdocs/architecture, data model, deploy, runbooks, sprint and journal historye2e/Playwright tests
- Java 21
- Node.js 20+
- npm (or pnpm if installed locally)
cd backend
./gradlew.bat test
./gradlew.bat bootRuncd frontend
npm install
npm run lint
npm run build
npm run dev# backend
cd backend
./gradlew.bat test
# frontend
cd ../frontend
npm run lint
npm run test
npm run build/programscompliance overview/programs/[measureId]trend, drivers, risk outlook/runsrun history and detail/casescase worklist and filters/cases/[id]evidence, actions, timeline/measurescatalog/studio/[id]measure authoring/adminintegration and scheduler controls
POST /api/measures/{id}/ai/draft-cqlPOST /api/measures/{id}/ai/generate-test-fixturesGET /api/programs/{measureId}/risk-outlook?horizonDays=30GET /api/measures/{measureId}/versions/{versionId}/export/mat?format=xmlPOST /api/runs/manualPOST /api/runs/{id}/rerunGET /api/cases?status=openGET /api/exports/runs?format=csvGET /api/auditor/cases/{caseId}/packet?format=json|html
For full API surface and behavioral notes, see docs linked below.
- AI assist is constrained by
docs/AI_GUARDRAILS.md; compliance remains CQL-derived only. - Public API audit actor is always security-context derived.
- Evidence download/upload operations are role-gated and audited.
- Production startup enforces auth, JWT, and CORS safety checks.
Licensed under the Apache License 2.0.