Loaded Synthea data, batch bundles in the root of Azure API for FHIR, but not many queries for resources work

Ken Miller 6 Reputation points
2020-12-04T00:07:00.77+00:00

I have looked at this document https://learn.microsoft.com/en-us/azure/healthcare-apis/fhir-features-supported, but even the Azure API for FHIR PaaS supported stuff doesn't work like in HL7 document https://www.hl7.org/fhir/search.html.

Here are some examples that don't work. I have patients with observations and the subject reference contains the patient id.
None of the queries specified by the hl7 document work (https://www.hl7.org/fhir/search.html). For example:

GET [base]/Observation?_include=Observation:subject // search parameter subject is not supported by resource type Observation
GET [base]/Observation?_include=Observation:patient // returns the same list as [base]/Observation, nothing affiliated with a patient

Patient/id = 6f7f5ae1-1ef5-e8e7-e578-5d2396c542ee

FHIR Server Observation
"subject": {
"reference": "urn:uuid:6f7f5ae1-1ef5-e8e7-e578-5d2396c542ee"
}

GET [base]/Observation?subject=6f7f5ae1-1ef5-e8e7-e578-5d2396c542ee // returns nothing
GET [base]/Observation?subject=urn:uuid:6f7f5ae1-1ef5-e8e7-e578-5d2396c542ee // returns nothing
GET [base]/Observation?subject:reference=urn:uuid:6f7f5ae1-1ef5-e8e7-e578-5d2396c542ee // Modifier 'reference is not supported'

None of these compartment searches work either, specified in this document https://learn.microsoft.com/en-us/azure/healthcare-apis/fhir-faq

GET Patient//*
GET Patient//Observation
GET Patient//Observation?code=8302-2

The only thing that seems to work are basic searches for Patient/id, Encounter/id, Observation/id, Patient?identifier=, Patient?family= etc....

Azure Health Data Services
Azure Health Data Services
An Azure offering that provides a suite of purpose-built technologies for protected health information in the cloud.
161 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Navtej Singh Saini 4,226 Reputation points Microsoft Employee
    2020-12-09T04:02:57.057+00:00

    @Ken Miller

    We have a response from our Product team and here is their answer and suggestion:

    Things that aren't supported:
    • Resource type modifiers, e.g. /Observation?subject:Patient=23 (https://github.com/microsoft/fhir-server/issues/48)
    Things that are recently supported:
    • _include has only recently been rolled out, these queries should work
    Reference resolution in Batch Bundles:

    Assuming you are using data generated by Synthia, by default it generates a "Transaction" Bundle with "urn:uuid:" style inter-bundle references.
    The managed service does not (yet) support Transaction bundles, and Batch Bundles do not support inter-bundle reference resolution.
    What this means is that if you're simply changing the Bundle type from Transaction to Batch, then after the batch has processed, the references will be broken and none of the listed searches will work.

    An example of how to upload Synthia bundles correctly as Batches to the managed service is here: https://github.com/hansenms/FhirLoader.

    If the references are fixed, I think most searches below would resolve correctly.

    Hope this helps. Please try this and let us know if you have a follow up.

    Thanks
    Navtej S


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.