Profiles & Operations Index > Operation: Search Patient Summary

Operation: Search Patient Summary

The Search Patient Summary operation issues a parameterized query that results in a searchset Bundle that contains all Patient Summary Document Bundles that match the search parameters. This operation supports retrieval of a set of instances using the following search criteria:

Query Search Parameters Description Usage Note
patient.identifier (bundle.composition.patient.identifier) This parameter specifies an identifier associated with the patient who is the subject of this Patient Summary. This use of patient.identifier follows the FHIR Chaining Parameters search methodology. Generally this would be the patient's jurisdictional health number, but in some cases might be an alternative identifier such as MRN. Should include both system and value.
timestamp (bundle.timestamp) This parameter specifies when this Patient Summary was created. See FHIR http://hl7.org/fhir/R4/search.html#date for use of the date search type. Applied directly on bundle, does not require chaining.
composition.type (bundle.composition.type) This parameter specifies the type of document. This use of composition.type follows the FHIR Chaining Parameters search methodology. Will be fixed to 60591-5 for patient summary.
composition.status (bundle.composition.status) This parameter specifies the status of the Patient Summary document, e.g. "final" or "entered-in-error". This use of composition.status follows the FHIR Chaining Parameters search methodology. A status of "entered-in-error" indicates a Patient Summary that has been invalidated.
_lastupdated (bundle?_lastupdated) This parameter can be used to select resources based on the last time they were changed This is primarily intended to support the vread operation and searching for historical Patient Summaries.
_sort (_sort=[-]bundle.timestamp) This 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. This allows the sorting of search results based on the creation date of the Patient Summary
_count This parameter specifies how many search results should be returned in a single page.

Scope

This transaction involves a request by an Ontario Patient Summary Document Consumer for a set of Patient Summary documents matching the specified search criteria. The request is received by the Ontario Patient Summary Responder which returns a Bundle containing the matching Patient Summary Compositions.

For example, an Electronic Medical Record (EMR) user is seeing a new patient and wants to see a list of Patient Summaries available for that patient. The EMR uses the patient information held in the EMR to query the repository for any Patient Summary documents that exist for that patient. The repository returns a Bundle of any matching Patient Summaries which is then displayed to the EMR user as a list. The EMR or other PoS system is responsibile for listing the available patient summaries for the user to review; this is not an aspect of the query operation its

Interaction Diagram

Actor: Ontario Patient Summary Document Consumer

Role: Requests a set of Patient Summary documents from the Ontario Patient Summary Document Responder based on specified search criteria.

Actor: Ontario Patient Summary Document Responder

Role: Returns a Bundle containing Patient Summary documents that match the search criteria specified by the Ontario Patient Summary Document Consumer.

Specification

This specification is based on the FHIR R4 Search operation.

Patient Summary Search Request

The Search operation will return a Bundle resource containing the Patient Summary Compositions that match the specified search criteria. The Patient Summary Search Request supports both GET and POST; PS-ON prefers the use of POST to avoid putting PHI in request URLs.

GET [base]/Bundle?([parameters]{&_format=[mime-type]})

POST [base]/Bundle/_search{?&_format=[mime-type]}

Patient Summary Search Response

A Patient Summary Search Response may contain either:

  • Bundle containing Patient Summary Compositions matching the search criteria
  • OperationOutcome resource

Example Search Queries

Search by Patient Identifier

[base]/Bundle?composition.patient.identifier=https%3A%2F%2Ffhir.infoway-inforoute.ca%2FNamingSystem%2Fca-on-patient-hcn|1234567890

Search for Summaries for a Specified Patient Created in 2020 or Later

[base]Bundle?composition.patient.identifier=https%3A%2F%2Ffhir.infoway-inforoute.ca%2FNamingSystem%2Fca-on-patient-hcn|1234567890&timestamp=ge2020

Expected Behaviour

See

Command 'pagelink' could not render: Page not found.
page for a complete listing of response codes.

Case Scenario Description HTTP Status Code Response Payload
1 At least one Patient Summary matching the specified search criteria is found HTTP 200 OK. Returns a search result Bundle containing Patient Summary compositions that match the search criteria.
2 At least one Patient Summary matching the specified search criteria is found, but there is a consent block that prevents disclosure of patient data HTTP 200 OK. Returns an OperationOutcome resource indicating that there is a consent block on the patient's record that prevents disclosure of patient data.
3 No Patient Summaries matching the specified search criteria are found HTTP 200 OK. Returns an search result Bundle with zero search results. Also returns an OperationOutcome resource with a warning indicating no summaries were found.
4 The was an error in the search request and it could not be fulfilled HTTP 400 Bad Request. Returns an OperationOutcome resource indicating an issue.
5 POST operation contains incorrect header value for "Content-Type" - should be "application/fhir+json" HTTP 400 Bad Request. Returns an OperationOutcome resource indicating an issue.
6 Patient Summary API validates the request but cannot return a valid response due to internal issues. HTTP 500 Internal Server Error. Returns an OperationOutcome resource indicating an issue.