Skip to content

Feature/in modifier#5594

Open
kashish2210 wants to merge 2 commits into
microsoft:mainfrom
kashish2210:feature/in-modifier
Open

Feature/in modifier#5594
kashish2210 wants to merge 2 commits into
microsoft:mainfrom
kashish2210:feature/in-modifier

Conversation

@kashish2210
Copy link
Copy Markdown

@kashish2210 kashish2210 commented May 28, 2026

Description

Adds support for expanding token search parameters that use the FHIR :in modifier, for example:

GET /Medication?code:in={valueseturl}

The change introduces a query parameter expansion step before search option parsing. When a token search parameter uses :in, the server expands the referenced ValueSet through the terminology service and rewrites the search parameter into equivalent token values. Non-token parameters are left unchanged.

This supports extensional ValueSet scenarios where clients need to retrieve resources whose coded values are members of a ValueSet.

Related issues

Addresses #4694.
AB#85030

Testing

Validated locally with focused R4 unit test coverage:

dotnet build src\Microsoft.Health.Fhir.R4.Core.UnitTests\Microsoft.Health.Fhir.R4.Core.UnitTests.csproj -f net9.0 --no-restore -m:1
src\Microsoft.Health.Fhir.R4.Core.UnitTests\bin\Debug\net9.0\Microsoft.Health.Fhir.R4.Core.UnitTests.exe --filter FullyQualifiedName~SearchServiceTests.GivenSearchingWithQueryParameterExpander_WhenSearched_ThenExpandedQueryParametersAreUsed --no-progress

Result: passed, 1/1.

src\Microsoft.Health.Fhir.R4.Core.UnitTests\bin\Debug\net9.0\Microsoft.Health.Fhir.R4.Core.UnitTests.exe --filter FullyQualifiedName~SearchParameterValueSetExpanderTests --no-progress

Result: passed, 2/2.

FHIR Team Checklist

  • 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: New-Feature
  • Tag the PR with Azure API for FHIR and Azure Healthcare APIs because this changes common search behavior used by CosmosDB and SQL paths.
  • Tag the PR with Schema Version unchanged because this does not add or update SQL scripts.
  • No ADR included; this is a scoped search behavior addition and does not change storage schema or broader system design assumptions.
  • CI is green before merge Build Status
  • Review squash-merge requirements

Semver Change (docs)

Feature

@kashish2210 kashish2210 requested a review from a team as a code owner May 28, 2026 20:56
@kashish2210
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@kashish2210
Copy link
Copy Markdown
Author

Hi maintainers, I am an external student contributor and do not have permission to add labels or milestones. Could you please help apply the required PR metadata?

Suggested labels:

  • New-Feature
  • Azure API for FHIR
  • Azure Healthcare APIs
  • No-PaaS-breaking-change
  • No-ADR

Suggested milestone:

  • Current sprint milestone

DevOps item:

This PR addresses #4694.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant