Profiles & Operations > Patient Search
Operation: Patient Search
| Query Search Parameters | Description | Usage Note | |
|---|---|---|---|
| Patient Identifier | This parameter specifies an identifier associated with the patient who is the subject of this Immunization record. This use of patient.identifier follows the FHIR Chaining Parameters search methodology | Ontario Health Number parameter: patient.identifier. Example: patient.identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn | 1234567890 |
| patient.id | This parameter specificies the unique patient id associated with their data. | example (_id) _id=1234 | |
| Primary Care Practioner Request | The Practioner can be requested | example: _include:=Patient:general-practioner | |
| Performer of Immunization Request | The immunization performer can be requested | example:_include:Immunization:performer | |
| Reverse Include Condition | Reverse include Condition resource | example:_revinclude:Condition:patient | |
| Reverse Include Appointment Resource | Reverse invclude Appointment Resource | example:_revinclude:Appointment:patient |
Scope
This transaction involves a request by an HIC or other agency requiring immunization information for records pertaining to a patient's immunization records using the patient identifier and patient id parameters.
This operation can have additional resources requested as outlined in the table above.
The default format is JSON (default). XML is not supported in this release.
format=[mime-type]: _format=application/fhir+json
Interaction Diagram
Actor: COVaxON Immunization Requestor
Role: Requests Immunization Data from COVaxON
Actor: COVaxON Immunization Responder
Role: Returns a Bundle containing Immunization documents including and optional resources outlined by request.
Specification
COVaxON Search Request
The Search operation will return a Bundle resource containing the COVaxON Immunization records that match the specified search criteria. The COVaxON Search Request supports both GET and POST.
GET [base]/Bundle?([parameters]{&_format=[mime-type]})
POST [base]/Bundle/_search{?&_format=[mime-type]}
COVaxON Search Response
A COVaxON Search Response may contain either:
- Bundle containing Patient Immunization records matching the search criteria
- OperationOutcome resource
Example Search Queries
Search by Patient Identifier and include General Practitioner
GET [base]/Patient?identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890&_include=Patient:general-practitioner&_format=application/fhir+json
Search by Patient Identifier and include General Practioner, Immunization Performer, and reverse include Immunization, Condition, and Appointment
GET [base]/Patient?identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890&_include=Patient:general-practitioner&_revinclude=Immunization:patient&_include=Immunization:performer&_revinclude=Condition:patient&_revinclude=Appointment:patient&_format=application/fhir+json
*Search by Patient id and include General Practioner, Immunization Performer, and reverse include Immunization, Condition, and Appointment
GET [base]/Patient?_id=1234&_include=Patient:general-practitioner&_revinclude=Immunization:patient&_include=Immunization:performer&_revinclude=Condition:patient&_revinclude=Appointment:patient&_format=application/fhir+json
Search Patient using POST
POST [base]/Patient/_search?_format=application/fhir+json Content-Type: application/x-www-form-urlencoded identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-patient-hcn|1234567890&_include=Patient:general-practitioner&_revinclude=Immunization:patient&_include=Immunization:performer&_revinclude=Condition:patient&_revinclude=Appointment:patient
Expected Behaviour
COVaxON HTTP Response Code
| Case | Scenario | HTTP Status Code | OpOutcome Code | OpOutcome Severity | OperationOutcome.issue.details.text & OperationOutcome.text | ||
|---|---|---|---|---|---|---|---|
| 1 | Success | HTTP 200 | |||||
| 2 | No matches | HTTP 200 | not-found | information | Not found: Resource matching search parameters | ||
| 3 | Consent block | HTTP 200 | suppressed | warning | Information was not returned due to business rules, consent or privacy rules, or access permission constraints. This information may be accessible through alternate processes | ||
| 4 | Missing required parameter | HTTP 400 | required | error | Missing required search parameter: patient identifier or immunization id | ||
| 5 | Failed authentication | HTTP 401 | security | error | Authorization is required for the interaction that was attempted | ||
| 6 | Invalid patient identifier parameter | HTTP 400 | value | error | Invalid search parameter: patient identifier | ||
| 7 | Invalid patient identifier system parameter | HTTP 400 | value | error | Invalid search parameter: patient identifier system | ||
| 8 | Invalid request | HTTP 400 | invalid | error | Invalid Request | ||
| 9 | Rate limit | HTTP 429 | throttled | error | Too many requests | ||
| 10 | Unhandled exception | HTTP 500 | exception | fatal | Internal error |
Gateway HTTP Response Codes
| Case | Scenario | HTTP Status Code | Notes |
|---|---|---|---|
| 1 | Authorization success | application dependant | Successfully authorized. Copy the code returned from the application. |
| 2 | Invalid token format | HTTP 400 | Bad request |
| 3 | Token format incorrection | HTTP 401 | Unauthorized |
| 4 | Unauthorized | HTTP 403 | Forbidden |
| 5 | Any other | 405 | Method not allowed |
| 6 | Unhandled exception | HTTP 500 | Server internal error |