Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces significant changes to how FHIR resources are represented and processed within the codebase, moving from the use of
ITypedElementtoPocoNodefor resource elements. This update impacts a wide range of files, refactoring interfaces, implementations, and test code to align with the new model. Additionally, there are several dependency version updates and some package version downgrades.The most important changes are:
Core Model Refactoring
ResourceElementand related APIs to usePocoNodeinstead ofITypedElement, affecting constructors, properties, and internal logic inResourceElement,ResourceTypeExtensions, and all related usages. This change improves consistency and interoperability with the FHIR .NET library. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]IReferenceToElementResolverinterface and its implementation to returnPocoNodeinstead ofITypedElement. [1] [2] [3]IModelInfoProvider.GetEvaluationContextsignature to accept a resolver function returningPocoNode. [1] [2]Dependency and Package Version Updates
Directory.Packages.props, includingHealthcareSharedPackageVersion,DotNetSdkPackageVersion,Azure.Identity,Microsoft.Data.SqlClient, andNewtonsoft.Json. Also, updatedHl7FhirVersionandOpenIddictpackages to newer versions. [1] [2] [3] [4]IdentityServer4and updatedMicrosoft.EntityFrameworkCore.InMemoryto a newer version. [1] [2]Test Adjustments
PocoNode-based APIs and adjusted mock setups and test logic accordingly. [1] [2] [3] [4] [5] [6]Minor Logic Changes
PocoNodeinstances, ensuring correct FHIRPath context and evaluation. [1] [2] [3]CreateBulkUpdateHandlerto correctly extract the operation value from FHIR parameters, handlingFhirStringspecifically.These changes collectively modernize the resource handling pipeline and align the codebase with the latest FHIR .NET best practices.
Related issues
Addresses [issue #].
Testing
Describe how this change was tested.
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)