The Opala Solution
The Opala Patient Access API Opala FHIR Documentation Resources and Interactions API Searches

SMART App Launch Framework SMART on FHIR: Authorization Flows SMART on FHIR: Access Tokens SMART on FHIR: Scopes SMART on FHIR: Endpoints
Working with the FHIR Server: Searching for Data

CARIN for Blue Button® Da Vinci Payer Data Exchange (PDex) Mapping Adjudicated Claims and Encounter Information

The Patient Access API

© 2021-2023 Opala. All Rights Reserved.

Version 1.0.1.0


Contact Opala's
Documentation Team

Searching for Data

FHIR Search Extensions

In addition to implementing most of the FHIR Search specification, Opala implements the following extensions:

_source

An additional search parameter called _source can be used to search for resources based on information about the system or request that created the resource. See Storing Source Information.

%now

Date searches can be performed relative to "now" using the %now parameter value. For example, to search for Procedures with a date later than now, you can search for /Procedure?date=ge%now.

Note the % would need to be URL-escaped so the actual URL will be /Procedure?date=ge%25now.

The way this works is by substituting %now with the current date and time in the standard FHIR format yyyy-MM-ddTHH:mm:ss before submitting it to the FHIR Storage module.

%today

Similarly, date searches can be performed relative to "today" using the %today parameter value. %today works the same as %now except that it searches as a date type as opposed to a dateTime type.

Unsupported Search Parameters

Opala does not currently support the _containedType FHIR Search parameter, or the _contained=both directive. See the Index Contained topic in Smile CDR's documentation for information on indexing contained resources.

Limitations

Opala searches may not correctly process :[type] modifiers if the resource indicated by the modified search parameter is a contained resource. For example, consider the following search.

http://localhost:8000/Observation?subject:Patient.organization.name=HealthOrg

Suppose Observation/A has a reference to Device/B, which in turn has a reference to Organization/C, and Organization/C has the name "HealthOrg".

In this case, Observation/A will not be included in the search result, because the subject search parameter is restricted to Patient resources. However, if Observation/D has a reference to #contained-device, which also refers to Organization/C, then Observation/D will be included in the search result, because we cannot apply the type restriction to contained resources.

Top