Profiles & Operations > Diagnostic Report Search

Diagnostic Report Search

DiagnosticReport search is simple RESTful interactions. It supports retrieving a lab results from OLIS for a consumer by patient ID.

Scope

This transaction involves a request by the following parameters:

The mandatory parameters for the query:

  • Patient Identifier
  • Date of Birth
  • Start Date

The optional parameters for the query:

  • Patient Gender
  • Diagnostic Report Identifier
  • Test Request Code
  • Observation Code
  • Observation Status
  • Interpretation (filter by abnormal results)
  • End Date (this should default to either Observation Date or Last Updated Time in OLIS that the consumer has chosen for the Start Date)

Interaction Diagrams

The following diagram illustrates the high level flow for lab request to OLIS backend.

AuthFlow

Specification

The FHIR OLIS Consumer Query specification is based on the HL7 STU3 Search operation.



DiagnosticReport Search Request

The DiagnosticReport Search Request is an HTTP GET operation with multiple query parameters specified in Supported Search Parameters section below. The syntax of the request is

GET [base]/ DiagnosticReport?patient.identifier=[system]|[value]&patient.gender=[value]&patient.birthdate=[date]&issued=ge[date]

Note: For the more details please reference to Supported Search Parameters and DiagnosticReport Search Examples sections



DiagnosticReport Search Response

The relationship between the resources used in DiagnosticReport Search response is below:

The resource cannot be rendered.


Extensions

Supported Search Parameters


GET DiagnosticReport (query by Patient ID)

Patient identifier parameter: patient.identifier

The patient identifier can be an Ontario health card number, or a medical record number (MRN).

  • Example of Ontario HCN: patient.identifier=[id-system-global-base]/ca-on-patient-hcn|12345678

  • Example of MRN: patient.identifier= http://ehealthontario.ca/fhir/NamingSystem/lab/patient-id-lab-license-4004|1234

  • Example of Patient self collection assigned MRN: http://ehealthontario.ca/fhir/NamingSystem/lab/patient-id-patient-self-collection-id-1234|1233443

  • Note that MRN system URI is a local identifier that contains the ID of the assigning authority (e.g. lab, hospital, specimen collection centre). For the list of possible MRN system values, please refer to Identifiers page. The patient identifiers are listed in the "Local Identifiers" table marked by "OLIS Patient Identifier generated by xxx".

Patient Gender parameter: patient.gender

  • Example: patient.gender=male

Patient Date of Birth parameter: patient.birthdate

  • Example: patient.birthdate=1929-11-29

Dates parameter: issued

  • Example 1 : issued=ge2016-01-02

  • Example 2: issued=ge2015-02-25&issued=le2016-02-27

Dates parameter: specimen.collected

  • Example : specimen.collected=ge2016-01-02

Test Request code: result.based-on:ProcedureRequest.code

  • Example: result.based-on:ProcedureRequest.code=[code-system-local-base] /lab/test-request-codes|TR11663-2

Interpretation parameter:result.interpretation

  • Example 1: result.interpretation=AB
  • Example 2: result.intepretation=CR

Note: This parameter allows the requestor to further restrict the search criteria to retrieve all abnormal results (AB) or critically abnormal only (CR).

Observation status: result.status

  • Example: result.status=final

Observation code: result.code

  • Example: result.code=http://loinc.org|2028-9

Diagnostic report identifier: identifier

  • Example: identifier=[id-system-local-base]/lab/report-id-lab-license-4004|543321

Size limit (for response paging):_count

  • Example: _count=10

If there is no _count in the search request, the server will return all matching records in one response.


Server will generate and return an additional parameter search-id as per Server Conformance section above.

  • Example: search-id=017-11-16T20:37:03.0000000X128987

Format: JSON (default) or XML

  • Example: format=[mime-type]:_format=application/fhir+json or _format=application/fhir+xml

Example

Diagnostic Report Search Example


GET[base]/DiagnosticReport?patient.identifier=[id-system-global-base]/ca-on-patient-hcn|1008624486&patient.gender=male&patient.birthdate=1929-11-29&issued=ge2016-01-02&_count=10


In the returned header:[base]/DiagnosticReport?patient.identifier=[id-system-global-base]/ca-on-patient-hcn|1008624486& patient.gender=male&patient.birthdate=1929-11-29&issued=ge2016-01-02 &_count=10&search-id=017-11-16T20:37:03.0000000X128987

Examples of a search response can be found below

Resource Example
DiagnosticReport XML / JSON
DiagnosticReport with Contained Resources XML / JSON
ProcedureRequest XML / JSON
Observation XML / JSON
Observation(MicrobiologyChild) XML / JSON
Specimen XML / JSON
Patient XML / JSON
Practitioner(Ordering, Performing and Reporting Practitioner) XML / JSON
Practitioner(Copied to, Attending and Admitting Practitioner) XML / JSON
Organization(Performing and Reporting Laboratory, Ordering Facility) XML / JSON
Organization(Destination Laboratory, Specimen Collector, Test Request Placer Organization and Requesting Organization) XML / JSON
Organization(Identifier Assigner) XML / JSON
Encounter XML / JSON
OperationOutcome XML / JSON