WSO2 FHIR Server
A blazing-fast, lightweight FHIR server written in Go. It is an open-source FHIR R4 REST server backed by PostgreSQL, built for a compact operational footprint: a single binary, one database, and no per-resource schema migrations.
- Run it locally — Start PostgreSQL and the server with Docker Compose, then create your first Patient.
- Understand the architecture — See how the server, database, and search fit together in a deployment.
- Use the FHIR API — Work with CRUD, history, transactions, validation, search, and FHIR operations.
- See what you can store — Every FHIR R4 resource type is supported out of the box; browse them by clinical purpose.
At a glance
| Capability | Implementation |
|---|---|
| FHIR version | R4 (4.0.1) |
| Runtime | Go 1.25 |
| Database | PostgreSQL 14 through 18 |
| API formats | FHIR JSON, XML, and RDF Turtle |
| Tenancy | Dedicated deployments or logical tenant isolation |
| Extensibility | Custom SearchParameters and FHIR Implementation Guides |
What it provides
- FHIR create, read, update, patch, delete, versioned read, and history interactions, with four patch formats.
- Search across string, token, date, number, quantity, URI, reference, and
composite parameters, plus chaining,
_has, and includes and paging and result controls. - Transaction and batch Bundle processing, with conditional create, update, and delete and optimistic locking.
- Eight FHIR operations:
$validate,$everything,$lastn,$document,$convert, and the$metafamily. - Base FHIR R4 structural validation on every write, with optional profile enforcement.
- Implementation Guide package loading — additional SearchParameters and profiles without code changes.
- Code-aware search filters (
:in,:not-in,:below,:above) via an external terminology server. - Dedicated and shared multi-tenant deployment models, with logical isolation enforced by PostgreSQL Row-Level Security.
Choose your path
- Application developer — Start with the quickstart, then use the API reference and search guide.
- Platform operator — Review configuration, deployment and performance tuning.
- FHIR implementer — Learn how Implementation Guides, validation, and terminology work.
- Contributor — Read the contribution and testing guides.
note
This project implements FHIR server capabilities. Always validate deployment-specific security, consent, audit, retention, and compliance requirements before handling health information.