Hl7.Fhir.STU3 5.0.0-beta3

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
.NET 6.0 .NET Standard 2.0
This is a prerelease version of Hl7.Fhir.STU3.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Hl7.Fhir.STU3 --version 5.0.0-beta3
NuGet\Install-Package Hl7.Fhir.STU3 -Version 5.0.0-beta3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hl7.Fhir.STU3" Version="5.0.0-beta3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hl7.Fhir.STU3 --version 5.0.0-beta3
#r "nuget: Hl7.Fhir.STU3, 5.0.0-beta3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Hl7.Fhir.STU3 as a Cake Addin
#addin nuget:?package=Hl7.Fhir.STU3&version=5.0.0-beta3&prerelease

// Install Hl7.Fhir.STU3 as a Cake Tool
#tool nuget:?package=Hl7.Fhir.STU3&version=5.0.0-beta3&prerelease

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.


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


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.


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.


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.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (23)

Showing the top 5 NuGet packages that depend on Hl7.Fhir.STU3:

Package Downloads
Hl7.Fhir.Specification.STU3 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Metapackage including Firely's SDK Base Class Library and specification conformance data for HL7 FHIR STU3. Its sole purpose is to provide a backwards-compatible package reference for projects that used pre-5.0 versions of the SDK.


Package Description


A FHIR Death Record model for producing and consuming FHIR death records.


Application Component for the Alliance Business Suite.


Application Component for the Alliance Business Suite.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Hl7.Fhir.STU3:

Repository Stars
Set of tools for helping with data (in FHIR format) anonymization.
Version Downloads Last updated
5.0.0 1,606 2/17/2023
5.0.0-beta3 260 2/1/2023
5.0.0-beta2 127 1/19/2023
5.0.0-beta1 69 12/21/2022
4.3.0 28,855 9/22/2022
4.2.1 11,079 8/17/2022
4.2.0 737 8/16/2022
4.1.0 9,528 7/7/2022
4.0.0 22,731 5/10/2022
4.0.0-beta2 559 3/4/2022
4.0.0-beta1 84 2/7/2022
3.8.3 9,979 4/28/2022
3.8.2 11,005 3/28/2022
3.8.1 5,243 3/4/2022
3.8.0 38,890 1/7/2022
3.7.0 25,547 12/1/2021
3.6.0 27,799 10/15/2021
3.5.0 32,423 9/2/2021
3.4.0 26,189 6/30/2021
3.3.0 8,827 6/2/2021
3.2.0 16,759 5/4/2021
3.1.0 11,623 4/1/2021
3.0.0 15,534 2/25/2021
2.0.3 13,612 1/26/2021
2.0.2 719 1/22/2021
2.0.1 13,330 11/25/2020
2.0.0 2,264 11/16/2020
2.0.0-beta2 756 9/22/2020
2.0.0-beta1 826 7/16/2020
1.9.0 93,865 7/23/2020
1.8.0 13,570 7/2/2020
1.7.0 57,516 5/6/2020
1.6.0 51,677 3/4/2020
1.5.0 29,366 2/4/2020
1.5.0-beta1 601 12/19/2019
1.4.0 52,356 10/10/2019
1.3.0 42,360 7/10/2019
1.2.1 94,460 4/16/2019
1.2.0 15,770 3/29/2019
1.2.0-beta2 587 2/28/2019
1.2.0-beta1 596 2/20/2019
1.1.3 120,082 2/13/2019
1.1.2 35,564 1/31/2019
1.1.1 864 1/30/2019
1.1.0-beta1 674 12/17/2018
1.0.0 17,241 12/17/2018
1.0.0-beta1 881 11/7/2018
0.96.0 152,747 6/6/2018
0.95.0 53,000 4/12/2018
0.94.0 136,173 12/7/2017
0.94.0-beta2 2,091 11/8/2017
0.94.0-beta1 793 11/7/2017
0.93.5 14,234 10/17/2017
0.93.5-beta7 1,011 9/27/2017
0.93.5-beta6 3,441 9/5/2017
0.93.5-beta5 821 8/30/2017
0.93.5-beta4 811 8/29/2017
0.93.5-beta3 2,535 8/3/2017
0.93.5-beta1 870 7/27/2017
0.93.5-alpha1 969 6/15/2017
0.93.4 63,139 5/7/2017
0.93.4-alpha3 966 5/1/2017
0.93.4-alpha2 899 4/26/2017
0.93.4-alpha1 866 4/26/2017
0.93.3 1,667 4/26/2017
0.93.2 1,258 4/25/2017
0.93.1 1,186 4/25/2017
0.93.0 4,940 4/24/2017
0.93.0-alpha4 1,768 4/12/2017
0.93.0-alpha3 945 4/11/2017
0.93.0-alpha2 896 4/10/2017
0.93.0-alpha1 1,121 3/23/2017
0.91.0-alpha1 1,388 12/9/2016
0.90.6-alpha7 5,131 9/15/2016
0.90.5-alpha4 8,068 6/7/2016
0.90.5-alpha3 1,351 4/11/2016