Skip to content

Shaumik-Ashraf/mcp-fhir-patient-index

Repository files navigation

MCP FHIR Patient Index

CI

⚠️ Development in progress

A master patient index in Rails 8 with a conformant FHIR API and Model Context Protocol (MCP) for LLM integration.

Features

  • Built-in MCP server
  • Built-in minimalistic FHIR server
  • Create, read, update, and destroy patients
  • User friendly and customizable UI

Constraints

  • 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.

Dependencies

Quick Start

  1. Ensure you have Docker running
  2. 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.
  3. Build image:
docker build -t mcp_fhir_patient_index .
  1. 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

Developer Start

  1. yarn install
  2. bundle
  3. rails db:migrate
  4. rails assets:precompile
  5. rails server

Documentation

Dev Tools

  • bundle exec rspec: run tests
  • bundle exec rubocop: run linter
  • ./bin/brakeman: run security scan

Tech Stack

Rails 8 with SQLite3, ESBuild, Bootstrap 5.3, and all other default options, except JBuilder and ActionMailbox which were excluded.

License

Copyright © 2025 Shaumik Ashraf

This project is under the MIT License. You can view the license at LICENSE.txt.

Trademark Notice

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.

About

A master patient index with a FHIR API, MCP server, and web UI on Ruby on Rails 8.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •