Hl7.Fhir.R4 5.0.0-beta2

Build Status

IMPORTANT The 5.0 version of the SDK contains substantial changes to the way we have organized the NuGet packages and source code. Please read before installing this new 5.0 version.

IMPORTANT Version 5.0 of the SDK is in beta. Navigate back to the main repository for the stable 4.x release.

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 the latest official release of the FHIR spec and is fully supported by the SDK.
  • R5 (not yet published) is work-in-progress. This library currently supports "snapshot-1".

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/5.0.0 https://www.nuget.org/packages/Hl7.Fhir.R5
R4B https://github.com/FirelyTeam/firely-net-sdk/tree/release/5.0.0 https://www.nuget.org/packages/Hl7.Fhir.R4B
R4 https://github.com/FirelyTeam/firely-net-sdk/tree/release/5.0.0 https://www.nuget.org/packages/Hl7.Fhir.R4
STU3 https://github.com/FirelyTeam/firely-net-sdk/tree/release/5.0.0 https://www.nuget.org/packages/Hl7.Fhir.STU3

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

The SDK has been restructured for the 5.0 release. Please take note of the following changes if you are upgrading:

  • You should only reference the main package (Hl7.Fhir.<release>).
  • If you need the specification.zip (for validation, if you are using the ZipSource resolver), add Hl7.Fhir.Specification.Data.<release>.
  • The "old" Hl7.Fhir.Specification.<release> package is now a metapackage that will include these two packages.
  • You should not reference any other packages that existed pre-5.0 (Hl7.Fhir.ElementModel etc.)

The profile validator has been split off into its own repository. The NuGet packages for the validator that are compatible with the SDK 5.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.

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 branche.

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.

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

Packages Downloads
DHP.Contracts
Package Description
115
DHP.Contracts
Package Description
117
DHP.Contracts
Package Description
118
DHP.Contracts
Package Description
119
DHP.Contracts
Package Description
123
DHP.Contracts
Package Description
127
DHP.Contracts
Package Description
131
DHP.Contracts
Package Description
135
dhp.fhir
Package Description
116
dhp.fhir
Package Description
117
dhp.fhir
Package Description
126
dhp.fhir
Package Description
128
dhp.fhir
Package Description
129
dhp.fhir
Package Description
130
dhp.fhir
Package Description
136
dhp.fhir
Package Description
142
dhp.fhir
Package Description
258
dhp.fhir
Package Description
273

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

.NET 6.0

.NET Standard 2.0

Version Downloads Last updated
6.0.2 14 01/15/2026
6.0.1 192 10/15/2025
6.0.0 49 10/14/2025
6.0.0-rc1 60 08/20/2025
6.0.0-beta1 68 07/05/2025
6.0.0-alpha2 93 04/25/2025
6.0.0-alpha1 85 12/15/2024
5.13.2 8 01/08/2026
5.13.1 16 12/06/2025
5.13.0 68 10/14/2025
5.12.2 54 08/27/2025
5.12.1 77 07/18/2025
5.12.0 73 06/26/2025
5.11.7 72 05/24/2025
5.11.6 65 05/15/2025
5.11.5 92 05/08/2025
5.11.4 193 02/14/2025
5.11.3 133 02/07/2025
5.11.2 93 04/02/2025
5.11.1 161 11/28/2024
5.11.0 88 11/12/2024
5.10.3 121 09/21/2024
5.10.2 84 09/21/2024
5.10.1 120 09/21/2024
5.10.0 82 09/21/2024
5.9.1 88 08/28/2024
5.9.0 145 08/10/2024
5.8.2 109 07/22/2024
5.8.1 107 06/04/2024
5.8.0 156 07/23/2024
5.7.0 109 07/23/2024
5.6.1 159 07/23/2024
5.6.0 133 07/23/2024
5.5.1 158 02/05/2024
5.5.0 162 07/23/2024
5.4.0 110 07/23/2024
5.3.0 109 07/23/2024
5.2.0 109 07/23/2024
5.1.0 145 07/23/2024
5.0.0 128 07/23/2024
5.0.0-beta3 158 07/23/2024
5.0.0-beta2 95 07/23/2024
5.0.0-beta1 107 07/23/2024
4.3.0 183 07/23/2024
4.2.1 160 07/23/2024
4.2.0 117 07/23/2024
4.1.0 117 07/23/2024
4.0.0 103 07/23/2024
4.0.0-beta2 112 07/23/2024
4.0.0-beta1 120 07/23/2024
3.8.3 106 07/23/2024
3.8.2 115 07/23/2024
3.8.1 103 07/23/2024
3.8.0 114 07/23/2024
3.7.0 112 07/23/2024
3.6.0 130 07/23/2024
3.5.0 112 07/23/2024
3.4.0 120 07/23/2024
3.3.0 100 07/23/2024
3.2.0 102 07/27/2024
3.1.0 107 07/23/2024
3.0.0 165 07/23/2024
2.0.3 109 07/23/2024
2.0.2 123 07/23/2024
2.0.1 118 07/23/2024
2.0.0 169 07/23/2024
2.0.0-beta2 108 07/23/2024
2.0.0-beta1 115 07/23/2024
1.9.0 145 07/23/2024
1.8.0 114 07/23/2024
1.7.0 109 07/23/2024
1.6.0 96 07/23/2024
1.5.0 147 07/23/2024
1.5.0-beta1 112 07/23/2024
1.4.0 105 07/23/2024
1.3.0 100 07/23/2024
1.2.1 102 07/23/2024
1.2.0 131 07/23/2024
1.2.0-beta2 100 07/23/2024
1.2.0-beta1 128 07/23/2024
0.96.1 109 07/23/2024
0.96.0 127 07/23/2024
0.95.0 111 07/23/2024
0.94.0-beta3 109 07/22/2024