visit the hl7 website
Ontario Medical Imaging HL7® FHIR® Implementation Guide v1.0.0-Ballot
fhir-logo
  • Index
  • Home
    • Home
    • Introduction
    • Relationship to Other Specifications
    • Scope
    • Glossary
  • Business Context
    • Business Context
    • Business Model
    • Business Data
    • Use Cases
    • Business Rules
  • Technical Context
    • Technical Context
    • Implementer Responsibility
    • Conformance Rules
    • Connectivity Summary
  • FHIR Artifacts
    • FHIR Artifacts
    • Interactions
    • Profiles
    • Extensions
    • Terminology
    • System URIs
    • Examples
    • Capability Statement
    • Response Handling
    • Downloads
  • Change Log
    • Change Log
    • Known Issues & Future Developments
    • Revision History
    1. Index
    2. FHIR Artifacts
    3. Interactions
    4. Interaction: Search MI Report

For a full list of available versions, see the Directory of published versions

4.1.5. Interaction: Search MI Report

4.1.5.1. Search MI Report

The Search MI Report interaction issues a parameterized query that results in a searchset Bundle that contains DiagnosticReport resources related to a patient.

The mandatory parameter for this query:

  • Patient identifier

The optional parameters for this query:

  • patient gender
  • patient date of birth
  • DiagnosticReport issued (date)
  • DiagnosticReport status
  • Procedure code of the MI order associated with the report
  • Categories of the MI order associted with the report such as modality, specialty, body part, laterality
  • Identifier such as accession number, placer order number, fill order number
  • maximum number of records to return
  • other resources to be included in the result set (_include)
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 report. 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 report. 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 report.
issued date Optional paramater The date range relates to the dates when reports were issued
status token Optional parameter The status of the imaging report
code Coding Optional paramater The code relates to DiagnosticReport code (procedure code). This might be a local, provincial or SNOMED CT procedure code for DiagnosticReport code.
based-on:ServiceRequest.code token Optional paramater The procedure code of the MI order associated with the MI report
basedOn:ServiceRequest.category Coding Optional paramater These are the category values of the MI order associated with the MI report (e.g. procedure code, modality, specialty, body part, laterality)
basedOn:ServiceRquest.code-category composite Optional paramater This parameter supports the query by procedure code and category of the order associate with the report
identifier Identifier Optional paramater This is the business identifier of the report, such as accession number, placer order number, fill 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 (DiagnosticReport.identifier), procedure datetime (DiagnosticReport.effectiveDateTime), authored date (DiagnosticReport.issued)
_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 order referenced from the report, use "_include=DiagnosticReport:basedOn"

4.1.5.2. Scope

This interaction involves a request by an miCDR Consumer for a set of DiagnosticReport resources matching the specified search criteria. The request is received by the miCDR FHIR server which returns a Bundle containing the matching DiagnosticReports.

For example, a physician who has access to miCDR is seeing a new patient and wants to see a list of MI reports available for that patient. A physician uses the patient information held in the system to query miCDR FHIR server for any DiagnosticReport resources that exist for that patient. A physician can also request searching for reports with specific procedure codes (DiagnosticReport.code) and/or categories, e.g.modalities, specialties, body parts, etc. (DiagnosticReport.category). The server returns a Bundle with matching MI reports. The PoS system is responsible for listing the available MI reports for the user to review.

4.1.5.3. Interaction Diagram

search-DiagnosticReport-diagram

Actor: miCDR Consumer

Role: Requests a set of miCDR DiagnosticReport resources from the miCDR FHIR server based on specified search criteria.

Actor: miCDR FHIR server

Role: Returns a Bundle containing DiagnosticReport 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.

4.1.5.4. Specification

4.1.5.4.1. Search

The miCDR FHIR server supports both GET and POST; we prefer the use of POST to avoid putting PHI in request URLs.

GET [base]/DiagnosticReport?{parameters}

POST [base]/DiagnosticReport/_search

For POST request, the parameters SHALL be provided in the form of FHIR Parameters resource in the HTTP body of the request.

4.1.5.4.2. Search Response

If the query is valid and at least one DiagnosticReport is found, miCDR FHIR server will return a searchset bundle containing matching DiagnosticReport resource(s).

4.1.5.4.3. ERD Diagram

MI-report-search

For details of a DiagnosticReport profile, please refer to the DiagnosticReport profile page.

Examples

The following search parameters and search parameter combinations are supported:

  1. Search for all DiagnosticReport resources for a patient using the patient search parameter

GET [base]/DiagnosticReport?patient={Type/}[id]

1.1 Example of search by patient's Ontario HCN

GET [base]/DiagnosticReport?patient.identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890

Search by MRN only:

GET [base]/DiagnosticReport?patient.identifier=http://ehealthontario.ca/fhir/NamingSystem/id-cambridge-memorial-mrn|23456789

Search by MRN and Accession Number:

GET [base]/DiagnosticReport?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]/DiagnosticReport?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 DiagnosticReport resources using the combination of the patient, start and end date, and DiagnosticReport code:

GET [base]/DiagnosticReport?patient.identifier=[system]|1234567890&issued=ge2023-01-01T00:00:00-04:00&issued=le2023-05-01T00:00:00-04:00&code=http://snomed.info/sct%7C418618007

1.4 Example of search by patient identifier, start date, local procedure code

GET [base]/DiagnosticReport?patient.identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890&started=gt2024-01-01&basedOn:ServiceRequest.code=http://snomed.info|12345

1.5 Example of search by patient identifier, start date, local procedure code (SNOMED code: 12345) and category (DICOM Mammography)

GET [base]/DiagnosticReport?patient.identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890&started=gt2024-01-01&basedOn:ServiceRequest.code-category=http://snomed.info|12345$http://dicom.nema.org/resources/ontology/DCM|MG

4.1.5.5. Expected Behavior

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
Version: v1.0.0-ballot FHIR Version: R4.0.1

Powered by SIMPLIFIER.NET

HL7® and FHIR® are the registered trademarks of Health Level Seven International