@healthcare-interoperability/fhir-query-store
Lightweight, extensible framework for generating data store–agnostic queries from FHIR resources.
✨ Features
- 🏥 Supports core FHIR resource types (e.g.,
Patient
, Appointment
, Encounter
)
- 🔌 Backend-agnostic: works with any storage engine (MongoDB, SQL, memory, etc.)
- ⚙️ Query generation logic encapsulated in a pluggable
FHIRQuery
class
- 🔍 Built-in validation, normalization, and integration ID support
- 🔄 Easily extendable for custom business logic or resource types
📦 Installation
npm install @healthcare-interoperability/fhir-query-store
🚀 Usage
import { FHIRQuery } from '@healthcare-interoperability/fhir-query-store';
const resource = {
resourceType: 'Patient',
id: '123',
name: [{ family: 'Doe', given: ['John'] }],
};
const query = new FHIRQuery(resource);
query.setIntegrationId('your-integration-id');
const updates = query.query();
console.log(updates);
🧱 Class Overview
FHIRQuery
constructor(resource: object)
.setIntegrationId(id: string)
.query() → Array<{ resourceType, query }>
🧩 Extending
To add custom logic or support new backends, extend the base class:
class CustomQuery extends FHIRQuery {
query() {
const base = super.query();
return base;
}
}
📚 Related Packages
📄 License
MIT