SkillAgentSearch skills...

HealthChain

Open-source SDK for healthcare AI: FHIR endpoints, EHR integration, and deployment tooling in Python 💫 🏥

Install / Use

/learn @dotimplement/HealthChain

README

<div align="center" style="margin-bottom: 1em;">

HealthChain 💫 🏥

<img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/healthchain_logo.png" alt="HealthChain Logo" width=300></img>

<!-- Project Badges -->

[![PyPI Version][pypi-version-badge]][pypi] [![Stars][stars-badge]][stars] [![Downloads][downloads-badge]][pypistats]

[![License][license-badge]][license] [![Python Versions][python-versions-badge]][pypi] [![Build Status][build-badge]][build] [![AI-Assisted Development][ai-badge]][claude-md]

[![Substack][substack-badge]][substack] [![Discord][discord-badge]][discord]

</div> <h2 align="center" style="border-bottom: none">Open-Source Framework for Productionizing Healthcare AI</h2> <div align="center">

HealthChain is an open-source SDK for production-ready healthcare AI. Skip months of custom integration work with built-in FHIR support, real-time EHR connectivity, and deployment tooling for healthcare AI/ML systems — all in Python.

</div>

Installation

pip install healthchain

Quick Start

# Scaffold a FHIR Gateway project
healthchain new my-app -t fhir-gateway
cd my-app

# Run locally
healthchain serve
<div align="center"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/demo.gif" alt="HealthChain CLI demo" width="700"> </div>

Edit app.py to add your model, and healthchain.yaml to configure compliance, security, and deployment settings.

See the CLI reference for all commands.

Core Features

HealthChain is the quickest way for AI/ML engineers to integrate their models with real healthcare systems.

💡 For HealthTech Engineers

<table> <tr> <td width="50%" valign="top"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/hc-use-cases-clinical-integration.png" alt="Clinical Integration" width=100%> <div align="center"> <br> <a href="https://dotimplement.github.io/HealthChain/reference/gateway/cdshooks/"><strong>⚡️ Real-Time Clinical Workflow Integration</strong></a> <br><br> <div>Build CDS alerts and automated coding tools that integrate directly into Epic workflows</div><br> <a href="https://dotimplement.github.io/HealthChain/cookbook/discharge_summarizer/">Getting Started →</a> <br><br> </div> </td> <td width="50%" valign="top"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/openapi_docs.png" alt="FHIR Utilities" width=100%> <div align="center"> <br> <a href="https://dotimplement.github.io/HealthChain/reference/utilities/fhir_helpers/"><strong>🔥 FHIR Development Utilities</strong></a> <br><br> <div>Accelerate development with type-safe FHIR resource creation, validation helpers, and sandbox environments for testing clinical workflows</div><br> <a href="https://dotimplement.github.io/HealthChain/reference/utilities/sandbox/">Getting Started →</a> <br><br> </div> </td> </tr> </table>

🤖 For LLM / GenAI Developers

<table> <tr> <td width="50%" valign="top"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/hc-use-cases-genai-aggregate.png" alt="Multi-Source Integration" width=100%> <div align="center"> <br> <a href="https://dotimplement.github.io/HealthChain/reference/gateway/gateway/"><strong>🔌 Multi-EHR Data Aggregation</strong></a> <br><br> <div>Aggregate patient data from multiple FHIR sources into unified records with built-in NLP processing and automatic deduplication</div><br> <a href="https://dotimplement.github.io/HealthChain/cookbook/multi_ehr_aggregation/">Getting Started →</a> <br><br> </div> </td> <td width="50%" valign="top"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/interopengine.png" alt="Format Conversion" width=100%> <div align="center"> <br> <a href="https://dotimplement.github.io/HealthChain/reference/interop/interop/"><strong>🔄 Healthcare Data Format Conversion</strong></a> <br><br> <div>Convert between FHIR and CDA formats with configuration-driven templates for unified data processing workflows</div><br> <a href="https://dotimplement.github.io/HealthChain/cookbook/clinical_coding/">Getting Started →</a> <br><br> </div> </td> </tr> </table>

🎓 For ML Researchers

