Hl7.Fhir.R4 6.2.0

Build Status

IMPORTANT The 6.0 version of the SDK no longer supports netstandard 2.0. The minimum target framework is now netstandard2.1. If you need netstandard2.0 support, please continue to use the 5.x version of the SDK (but consider upgrading).

Introduction

This is Firely's official support SDK for working with HL7 FHIR on the Microsoft .NET (dotnet) platform.

This SDK 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

Release notes

Read the releases notes on firely-net-sdk/releases. You can find documentation about this SDK in the Firely docs site.

Getting Started

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:

  • STU3 (published March 2017) is older, but still widely in use and fully supported by the SDK.
  • R4 (published January 2019) is in active use and fully supported by the SDK.
  • R4B (published May 2022) is in active use and fully supported by the SDK.
  • R5 (published March 26 2023) is the latest official release of the FHIR spec and is fully supported by the SDK.

Read the online documentation, and download the correct for your FHIR release. Depending on the version of FHIR you require, you'll find the relevant link to the package below. For most developers, just including this NuGet package is enough to get started.

Spec version Git branch NuGet
R5 https://github.com/FirelyTeam/firely-net-sdk/tree/release/6.0.0 https://www.nuget.org/packages/Hl7.Fhir.R5
R4B https://github.com/FirelyTeam/firely-net-sdk/tree/release/6.0.0 https://www.nuget.org/packages/Hl7.Fhir.R4B
R4 https://github.com/FirelyTeam/firely-net-sdk/tree/release/6.0.0 https://www.nuget.org/packages/Hl7.Fhir.R4
STU3 https://github.com/FirelyTeam/firely-net-sdk/tree/release/6.0.0 https://www.nuget.org/packages/Hl7.Fhir.STU3

Using a pre-release NuGet package

Every release of the SDK results in a NuGet package on the normal NuGet feed. However, each commit on our develop branch also results in a pre-release package. These are public too. So if you want to be brave and use a pre-release packages, you can do so by adding https://nuget.pkg.github.com/FirelyTeam/index.json to your NuGet sources:

  • Get a Personal Access token (PAT) from github.com with scope read:packages

  • Next open a console on your machine and run dotnet nuget add source --name github --username <USERNAME> --password <PAT> https://nuget.pkg.github.com/FirelyTeam/index.json

USERNAME: your username on GitHub PAT: your Personal access token with at least the scope read:packages

Upgrading

We spend a lot of effort trying to maintain compile compatibility (not binary compatibility) between minor releases of the SDK. We do, however, publish a new major version with breaking changes about once a year. The table below lists the breaking changes for each of the major upgrades.

SDK version Breaking changes
2.x https://github.com/FirelyTeam/firely-net-sdk/wiki/Breaking-changes-in-2.0
3.x https://github.com/FirelyTeam/firely-net-sdk/wiki/Breaking-changes-in-3.0
4.x https://github.com/FirelyTeam/firely-net-sdk/wiki/Breaking-changes-in-4.0
5.x https://github.com/FirelyTeam/firely-net-sdk/wiki/Breaking-changes-in-5.0
6.x https://github.com/FirelyTeam/firely-net-sdk/wiki/Breaking-changes-in-6.0

The profile validator has been split off into its own repository. The NuGet packages for the validator that are compatible with the SDK 6.0 release can be found on NuGet.

Support

We actively monitor the issues coming in through the GitHub repository at https://github.com/FirelyTeam/firely-net-sdk/issues. 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.

In addition to community support via GitHub, Firely also offers optional commercial support for organizations that rely on the SDK in production and want guaranteed response times or implementation help. If this is relevant for you, feel free to contact us.

Contributing

We are welcoming contributions!

If you want to participate in this project, we're using Git Flow for our branch management. Please submit PRs with changes against the develop branch.

