Thanks to visit codestin.com
Credit goes to github.com

Skip to content

brentmzey/openfhir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cds-hook-fhir-service v1

Summary

The cds-hook-fhir-service provides a CDS Hooks implementation for clinical decision support using multi-version FHIR support (DSTU2, DSTU3, R4, R4B, R5). The service integrates with various EHR vendors including Epic, Cerner, Oracle Health, and others to provide real test patient data, process clinical information, and deliver actionable insights to healthcare providers.

Key Features

  • Multi-Version FHIR Support - DSTU2, DSTU3, R4, R4B, R5 with dynamic version detection
  • CDS Hooks Implementation - Full support for patient-view, order-select, order-sign, and custom hooks
  • Epic Sandbox Integration - Real test patient data from Epic's FHIR sandbox
  • Clinical Insights Engine - Automated analysis of conditions, vital signs, medications, and allergies
  • Smoking Cessation Support - Lung cancer screening triggers and quality measures
  • PostgreSQL Backend - Production-ready database with Flyway migrations
  • Functional Programming - Leverages Java 21+ features including Virtual Threads
  • Kubernetes Ready - Skaffold/Kustomize deployment with PostgreSQL 14.5

Quick Start

# Run tests
mvn clean test

# Local development with Kubernetes
skaffold dev

# Build for production
mvn clean install -DskipTests

Documentation

Project Structure

The service inherits its software dependency management and default service behavior from the VA Mobile Framework. Documentation regarding the Mobile Framework and its various components can be found in the docs directory of the framework repository.

Maven build behavior and document/artifact generation are inherited through the NGSS Maven build tiles.

Dependencies / Data Sources

The cds-hook-fhir-service depends on the following services, external data stores, and/or third party systems in order to operate.

External Dependency Version Description
Epic FHIR Sandbox R4 Provides real test patient data from Epic's open FHIR API
HAPI FHIR 6.x FHIR client and resource handling

Epic Sandbox Integration

This service integrates with Epic's open FHIR sandbox to provide real clinical test data. No authentication is required for Epic's test patient data.

See EPIC_SANDBOX_INTEGRATION.md for complete documentation.

Service Interface

Epic Sandbox API Endpoints

Endpoint Method Description
/epic/status GET Check Epic sandbox integration status
/epic/patients GET Get all Epic test patients with comprehensive data
/epic/patient/{id} GET Get specific patient data bundle
/epic/insights/{id} GET Generate clinical insights for a patient
/epic/insights GET Get insights for all Epic test patients
/epic/dataset GET Get enriched dataset summary

CDS Hooks Endpoints

Endpoint Method Description
/cds-services GET Discover available CDS services
/cds-services/patient-view POST Patient-view hook handler
/cds-services/order-select POST Order-select hook handler
/cds-services/order-sign POST Order-sign hook handler

See EPIC_SANDBOX_INTEGRATION.md for detailed API documentation and examples.

Deploy to Kubernetes

Health Check APIs

Health checks, metrics, and Kubernetes probes are provided through Spring Boot Actuator. Spring Boot Actuator support is inherited from the Mobile Framework, which also defines the default Actuator configuration.

The health check endpoint is available on port 8081 at:

/actuator/health

Local Development / Testing Setup

See the local development and testing guide.

🚀 Quick Start with Epic FHIR Data

Three easy ways to explore rich FHIR data:

1️⃣ Interactive Explorer (Recommended!)

./explore-epic-fhir.sh

Menu-driven interface to browse Epic test patients, view clinical data, and generate insights.

2️⃣ Quick Commands

# Start service
./run-service.sh

# Check Epic integration
curl http://localhost:8080/cdshookfhirservice/v1/epic/status | jq

# Get patient data
curl "http://localhost:8080/cdshookfhirservice/v1/epic/patient/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB" | jq

# Generate clinical insights
curl "http://localhost:8080/cdshookfhirservice/v1/epic/insights/Tbt3KuCY0B5PSrJvCu2j-PlK.aiHsu2xUjUM8bWpetXoB" | jq

3️⃣ Automated Testing

./test-epic-integration.sh

📚 Complete Documentation:

Quick Start with Epic Integration

  1. Build the service:

    ./build.sh
  2. Run the service:

    ./run-service.sh
  3. Test Epic integration:

    ./test-epic-integration.sh
  4. Access Epic data endpoints:

See EPIC_SANDBOX_INTEGRATION.md for complete API documentation.

Infrastructure Notes for cds-hook-fhir-service

Replace this text with any relevant information about infrastructure needs, such as dependence on AWS, that are specific to the service. If there are additional infrastructure considerations, then some amount of technical detail should be included as well.
If this section is not applicable to the service, simply delete it

Atypical Patterns

Replace this text with a description of any non-typical patterns (for example event-driven, or asynchronous processing) that may apply to the service
If this section is not applicable to the service, simply delete it

Additional Documentation

About

Repo with basic/minimal CDS Hook implementation and using some Open FHIR data.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published