## 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
* Gender
* Date of Birth
* Start Date
**The optional parameters for the query:**
* Diagnostic Report Identifier
* Test Request Code
* Observation Code
* Observation Status
* Abnormal Flag
* End Date (this should default to either Observation Date or Last Updated Time in OLIS that the consumer has chosen for the Start Date)
### Ontario Laboratory FHIR® Resources
{{tree:ontariolaboratoriesi/olisfhirresources.png/~overview}}
### Specification
The FHIR OLIS Consumer Query specification is based on the HL7 STU3 Search operation.
**Diagnostic Report Search Request**
The Diagnostic Report 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 Diagnostic Report Search Examples sections_**
**Diagnostic Report Search Response**
* Diagnostic Report
* Procedure Request
* Observation
* Observation (Microbiology)
* Specimen
* Patient
* Practitioner (Ordering)
* Practitioner (Copied to)
* Practitioner (Attending)
* Practitioner (Admitting)
* Organization (Ordering Facility)
* Organization (Performing Laboratoty)
* Organization (Reporting Laboratory)
* Organization (Test Request Placer)
* Organization (Specimen Collector Center)
* Organization (Destination Laboratory)
* Organization (Identifier Assigner)
* Encounter
* Operation Outcome
* Bundle
### Extensions
* lab-ext-cc-list (Copied Practitioner)
* lab-ext-ordering-facility (Ordering Facility)
* lab-ext-scc (Specimen Collector Center)
* lab-ext-trq-placer (Test Request Placer)
* lab-ext-replace-all (Replace All)
* lab-ext-dest-lab (Destination Laboratory)
* en-qualifier (EN-Qaulifier)
* ext-id-health-card-version-code (Health Card Version Code)
* lab-ext-subtype (Data Subtype)
* observation-eventTiming (Event Timing)
* lab-ext-container-sample-num (Number of Sample Containers)
* lab-ext-note (Notes)
* lab-ext-obs-sort-key (Observation Sort Key)
* lab-ext-obs-sub-id (Observation Sub ID)
* lab-ext-record-block (Test Request Blocking Indicator)
* lab-ext-poc-test-id (Point-of-care Test Identifier)
* lab-ext-record-replace (Test Request Replace Amend)
* lab-ext-trq-sort-key (Test Request Sort Key)
### Supported Search Parameters
**GET DiagnosticReport (query by Patient ID)**
Patient identifier parameter: **patient.identifier**
Only Ontario health card number is allowed as an identifier parameter in the current release.
* Example: patient.identifier= [id-system-global-base]/ca-on-patient-hcn|12345678
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: result.interpretation=AB
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&patinet.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&patinet.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 |
---------------|-----------------------|
| Diagnostic Report | XML / JSON |
| Diagnostic Report with Contained Resources | XML / JSON |
| Procedure Request | XML / JSON |
| Observation | XML / JSON |
| Observation Microbiology | XML / JSON |
| Specimen | XML / JSON |
| Patient | XML / JSON |
| Practitioner (Ordering) | 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 Center and Test Request Placer Organization) | XML / JSON |
| Organization (Identifier Assigner) | XML / JSON |
| Encounter | XML / JSON |
| Operation Outcome | XML / JSON |