Take 2 on #4718. This allows the client to specify "Lenient" to opt out of validation...
This pull request includes several changes to improve the handling of search parameter validation in the FHIR server, particularly focusing on the differentiation between strict and lenient handling modes.
Update the title of the PR to be succinct and less than 65 characters
Add a milestone to the PR for the sprint that it is merged (i.e. add S47)
Tag the PR with the type of update: Bug, Build, Dependencies, Enhancement, New-Feature or Documentation
Tag the PR with Open source, Azure API for FHIR (CosmosDB or common code) or Azure Healthcare APIs (SQL or common code) to specify where this change is intended to be released.
Tag the PR with Schema Version backward compatible or Schema Version backward incompatible or Schema Version unchanged if this adds or updates Sql script which is/is not backward compatible with the code.
Description
Take 2 on #4718. This allows the client to specify "Lenient" to opt out of validation...
This pull request includes several changes to improve the handling of search parameter validation in the FHIR server, particularly focusing on the differentiation between strict and lenient handling modes.
Enhancements to Handling Modes:
src/Microsoft.Health.Fhir.Core/Extensions/PreferHeaderExtensions.cs
: Refactored theGetIsStrictHandlingEnabled
method to return a boolean directly based on theGetHandlingHeader
method, which now checks forSearchParameterHandling.Strict
. [1] [2]src/Microsoft.Health.Fhir.Core/Features/Operations/Export/CreateExportRequestHandler.cs
: Updated theValidateTypeFilters
method to log and skip validation whenSearchParameterHandling.Lenient
is specified.Test Adjustments:
test/Microsoft.Health.Fhir.Shared.Tests.Integration/Features/Operations/Export/CreateExportRequestHandlerTests.cs
: Modified test cases to reflect the changes in handling modes, including renaming test methods to specify lenient handling and removing hardcoded strict handling headers. [1] [2] [3] [4]Related issues
Addresses AB#130227
Testing
Unit tests.
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)