Skip to content

Chained search return an error about multiple resource type, even if only 1 is possible (patient.identifier) #3839

Open

Description

Describe the bug
While playing around using this FHIR Server as a backend to a XDS Registry, is was observed that the handling of chained parameters seems cause a unexepcted behavior. Resource "DocumentReference" contain a search parameter "patient" which is already restricted by the spec to the Patient resource. When using a chained search here (e.g. "patient.identifier"), the MS FHIR Server complain about "multiple" possible resource types on this search paramter. Other FHIR Server like Hapi or Firely work as expected.

FHIR Version?
R4

Version used
Docker image from "mcr.microsoft.com/healthcareapis/r4-fhir-server" (4.0.128)

Data provider?
SQL Server

To Reproduce
Steps to reproduce the behavior:

  1. Trigger a FHIR Query on DocumentReference resource with a chained search parameter, e.g. /DocumentReference?patient.identifier=urn%3Aoid%3A2.999.1.2.3.4%7CIPF-1714920157063

Expected behavior
SearchResponse is successful and return the expected results.

Current workaround
Use a chained search with explicit resource type definition, e.g. "patient:Patient.identifier" instead of "patient.identifier"

Actual behavior
Server response with a http 403 containing the following error message:
<?xml version="1.0" encoding="utf-8"?><OperationOutcome xmlns="http://hl7.org/fhir"><id value="ef85d13d-804b-4074-87d3-3a92c19640a8" /><meta><lastUpdated value="2024-05-05T14:42:39.4336098+00:00" /></meta><issue><severity value="error" /><code value="invalid" /><diagnostics value="The reference search parameter 'patient' refers to multiple possible resource types. Please specify a type in the search expression: patient:Patient or patient:Group" /></issue></OperationOutcome>

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

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions