AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Haste Health is the open-source FHIR server for AI-native health apps. It stores clinical data as FHIR R4 and serves it to your applications, analytics and AI agents through one API, with OAuth2, SMART on FHIR and MCP built in.
Epic, Oracle Health and HL7v2 in. FHIR, SQL-on-FHIR and MCP out. Written in Rust, licensed Apache-2.0, and yours to self-host, or hosted with a signed BAA.
The quickest way to get everything running is with the top-level docker-compose.yml, which pulls the published images and starts PostgreSQL, the server, the worker, and the admin app.
curl -O https://raw.githubusercontent.com/HasteHealth/HasteHealth/main/docker-compose.yml
docker compose up
Once the containers are healthy, open http://my-health--system.localhost:3001 and log in with:
[email protected]testing_passwordThis 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.
docker-compose -f docker-services-compose.yml up
This starts a PostgreSQL database and a migration job for the repository and search index schema migrations.
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.
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.
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:
[email protected]testing_passwordThis tenant and user are created automatically when you run the migration in the earlier docker-compose step.
One haste-health binary runs the server, the worker and the CLI. Install it with npm:
npm install -g haste-health
haste-health --help
Or try it without installing:
npx haste-health --help
Builds exist for Linux (x64 and arm64) and macOS on Apple Silicon. The Linux builds are static and run on any distribution. On Windows, use it inside WSL. Each GitHub release also has the binaries attached, for machines without Node.js.
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.
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.
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
Using wrk for performance testing.
wrk --latency -s crates/server/benchmarks/transaction.lua -t10 -c10 -d10s http://localhost:3000/w/ohio-health/zb154qm9/api/v1/fhir
| 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 |