Skip to content
The official .NET API for HL7 FHIR -- This repo has been moved from
Branch: develop
Clone or download
ewoutkramer Merge pull request #912 from FirelyTeam/fix/872-use-code-not-unit
fix: Quantity now binds to <code>, not <unit>
Latest commit 0022953 Mar 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Trim the variables Nov 2, 2018
src Merge pull request #912 from FirelyTeam/fix/872-use-code-not-unit Mar 20, 2019
.gitattributes Merged fhirpath into fhir-net-api Apr 6, 2017
LICENSE fix: change the technical license structure in the solution to meet t… Feb 11, 2019
icon-fhir-32.png Project restructe to have one project and one nuget package Aug 10, 2016
pack.bat Revert "Feature/replace element nav stu3" Oct 23, 2018 Add pull request template Nov 22, 2018
test.bat fix: even more build cleanup Apr 20, 2017

DSTU2 STU3 Released
Build status Build status Release status


This is the official support API for working with HL7 FHIR on the Microsoft .NET (dotnet) platform.

This library provides:

  • Class models for working with the FHIR data model using POCO's
  • Xml and Json parsers and serializers
  • A REST client for working with FHIR-compliant servers
  • Helper classes to work with the specification metadata, most notably StructureDefinition and generation of differentials
  • Validation of instances based on profiles
  • Evaluation FhirPath expressions

The library is currently split up in four parts:

  • Core (NuGet packages starting with Hl7.Fhir.<version>) - contains the FhirClient and parsers
  • Specification (NuGet packages starting with Hl7.Fhir.Specification.<version>) - functionality to work with the specification metadata and validation
  • FhirPath (NuGet package Hl7.FhirPath) - the FhirPath evaluator, used by the Core and Specification assemblies
  • Support (NuGet package Hl7.Fhir.Support) - a library with interfaces, abstractions and utility methods that are used by the other packages

IMPORTANT Before installing one of the NuGet packages (or clone the repo) it is important to understand that HL7 has published several updates of the FHIR specification, each with breaking changes - so you need to ensure you use the version that is right for you:

  • DSTU1 (published September 2014) is mostly obsolete, and the .NET version for this publication is not maintained anymore.
  • DSTU2 (published October 2015) in widespread use, and still supported by this library and other tooling on the market.
  • STU3 (published March 2017) latest release, mature support by this library and most other tooling on the market.
  • R4 (not yet published), support in alpha by this library. Would not be supported by production systems, since this release is still in development. Expected publication in Q3 2018.

Planned release DSTU2.1 was never published by HL7, but you will still find traces of it, in particular we still keep the NuGet package for it available.

Getting Started

Get started by reading the online documentation. Depending on the version of FHIR you require, you'll find the relevant links to the packages and develop branches in this repository below:

Spec version Git branch Core NuGet Specification NuGet
DSTU 2.1 N/A


We actively monitor the issues coming in through the GitHub repository at You are welcome to register your bugs and feature suggestions there. For questions and broader discussions, we use the .NET FHIR Implementers chat on Zulip.


We are welcoming contributors!

If you want to participate in this project, we're using Git Flow for our branch management, so please submit your commits using pull requests no on the develop branches mentioned above!

GIT branching strategy

You can’t perform that action at this time.