Note: Since the 5.0 release of the SDK, the branches for STU3 and newer have been combined in a single develop branch. This branch now contains the code for all FHIR releases from STU3 and up. We have also refactored all the common code out to projects within that branch, so the separate common repository (at https://github.com/FirelyTeam/firely-net-common) is no longer in use. This greatly simplifies management and creating PRs for these projects.

Binary Compatibility

Our build pipeline automatically checks for binary compatibilty and fails when we break it. In some cases we can make an exception to break binary compatitibility. To make sure the pipeline doesn't break, you should run dotnet pack /p:ApiCompatGenerateSuppressionFile=true locally to generate a suppression file. Please commit this file to make sure the build passes.

Showing the top 20 packages that depend on Hl7.Fhir.R4.

Packages Downloads
DHP.Contracts
Package Description
132
DHP.Contracts
Package Description
133
DHP.Contracts
Package Description
137
DHP.Contracts
Package Description
140
DHP.Contracts
Package Description
142
DHP.Contracts
Package Description
144
DHP.Contracts
Package Description
146
DHP.Contracts
Package Description
149
dhp.fhir
Package Description
136
dhp.fhir
Package Description
141
dhp.fhir
Package Description
142
dhp.fhir
Package Description
144
dhp.fhir
Package Description
147
dhp.fhir
Package Description
154
dhp.fhir
Package Description
161
dhp.fhir
Package Description
287
dhp.fhir
Package Description
331

See https://github.com/FirelyTeam/firely-net-sdk/releases

.NET 8.0

.NET Standard 2.1

Version Downloads Last updated
6.2.0 4 05/11/2026
6.1.1 27 03/24/2026
6.1.0 25 03/05/2026
6.0.2 52 01/15/2026
6.0.1 253 10/15/2025
6.0.0 63 10/14/2025
6.0.0-rc1 76 08/20/2025
6.0.0-beta1 82 07/05/2025
6.0.0-alpha2 121 04/25/2025
6.0.0-alpha1 99 12/15/2024
5.13.3 18 03/11/2026
5.13.2 27 01/08/2026
5.13.1 41 12/06/2025
5.13.0 98 10/14/2025
5.12.2 70 08/27/2025
5.12.1 87 07/18/2025
5.12.0 92 06/26/2025
5.11.7 83 05/24/2025
5.11.6 80 05/15/2025
5.11.5 109 05/08/2025
5.11.4 208 02/14/2025
5.11.3 148 02/07/2025
5.11.2 108 04/02/2025
5.11.1 176 11/28/2024
5.11.0 105 11/12/2024
5.10.3 138 09/21/2024
5.10.2 106 09/21/2024
5.10.1 148 09/21/2024
5.10.0 109 09/21/2024
5.9.1 100 08/28/2024
5.9.0 162 08/10/2024
5.8.2 123 07/22/2024
5.8.1 127 06/04/2024
5.8.0 173 07/23/2024
5.7.0 126 07/23/2024
5.6.1 182 07/23/2024
5.6.0 151 07/23/2024
5.5.1 174 02/05/2024
5.5.0 174 07/23/2024
5.4.0 139 07/23/2024
5.3.0 129 07/23/2024
5.2.0 127 07/23/2024
5.1.0 167 07/23/2024
5.0.0 147 07/23/2024
5.0.0-beta3 173 07/23/2024
5.0.0-beta2 110 07/23/2024
5.0.0-beta1 124 07/23/2024
4.3.0 206 07/23/2024
4.2.1 169 07/23/2024
4.2.0 131 07/23/2024
4.1.0 134 07/23/2024
4.0.0 116 07/23/2024
4.0.0-beta2 130 07/23/2024
4.0.0-beta1 140 07/23/2024
3.8.3 118 07/23/2024
3.8.2 141 07/23/2024
3.8.1 119 07/23/2024
3.8.0 126 07/23/2024
3.7.0 126 07/23/2024
3.6.0 151 07/23/2024
3.5.0 127 07/23/2024
3.4.0 146 07/23/2024
3.3.0 122 07/23/2024
3.2.0 118 07/27/2024
3.1.0 122 07/23/2024
3.0.0 179 07/23/2024
2.0.3 127 07/23/2024
2.0.2 137 07/23/2024
2.0.1 129 07/23/2024
2.0.0 188 07/23/2024
2.0.0-beta2 128 07/23/2024
2.0.0-beta1 131 07/23/2024
1.9.0 159 07/23/2024
1.8.0 134 07/23/2024
1.7.0 126 07/23/2024
1.6.0 113 07/23/2024
1.5.0 170 07/23/2024
1.5.0-beta1 125 07/23/2024
1.4.0 123 07/23/2024
1.3.0 125 07/23/2024
1.2.1 113 07/23/2024
1.2.0 146 07/23/2024
1.2.0-beta2 115 07/23/2024
1.2.0-beta1 145 07/23/2024
0.96.1 128 07/23/2024
0.96.0 140 07/23/2024
0.95.0 121 07/23/2024
0.94.0-beta3 125 07/22/2024