Hl7.Fhir.R4B
5.10.1
Prefix Reserved
See the version list below for details.
dotnet add package Hl7.Fhir.R4B --version 5.10.1
NuGet\Install-Package Hl7.Fhir.R4B -Version 5.10.1
<PackageReference Include="Hl7.Fhir.R4B" Version="5.10.1" />
paket add Hl7.Fhir.R4B --version 5.10.1
#r "nuget: Hl7.Fhir.R4B, 5.10.1"
// Install Hl7.Fhir.R4B as a Cake Addin #addin nuget:?package=Hl7.Fhir.R4B&version=5.10.1 // Install Hl7.Fhir.R4B as a Cake Tool #tool nuget:?package=Hl7.Fhir.R4B&version=5.10.1
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.
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.
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 |
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 theZipSource
resolver), addHl7.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 separatecommon
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:GenerateCompatibilitySuppressionFile=true
locally to generate a suppression file. Please commit this file to make sure the build passes.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Hl7.Fhir.Conformance (>= 5.10.1)
-
net8.0
- Hl7.Fhir.Conformance (>= 5.10.1)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Hl7.Fhir.R4B:
Package | Downloads |
---|---|
Hl7.Fhir.Specification.R4B
Metapackage including Firely's SDK Base Class Library and specification conformance data for HL7 FHIR R4B. Its sole purpose is to provide a backwards-compatible package reference for projects that used pre-5.0 versions of the SDK. |
|
Udap.Model
Package is a part of the UDAP reference implementation for .NET. |
|
brianpos.Fhir.R4B.DemoFileSystemFhirServer
Demonstration implementation of a FHIR R4 Facade using the file system as a super simple storage provider |
|
Hl7.Fhir.Validation.Legacy.R4B
Firely's Legacy profile validator (pre-SDK 5.0) for HL7 FHIR R4B. |
|
brianpos.Fhir.R4B.WebApi.AspNetCore
This library Implements a FHIR Facade that you can add to other projects where you provide the storage engine through implementing a set of model interface classes |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.0.0-alpha1 | 107 | 12/11/2024 |
5.11.1 | 2,061 | 11/25/2024 |
5.11.0 | 2,175 | 11/8/2024 |
5.10.3 | 6,852 | 9/19/2024 |
5.10.2 | 645 | 9/18/2024 |
5.10.1 | 935 | 9/12/2024 |
5.10.0 | 516 | 9/10/2024 |
5.9.1 | 6,403 | 8/8/2024 |
5.9.0 | 1,836 | 7/25/2024 |
5.8.2 | 3,437 | 7/10/2024 |
5.8.1 | 11,842 | 5/2/2024 |
5.8.0 | 2,921 | 4/24/2024 |
5.7.0 | 4,287 | 3/15/2024 |
5.6.1 | 6,819 | 2/13/2024 |
5.6.0 | 867 | 2/13/2024 |
5.5.1 | 3,130 | 1/16/2024 |
5.5.0 | 1,768 | 1/10/2024 |
5.4.0 | 35,649 | 10/26/2023 |
5.3.0 | 27,467 | 7/27/2023 |
5.2.0 | 6,107 | 5/26/2023 |
5.1.0 | 3,104 | 4/28/2023 |
5.0.0 | 7,691 | 2/17/2023 |
5.0.0-beta3 | 270 | 2/1/2023 |
5.0.0-beta2 | 283 | 1/19/2023 |
5.0.0-beta1 | 1,976 | 12/21/2022 |
4.3.0 | 100,495 | 9/22/2022 |
4.2.1 | 14,616 | 8/17/2022 |
4.2.0 | 3,939 | 8/16/2022 |
4.1.0 | 3,013 | 7/7/2022 |
4.0.0 | 164,827 | 5/10/2022 |
4.0.0-beta2 | 1,515 | 3/4/2022 |
4.0.0-beta1 | 908 | 2/7/2022 |
3.8.3 | 2,077 | 4/28/2022 |
3.8.2 | 1,312 | 3/28/2022 |
3.8.1 | 2,898 | 3/4/2022 |
3.8.0 | 920 | 1/7/2022 |
3.7.0 | 1,534 | 12/1/2021 |
3.6.0 | 1,009 | 10/15/2021 |
3.5.0 | 988 | 9/2/2021 |
3.4.0 | 1,064 | 6/30/2021 |
3.3.0 | 1,062 | 6/2/2021 |
3.2.0 | 1,094 | 5/4/2021 |