Ignixa.Extensions.FirelySdk5
0.6.74
dotnet add package Ignixa.Extensions.FirelySdk5 --version 0.6.74
NuGet\Install-Package Ignixa.Extensions.FirelySdk5 -Version 0.6.74
<PackageReference Include="Ignixa.Extensions.FirelySdk5" Version="0.6.74" />
<PackageVersion Include="Ignixa.Extensions.FirelySdk5" Version="0.6.74" />
<PackageReference Include="Ignixa.Extensions.FirelySdk5" />
paket add Ignixa.Extensions.FirelySdk5 --version 0.6.74
#r "nuget: Ignixa.Extensions.FirelySdk5, 0.6.74"
#:package Ignixa.Extensions.FirelySdk5@0.6.74
#addin nuget:?package=Ignixa.Extensions.FirelySdk5&version=0.6.74
#tool nuget:?package=Ignixa.Extensions.FirelySdk5&version=0.6.74
Ignixa.Extensions.FirelySdk5
Firely SDK 5.x interoperability shims for bidirectional conversion between Ignixa types and Firely SDK types.
Overview
This package provides legacy support for users still on Firely SDK 5.x (5.11.4). It contains the same adapters as Ignixa.Extensions.FirelySdk6, but targets Firely SDK 5.x package versions.
If you're using Firely SDK 6.0+, use Ignixa.Extensions.FirelySdk6 instead.
Version Compatibility
| Package | Firely SDK Version | Target Framework |
|---|---|---|
Ignixa.Extensions.FirelySdk5 |
5.11.4 | net9.0 |
Ignixa.Extensions.FirelySdk6 |
6.0.0 | net9.0 |
Why Two Packages?
Firely SDK 6.0 introduced breaking changes in internal architecture, but the core interfaces (ITypedElement, ISourceNode, IElementDefinitionSummary) remained stable. This allows us to:
- ✅ Share 100% of source code between SDK 5.x and 6.x versions (via file linking)
- ✅ Zero code duplication - fixes apply to both versions automatically
- ✅ Drop-in replacement - same namespace (
Ignixa.Extensions.FirelySdk)
SDK Version and FHIRPath Seam
This package ships against 5.11.4, the lowest supported 5.x version and the same version the Microsoft FHIR server runs. Later 5.x releases carry a known bug, and a higher dependency floor would force that consumer's Firely SDK up past the version its own characterization tests pin.
This is also the 5.11.4 FHIRPath seam pinned by ADR 2608: the parity tests and benchmark link-compile the adapters at 5.11.4 to compare the engine that the migration replaces. Package floor and seam-parity measurement now agree, so the adapter is measured on the engine it ships against. Do not raise this floor without re-checking the consumer that the seam exists to serve.
Installation
dotnet add package Ignixa.Extensions.FirelySdk5
Usage
All usage examples from Ignixa.Extensions.FirelySdk6 apply identically:
Ignixa → Firely SDK
using Ignixa.Extensions.FirelySdk;
// Convert Ignixa IElement to Firely ITypedElement
IElement ignixaElement = ...;
ITypedElement firelyElement = ignixaElement.ToTypedElement();
// Use with Firely SDK tools (FhirPath, Validator, etc.)
var navigator = firelyElement.ToFhirPathNavigator();
var result = navigator.Scalar("Patient.name.family");
Firely SDK → Ignixa
using Ignixa.Extensions.FirelySdk;
// Convert Firely ITypedElement to Ignixa IElement
ITypedElement firelyElement = ...;
IElement ignixaElement = firelyElement.ToIgnixaElement();
// Convert Firely ISourceNode to Ignixa IElement (schema-aware)
ISourceNode sourceNode = FhirJsonNode.Parse(json);
IElement element = sourceNode.ToElement(schema);
Breaking Changes from SDK 5.x → 6.x
The Firely SDK 6.0 release introduced these breaking changes:
- Framework support: Minimum target changed from
netstandard2.0tonetstandard2.1 - Internal architecture: POCO parsers refactored, FhirPath engine moved to
IScopedNode - Removed interfaces:
IDeepCopyable,IBaseElementNavigator
None of these affect the adapter code, which only uses stable interfaces.
Migration Path
When you're ready to upgrade to Firely SDK 6.x:
- Update your project's Firely SDK package references to 6.0.0+
- Replace
Ignixa.Extensions.FirelySdk5withIgnixa.Extensions.FirelySdk6 - No code changes required (same namespace and API)
- <PackageReference Include="Hl7.Fhir.Base" Version="5.11.4" />
+ <PackageReference Include="Hl7.Fhir.Base" Version="6.0.0" />
- <PackageReference Include="Ignixa.Extensions.FirelySdk5" Version="x.y.z" />
+ <PackageReference Include="Ignixa.Extensions.FirelySdk6" Version="x.y.z" />
License
MIT License - See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Ensure.That (>= 10.1.0)
- Fhir.Metrics (>= 1.3.1)
- Hl7.Fhir.Base (>= 5.11.4)
- Ignixa.Abstractions (>= 0.6.74)
- Ignixa.Serialization (>= 0.6.74)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
-
net9.0
- Ensure.That (>= 10.1.0)
- Fhir.Metrics (>= 1.3.1)
- Hl7.Fhir.Base (>= 5.11.4)
- Ignixa.Abstractions (>= 0.6.74)
- Ignixa.Serialization (>= 0.6.74)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.6.74 | 147 | 9/3/2026 |
| 0.6.73 | 115 | 9/2/2026 |
| 0.6.68 | 153 | 8/24/2026 |
| 0.6.41 | 322 | 7/27/2026 |
| 0.6.28 | 163 | 7/22/2026 |
| 0.6.19 | 186 | 7/12/2026 |
| 0.6.7 | 189 | 7/9/2026 |
| 0.6.4 | 148 | 7/5/2026 |
| 0.5.13 | 150 | 7/3/2026 |
| 0.5.11 | 121 | 7/2/2026 |
| 0.5.6 | 165 | 6/17/2026 |
| 0.5.2 | 150 | 6/16/2026 |
| 0.5.0 | 119 | 6/15/2026 |
| 0.0.163 | 3,573 | 2/11/2026 |
| 0.0.160 | 166 | 2/9/2026 |
| 0.0.155 | 195 | 1/24/2026 |
| 0.0.151 | 166 | 1/21/2026 |
| 0.0.150 | 140 | 1/20/2026 |
| 0.0.149 | 141 | 1/19/2026 |
| 0.0.148 | 144 | 1/18/2026 |