Search Parameters

Here we describe the key RESTful FHIR interactions for this profile: search and read operations. Responders that implement the full U.S. Core Implementation Guide specifications will have additional capabilities, but here we focus on those necessary for this pilot exchange.

All of the following search parameters and combinations of them SHALL be supported by the Responder. For further information, implementers may want to review these parts of the FHIR R4 specification:

  1. How to search by reference
  2. How to search by token
  3. How to search by date

For Observation

Responder SHALL support searching using the patient search parameter

Description

This search fetches a bundle of all Observation resources for the specified patient.

Syntax

GET [base]/Observation?patient=[reference]

Example

GET [base]/Observation?patient=1134281

Responder SHALL support searching using thepatient and category search parameters

Description

This search fetches a bundle of all Observation resources for the specified patient that have the specified category code.

Syntax

GET [base]/Observation?patient=[reference]&category={system|}[code]

Example

GET [base]/Observation?patient=1134281&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory

Responder SHALL support searching using the patient and category and date search parameters

Description

This search fetches a bundle of all Observation resources for the specified patient that have the specified category code and match the date comparators.

The Responder SHALL support these date comparators: gt, lt, ge, and le.

The Responder SHOULD also support a composite AND search on multiple date parameters. For example: date=[date]&date=[date]]&...

Syntax

GET [base]/Observation?patient=[reference]&category={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...

Example

GET [base]/Observation?patient=1134281&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&date=ge2021-01-04

For Patient

Responder SHALL support reading a Patient resource using the _id search parameter

Description

This search fetches a bundle of all Patient resources for the specified id.

Syntax

GET [base]/Patient[id]

Examples

GET [base]/Patient?_id=10327021

GET [base]/Patient/1032702

Responder SHALL support searching a patient by an identifier such as a MPI using the identifier search parameter:

Description

This search fetches a bundle of all Patient resources matching the identifier.

Syntax

GET [base]/Patient?identifier={system|}[code]

Example

GET [base]/Patient?identifier=http://hospital.smarthealthit.org|1032702