<table> <tr> <td width="50%" valign="top"> <div align="center"> <img src="https://raw.githubusercontent.com/dotimplement/HealthChain/main/docs/assets/images/hc-use-cases-ml-deployment.png" alt="Deploy" width=60%> </div> <div align="center"> <br> <a href="https://dotimplement.github.io/HealthChain/reference/gateway/fhir_gateway/"><strong>🚀 Deploy ML Models as Healthcare APIs</strong></a> <br><br> <div>Turn any trained model into a production-ready FHIR endpoint with OAuth2 authentication and type-safe healthcare data handling</div><br> <a href="https://dotimplement.github.io/HealthChain/cookbook/ml_model_deployment/">Getting Started →</a> <br><br> </div> </td> </table>

Why HealthChain?

Electronic health record (EHR) data is specific, complex, and fragmented. Most healthcare AI projects require months of manual integration and custom validation on top of model development. This leads to fragile pipelines that break easily and consume valuable developer time.

HealthChain understands healthcare protocols and data formats natively, so you don't have to build that knowledge from scratch. Skip months of custom integration work and productionize your healthcare AI faster.

  • Optimized for real-time - Connect to live FHIR APIs and integration points instead of stale data exports
  • Automatic validation - Type-safe FHIR models prevent broken healthcare data
  • Built-in NLP support - Extract structured data from clinical notes, output as FHIR
  • Developer experience - Modular and extensible architecture works across any EHR system
  • Production-ready foundations - Dockerized deployment, configurable security and compliance settings, and an architecture designed for real-world healthcare environments

🏆 Recognition & Community

Featured & Presented:

🤝 Partnerships & Production Use

Exploring HealthChain for your product or organization? Get in touch to discuss integrations, pilots, or collaborations, or join our Discord to connect with the community.

Usage Examples

Building a Pipeline [Docs]

from healthchain.pipeline import Pipeline
from healthchain.pipeline.components.integrations import SpacyNLP
from healthchain.io import Document

# Create medical NLP pipeline
nlp_pipeline = Pipeline[Document]()
nlp_pipeline.add_node(SpacyNLP.from_model_id("en_core_web_sm"))

nlp = nlp_pipeline.build()
doc = Document("Patient presents with hypertension and diabetes.")
result = nlp(doc)

spacy_doc = result.nlp.get_spacy_doc()
print(f"Entities: {[(ent.text, ent.label_) for ent in spacy_doc.ents]}")
print(f"FHIR conditions: {result.fhir.problem_list}")  # Auto-converted to FHIR Bundle

Creating a Gateway [Docs]

from healthchain.gateway import HealthChainAPI, FHIRGateway
from healthchain.fhir.r4b import Patient

# Create healthcare application
app = HealthChainAPI(title="Multi-EHR Patient Data")

# Connect to multiple FHIR sources
fhir = FHIRGateway()
fhir.add_source("epic", "fhir://fhir.epic.com/r4?client_id=epic_client_id")
fhir.add_source("cerner", "fhir://fhir.cerner.com/r4?client_id=cerner_client_id")

@fhir.aggregate(Patient)
def enrich_patient_data(id: str, source: str) -> Patient:
    """Get patient data from any connected EHR and add AI enhancements"""
    bundle = fhir.search(
        Patient,
        {"_id": id},
        source,
        add_provenance=True,
        provenance_tag="ai-enhanced",
    )
    return bundle

app.register_gateway(fhir)

# Available at: GET /fhir/transform/Patient/123?source=epic
# Available at: GET /fhir/transform/Patient/123?source=cerner

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, port=8000)

Testing with Sandbox [Docs]

from healthchain.sandbox import SandboxClient

# Test CDS Hooks service with synthetic data
client = SandboxClient(
    url="http://localhost:8000/cds/cds-services/discharge-summary",
    workflow="encounter-discharge"
)

# Load from test datasets
client.load_from_registry(
    "synthea-patient",
    data_dir="./data/synthea",
    resource_types=["Condition", "DocumentReference"],
    sample_size=5
)

# Send requests and save results
responses = client.send_requests()
client.save_results("./output/")

🛣️ Road Map

  • [ ] 🔍 Data provenance and observability
  • [ ] 🔒 Production security and compliance – enhanced authentication, audit logg

Related Skills

View on GitHub
GitHub Stars187
CategoryOperations
Updated9h ago
Forks31

Languages

Python

Security Score

100/100

Audited on Mar 31, 2026

No findings