Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Running the terminology suite locally

Two unified scripts run any suite module’s backend and frontend. Each backend is its own standalone Gradle build under modules/<module>/backend (Flint is modules/tx-fhir); each frontend is a Vite SPA run inside an EMR checkout where the @helex/* source aliases resolve (the two-location dev model — see development.md).

Backends — scripts/run_backend.sh <module>

ModuleCommandPortStorage
TEDY 🧸./scripts/run_backend.sh tedy18610Postgres — a disposable Docker one is started automatically (or supply TEDY_DB_URL/_USER/_PASSWORD, or TEDY_NO_DB=1). dev profile applies Liquibase.
Teagle 🦅./scripts/run_backend.sh teagle18650stateless (no DB)
Flint 🔥🦎./scripts/run_backend.sh flint18630in-memory (standalone engine; the tx-fhir library’s runnable app)
Ucumber 🥒./scripts/run_backend.sh ucumber18670stateless (no DB)

Override the port with PORT=…; TEDY’s Docker Postgres port with TEDY_PG_PORT=…. --server.port is applied universally, so the module’s own port property doesn’t matter.

Frontends — scripts/run_frontend.sh <module> [emr-checkout]

ModuleCommandProxies /txapi
TEDY./scripts/run_frontend.sh tedyTEDY_TARGET (default http://localhost:18610)
Teagle./scripts/run_frontend.sh teagleTEAGLE_TARGET (default http://localhost:18650)

The script writes VITE_TX_TARGET into modules/<module>/frontend/.env and delegates to scripts/dev.sh, which runs Vite in the EMR checkout ($TEDY_EMR, else the tedy-main worktree) and opens /<module>/. For FHIR operations, the frontend’s /api/tx/$expand/$lookup proxy target is set via TEDY_TX_FHIR_TARGET — point it at the same backend (which now serves /fhir itself via Flint) to resolve concept pickers on the local stack.

Typical dev pairs

# TEDY editor, full stack on your own machine
./scripts/run_backend.sh tedy     # :18610  (+ throwaway Postgres)
TEDY_TX_FHIR_TARGET=http://localhost:18610 ./scripts/run_frontend.sh tedy   # :18620 → /tedy/

# Teagle aggregator
./scripts/run_backend.sh teagle   # :18650
./scripts/run_frontend.sh teagle  # → /teagle/   (once the Teagle frontend lands)

FHIR conformance harness (Flint)

See the run-fhir-tx-ecosystem-tests auto-memory: run ./scripts/run_backend.sh flint and point the validator_cli.jar txTests harness at http://localhost:18630/fhir (load each suite’s setup CodeSystems first).

Notes

  • Real deployment URLs never live in committed code — only in the gitignored .env files.
  • scripts/check-naming.sh gates the tree for forbidden vendor strings; run it before committing.