⚠️ Development in progress
A master patient index in Rails 8 with a conformant FHIR API and Model Context Protocol (MCP) for LLM integration.
- Built-in MCP server
- Built-in minimalistic FHIR server
- Create, read, update, and destroy patients
- User friendly and customizable UI
- Supports US (en-speaking) patients only (no I18n)
- Supports FHIR R4 only
This app has is not ready for real-patient data out of the box. For real-world use, you must regenerate credentials, and do a secure deployment with SOC-II compliance.
- Ensure you have Docker running
- If it's your first time, create a master key with
bin/rails credentials:edit
. Exit the editor without any edits and the master key will be automatically created. - Build image:
docker build -t mcp_fhir_patient_index .
- Run container:
docker run -d -p 80:80 -e RAILS_MASTER_KEY=<value from config/master.key> --name mcp_fhir_patient_index mcp_fhir_patient_index
yarn install
bundle
rails db:migrate
rails assets:precompile
rails server
bundle exec rspec
: run testsbundle exec rubocop
: run linter./bin/brakeman
: run security scan
Rails 8 with SQLite3, ESBuild, Bootstrap 5.3, and all other default options, except JBuilder and ActionMailbox which were excluded.
Copyright © 2025 Shaumik Ashraf
This project is under the MIT License. You can view the license at LICENSE.txt.
HL7, FHIR and the FHIR [FLAME DESIGN] are the registered trademarks of Health Level Seven International and their use does not constitute endorsement by HL7.