For a full list of available versions, see the Directory of published versions
The Search MI Order interaction issues a parameterized query that results in a searchset Bundle that contains ServiceRequest resource and other resources related to a patient.
The mandatory parameter for this query:
The optional parameters for this query:
| Search Parameter | Type | Documentation | Usage Notes | |
|---|---|---|---|---|
| patient.identifier | Identifier | Mandatory paramater This parameter specifies an identifier associated with the patient who is the subject of this imaging order. This use of patient.identifier follows the FHIR Chaining Parameters search methodology. | HCN or MRN or ECID. MRN is preferred. System and value must be provided. | |
| patient.gender | token | Optional parameter This parameter specifies the gender of the patient associated to this imaging order. | Value may be "male", "female", "other", "unknown" | |
| patient.birthDate | date | Optional parameter This parameter specifies the date of birth of the patient associated to this imaging order. | ||
| occurrence | date | Optional paramater The date range relates to the dates when the imaging order was signed | ||
| status | token | Optional parameter The status of the imaging order | ||
| code | Coding | Optional paramater The code relates to local procedure code for the imaging order | ||
| identifier | Identifier | Optional paramater This is the business identifier of the imaging order such as accession number or placer order number | ||
| _sort | string | This optional parameter can be used to specify sorting criteria. It can be used to sort in either ascending or descending order. The optional "-" prefix indicates descending order. | Relevant sorting parameters for viewer use include accession number (ServiceRequest.identifier), authored date (ServiceRequest.authoredOn) | |
| _count | integer | Optional paramater This is the maximum number of records to return. | ||
| _include | string | Optional paramater This specifies the type of referenced resources to be included in the bundle. The value must meet the FHIR syntax defined for _include Example: to include the encounter referenced from the imaging order, use "_include=ServiceRequest:encounter" |
This interaction involves a request by miCDR Consumer for a set of ServiceRequest resources matching the specified search criteria. The request is received by the miCDR FHIR server which returns a Bundle containing the matching ServiceRequest resources.
For example, a clinician who has access to miCDR is seeing a new patient and wants to see a list of MI orders available for that patient. A physician uses the patient information held in the system to query miCDR FHIR server for any ServiceRequest resources that exist for that patient using search criteria he/she has about the patient. The server returns a Bundle with matching MI orders. The miCDR Consumer is responsible for listing the available MI orders for the clinician to review.
Actor: miCDR Consumer
Role: Requests a set of miCDR ServiceRequest resources from the miCDR FHIR server based on specified search criteria.
Actor: miCDR FHIR server
Role: Returns a Bundle containing ServiceRequest instances (as well as reference resources if requested by use of _include and _revinclude parameters) that match the search criteria specified by the miCDR Consumer.
The miCDR FHIR server supports both GET and POST; we prefer the use of POST to avoid putting PHI in request URLs.
GET [base]/ServiceRequest?{parameters}
POST [base]/ServiceRequest/_search
For POST request, the parameters SHALL be provided in the form of name value pairs in the HTTP body of the request. e.g. patient.identifier=[system]|[value]&occurrence=gt2026-04-01
If the query is valid and at least one ServiceRequest is found, miCDR FHIR server will return a searchset bundle containing matching ServiceRequest resource(s).
For details of a ServiceRequest profile, please refer to the ServiceRequest profile page.
Examples
The following search parameters and search parameter combinations are supported:
GET [base]/ServiceRequest?patient={Type/}[id]
1.1 Example of search by patient's Ontario HCN
GET [base]/ServiceRequest?patient.identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890
Search by MRN only:
GET [base]/ServiceRequest?patient.identifier=http://ehealthontario.ca/fhir/NamingSystem/id-cambridge-memorial-mrn|23456789
Search by MRN and Accession Number:
GET [base]/ServiceRequest?patient.identifier=http://ehealthontario.ca/fhir/NamingSystem/id-cambridge-memorial-mrn|23456789&identifier=urn:oid:2.16.840.1.113883.3.239.23.18.10|1111-111-111
Response Example: link
1.2 Example of search by multiple patient MRNs
GET [base]/ServiceRequest?patient.identifier=http://ehealthontario.ca/fhir/NamingSystem/id-the-ottawa-hospital-mrn|23456789,http://ehealthontario.ca/fhir/NamingSystem/id-mackenzie-health-hospital-mrn|23456783,http://ehealthontario.ca/fhir/NamingSystem/id-providence-care-mrn|11233,http://ehealthontario.ca/fhir/NamingSystem/id-windsor-regional-hospital-mrn|23456786
1.3 Search for imaging orders using the combination of the patient, authored date, and local procedure code:
GET [base]/ServiceRequest?patient.identifier=[system]|1234567890&authoredOn=ge2023-01-01T00:00:00-04:00&issued=le2023-05-01T00:00:00-04:00&code=system|value
See Response Handling page for additional response handling behaviour.
| Legend |
|---|
| code = OperationOutcome.issue.code |
| severity = OperationOutcome.issue.severity |
| details.coding.code=OperationOutcome.issue.details.coding.code |
| details.coding.display=OperationOutcome.issue.details.coding.display |
| details.text = OperationOutcome.issue.details.coding.text |
| HTTP Status | Scenario Description | severity | code | details.coding.code | details.coding.display | details.text |
|---|---|---|---|---|---|---|
| 200 OK | At least one imaging report matching the specified search criteria is found | |||||
| 200 OK | At least one imaging report matching the specified search criteria is found, but there is a consent block that prevents disclosure of patient data. Returns an OperationOutcome resource indicating that there is a consent block on the patient's record that prevents disclosure of patient data. | warning | suppressed | |||
| 200 OK | No imaging report matching the specified search criteria are found. | warning | not-found | |||
| 400 Bad Request | Missing security token | error | required | Missing required security token: PIN | ||
| 400 Bad Request | Request is malformed (e.g. incorrect header value, patient identifier is missing system or value, etc) | error | -- | -- | -- | -- |
| 406 Not Acceptable | The Accept header requested a format that the server does not support | error | not-supported | |||
| 429 Too Many Requests | Rate Limit | error | throttled | Too Many Requests | ||
| 500 Internal Server Error | API validates the request but cannot return a valid response due to internal issues. | fatal | exception | Internal Error | ||
| 503 Service Unavailable | Indicates that the services has been temporarily taken down (on purpose) | |||||
| 504 Gateway Timeout | Downstream system(s) did not return timely response error timeout | error | timeout |