This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Open Source FHIR implementations

From HL7Wiki
Jump to navigation Jump to search

Content on this page has been migrated to Confluence here:

Back to FHIR Home page


This page lists known open source implementations of the FHIR specification. For a list of running servers, see Publicly Available FHIR Servers for testing

Reference Libraries

  • JAVA: - James Agnew / University Health Network
    • Open-source Java library for quickly creating FHIR Servers and Clients
    • Geared towards adding FHIR capability to existing applications (e.g. it's not a database, it's a library for quickly bolting FHIR on to your own database, or connecting to other FHIR servers as a client)
    • Supports all resource types, most operations, and both xml and json encodings
    • "Tinder" code generator (Maven plugin) creates model objects and clients from Profiles and Conformance statements
  • DotNet Server:
    • Reference server built in parallel with Grahame's to test the specification (actively developed during DSTU2, recent updates to support STU3)
    • Supports all resource types, searches, many operations, xml + json
    • Built in .NET with the .NET reference implementation, WebApi 2.0 library, Mongo DB for storage and search.
  • Python - SMART on FHIR:
    • Open-source Python library for quickly creating FHIR applications
    • Supports (R4 coming soon...), STU3, and DSTU2, all resource types, json encodings, some validation
    • *fhirclient*, a flexible Python client for FHIR servers supporting the SMART on FHIR protocol
    • data model classes that handle (de)serialization and allow to work with FHIR data in a Pythonic way
    • *fhir-parser* application to build custom resources
    • Demo Flask App
  • Swift - SMART on FHIR
    • Open-source Swift library for quickly creating FHIR applications: Swift-FHIR
    • Supports R4, all resource types, json encodings, some validation
    • *Swift-SMART*: a full client implementation of the 🔥FHIR specification for building apps:
    • Swift classes representing data models of 🔥 FHIR elements and resources, compatible with iOS 11 and OS X 10.13 and later
    • *fhir-parser* application to build custom resources


There is no single reference implementation for Javascript.

Todo: Javascript community to fill this section out...

Other Open source Implementations

  • FHIRBase - open source relational storage for FHIR with document API based on PostgreSQL. FHIRBase is an attempt to take the best parts of Relational & Document Databases for persistence of FHIR resources. FHIRBase stores resources relationally and gives you the power of SQL for querying & aggregating. At the same time FHIRBase provides a set of SQL procedures & views to persist and retrieve resources as a json documents in one hop.
  • the FHIR build tool itself is open source and includes various definitional and reasoning tools. See [2]. If you aren't signed up to the HL7 GForge, you can access the FHIR repository at [3] anonymously.
  • JSON-to-XML-Converter - JavaScript based open source library to convert FHIR between JSON and XML. It is built from the FHIR XML Schema.
  • [4] - DSTU-2 FHIR entities compatible with .Net Core
   * Value Sets
        * $expand
        * $validate-code
   * Code Systems (SNOMED CT, LOINC)
        * $lookup
        * $subsumes
   * Concept Map
        * $translate
        * $closure
   * Capability Statement ( format can in xml or in json )
        * (as in XML default)
        * ( GUI )
* SNOMED browser: by Abdul Rauf (
  • Synthea - Synthetic patient simulation that generates longitudinal FHIR (R4, STU3, and DSTU2) records suitable for software development, integration, testing, demoing. Over 60 diseases with reasonable comorbidities and treatments. Supports Patient, Condition, Encounter, Observation, DiagnosticReport, Immunization, AllergyIntolerance, MedicationRequest, Procedure, ImagingStudy, Organization, Practitioner, Claim, ExplanationOfBenefit.
  • LHC-Forms – NLM’s JavaScript form rendering package with support for FHIR Questionnaire and partial support for the Questionnaire’s SDC profile.
  • UCUM-LHC – NLM’s open source library for validating and converting units from the Unified Code for Units of Measure (UCUM).