HasteHealth

mcp
Security Audit
Pass
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 79 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Modern healthcare clinical data repository. Built for performance and scale.

README.md

Overview

FHIR clinical data repository built for speed.

Running Locally

The quickest way to get everything running is with the top-level docker-compose.yml, which pulls the published images and starts PostgreSQL, Elasticsearch, the server, the worker, and the admin app:

docker-compose up

Once the containers are healthy, open http://my-health_system.localhost:3001 and log in with:

This tenant and user are created automatically by the migration step in the compose file.

If you're actively developing on the backend or frontend instead of just running published images, see Running for Development below.

Running for Development

1. Services

docker-compose -f docker-services-compose.yml up

This starts a PostgreSQL database, Elasticsearch, and a migration job for PostgreSQL and Elasticsearch schema migrations.

2. Server

Once the services have finished starting, open a separate terminal and go to
the backend directory:

cd ./backend

then run the server with the following command:

cargo run server start

Configuration for the server can be found here.

3. Worker

Finally, the worker is the last service to be launched. It handles search
indexing and FHIR subscription processing in the background.

Open a separate terminal and go to the backend directory:

cd ./backend

then run:

cargo run worker

Configuration for the worker can be found here.

4. Frontend

In a separate terminal, run the frontend admin application:

cd <repo-root>/frontend/packages/admin-app
pnpm dev

Then go to http://my-health_system.localhost:3001 and fill in the following credentials:

This tenant and user are created automatically when you run the migration in the earlier docker-compose step.

Binaries

Configuration (haste.toml or environment variables) is documented here for the server and here for the worker.

Available commands (server start, worker, admin migrate, admin tenant create, etc.) are documented here.

Docker Images

Configuration (haste.toml or environment variables) is documented here for the server and here for the worker. See docker-compose.yml for a full working setup.

Available commands (server start, worker, admin migrate, admin tenant create, etc.) are documented here.

RFCs (Request for Comments)

For large feature requests submit RFCS the following is a guide for viewing/submitting RFCs:

RFCs can be written here.

They should follow the format specified here.

RFCs can be read here

Performance

Using wrk for performance testing.

Example

wrk --latency -s crates/server/benchmarks/transaction.lua -t10 -c10 -d10s http://localhost:3000/w/ohio-health/zb154qm9/api/v1/fhir/r4/

M3 Macbook Air Local 10 threads Postgres 18

Latency (percentile:time) Requests per Second Concurrent connections Benchmark
50%:1.2ms, 90%:1.8ms, 99%:3.38 10344 10 backend/crates/server/benchmarks/observation.lua
50%:60ms, 90%:73ms, 99%:288.6ms 251 (100 resources per transaction) (25100 total writes) 10 backend/crates/server/benchmarks/transaction.lua
50%:116.73ms 75%:118.39ms 90%:121.45ms 99%:246.90ms 325 (100 reads per batch) (32500 total reads) 10 backend/crates/server/benchmarks/observation_batch_read.lua

Reviews (0)

No results found