Skip to main content

Quick Start

Get the full platform running with one command.

Prerequisitesโ€‹

  • Docker + Docker Compose v2
  • An Epic client ID โ€” fhir.epic.com โ†’ My Apps (non-production)

1. Clone and configureโ€‹

git clone https://github.com/AKHester-Technologies/aj-smart-fhir-platform
cd aj-smart-fhir-platform
cp .env.example .env

Edit .env โ€” two values required:

DB_PASSWORD=your-database-password
EPIC_CLIENT_ID=your-epic-client-id

2. Start everythingโ€‹

docker compose up

First startup takes 60โ€“90 seconds for HAPI FHIR to initialise.

3. Verifyโ€‹

./scripts/verify.sh

Expected output:

โœ“ HAPI metadata endpoint (200)
โœ“ SMART discovery proxy (200)
โœ“ Discovery has authorization_endpoint
โœ“ Auth server health (200)
โœ“ JWKS endpoint (200)
โœ“ JWKS does not expose private key
All checks passed โœ“

4. Open the portalโ€‹

http://localhost:9000/portal

Log in with the dev credentials (see DataInitializer), select a patient, click Launch.

What's runningโ€‹

ServiceURLDescription
HAPI FHIRhttp://localhost:8080/fhirFHIR R4 data layer
Auth Serverhttp://localhost:9000SMART OAuth2 + portal
SMART Clienthttp://localhost:8081Clinical UI
PostgreSQLlocalhost:5432Auth server database