Profiles & Operations > Patient Search
Patient Enterprise Client Identifier (ECID); which is the unique ID of a patient in the PCR
Patient Definitional Identifier; which can be one of either an Ontario HCN as defined under the Ministry of Health’s (MOH) Registered Persons DataBase (RPDB), a Corporate ID for a corporate model hospital, or an MRN for a standard model hospital.
Resource | Transaction | HTTP Operation | URL | Request Body Resource | Response Body Resource |
---|---|---|---|---|---|
Patient | Search | GET | [base]/Patient?identifier=name|value{&_format=[mime-type]} |
N/A | Patient |
Resource | Transaction | HTTP Operation | URL | Request Body Resource | Response Body Resource | Notes |
---|---|---|---|---|---|---|
Patient | Search | POST | [base]/Patient/_search{?&_format=[mime-type]} |
string of name value pairidentifier=[system]|[value] |
Patient | The Content-type header field value should be "application/x-www-form-urlencoded" |
Interaction | Content-Type | Body | Location | Versioning | HTTP Status Codes | Comments |
---|---|---|---|---|---|---|
search | R | R: Patient | N/A | N/A | 200,400,404,422,500 |
Case | Scenario Description | Response | Response Example |
---|---|---|---|
1 | PCR finds in its information source, a patient that matches the id specified by the FHIR Client Application | HTTP 200 (OK) is returned as the HTTP status code. A bundle is returned that contains the Patient | Search Result Bundle |
2 | PCR cannot find a patient that meets the search parameter specified by the FHIR Client Application | HTTP 200 (OK) is returned as the HTTP status code. A Bundle Resource is returned with zero search results. The resource includes an OperationOutcome Resource with a warning indicating no patient found. The client should confirm the request criteria is valid, and if so, contact eHealth Ontario for troubleshooting. | Empty Bundle Response |
3 | PCR detects an error in the request and could not fulfill the request | HTTP 400(Bad Request) is returned as the HTTP status code. The body contains an OperationOutcome with error details, where applicable. | |
4 | The requested resource is not supported. | HTTP 404 (Not Found) is returned as the HTTP status code. The body contains an OperationOutcome with error details, where applicable. | |
5 | Patient Search POST operation contains incorrect header value for "Content-Type" | HTTP 400 (Bad Request) is returned as HTTP status code. An OperationOutcome Resource, when applicable, is returned indicating the "Content-Type" header must be set to "application/x-www-form-urlencoded". The client must fix the request and try again. | |
6 | PCR has validated the request, but cannot return valid response (e.g. minimum of Patient ID + Name + Gender cannot be satisfied). | HTTP 422 (Unprocessable Entity) is returned as the HTTP status code. An OperationOutcome Resource, when applicable, is returned indicating an issue. Client should contact eHealth Ontario for troubleshooting. | |
7 | PCR validates the request but cannot return valid response due to internal issue. | HTTP 500 (Internal Server Error) is returned as the HTTP status code. An OperationOutcome Resource is returned indicating an issue, where applicable. Client should contact eHealth Ontario for trouble shooting. |
GET [base]/Patient?identifier=[system]|[value]
Or alternativelyPOST [base]/Patient/_search
where the requst body will be a name value pair identifier=[system]|[value]
Patient Search ResponseThe response from an Patient Search operation is a single patient (i.e. Patient Search Response) record (i.e. Search Response Bundle). If PCR does not found any patient based on the provided ID in Search Request, it will return an empty search result with no error, but may include an OperationOutcome with further advice.The following resource profiles are used for Patient Search response:
Patient Search Response profile (pcr-patient-response)
PCR Operation Outcome Profile (pcr-operationoutcome)
GET [base]/Patient?identifier=http://ehealthontario.ca/fhir/NamingSystem/id-registration-and-claims-branch-def-source|1234567890
Or POST basedPOST [base]/Patient/_search
with HTTP body identifier=http://ehealthontario.ca/fhir/NamingSystem/id-registration-and-claims-branch-def-source|1234567890
Examples of a search response can be found here. GET [base]/Patient?identifier=[system]|[value]
Or alteratively:POST [base]/Patient/_search
with HTTP body identifier=[system]|[value]
There is only one search parameter allowed in this operation, which is "identifier" The identifier value can be either an ECID or definitional identifier. The identifier must contain the proper system URI value and the identifier value itself.Example 1 (ECID):Client invokes a search request by an ECIDECID = 12345GET [base]/Patient?identifier=http://ehealthontario.ca/fhir/NamingSystem/id-pcr-eid|12345
orPOST [base]/Patient/_search
with HTTP body
identifier=http://ehealthontario.ca/fhir/NamingSystem/id-pcr-eid|12345
If the identifier is a Definitional ID (e.g. Ontario Health Card Number definitional ID), the corresponding URI is:http://ehealthontario.ca/fhir/NamingSystem/id-registration-and-claims-branch-def-source
And the request may look like:GET [base]/Patient?identifier=http://ehealthontario.ca/fhir/NamingSystem/id-registration-and-claims-branch-def-source|1234567890
OrPOST [base]/Patient/_search
with HTTP body
identifier=http://ehealthontario.ca/fhir/NamingSystem/id-registration-and-claims-branch-def-source|1234567890
For the complete list of Definitional ID URIs, please contact the the Registries Product Team at oh-ds_registries@ontariohealth.ca.
Powered by SIMPLIFIER.NET