FHIR Artifacts > Operations
Summary of Operations
Operations | Resource | HTTP Verb |
---|---|---|
Operation #1 | e.g. Bundle |
e.g POST or GET |
Operation #2 | e.g. Bundle |
GET, POST |
Actors
Actor | Description | Application Example |
---|---|---|
e.g. Patient Summary Document Source |
Example description -- An Ontario Patient Summary Document Source is the producer and submitter of Patient Summary documents, conformant to this specification, and document metadata. |
e.g. EMR, HIS |
Actor #2 |
Description of actor #2 |
example of actor #2 |
Actor #n |
Description of actor #n |
example of actor #n |
Operation: [Name of the operation]
[Insert a brief description of the operation]
Name | Optionality | Type | Description | Usage Note | Example |
---|---|---|---|---|---|
patient.identifier | mandatory | token | This parameter specifies an identifier associated with the patient who is the subject of this e.g. medication document . |
Ontario health card number (HCN), Medical Record Number (MRN) or ECID (Ontario Enterprise Client ID ) are allowed as a Patient ID parameter. Please note that Health Number Version is not supported. | patient.identifier=[id-system-global-base/ca-on-patient-hcn|12345678 patient.identifier=http://ehealthontario.ca/fhir/ patient.identifier=http://ehealthontario.ca/fhir/ |
patient.gender | conditional | token | This parameter specifies the gender of the patient associated with the e.g. medication document . |
This parameter should contain the sex at birth as noted on the Ontario health card | patient.gender=female |
patient.birthdate | conditional | date | This parameter specifies the birth date of patient who is the subject of this e.g. medication document . |
This parameter should contain the Date of Birth of the patient as on the Ontario health card. Note: This parameter SHALL be provided when the patient identifier is HCN or MRN. It is not required for queries where the patient identifier is the ECID. |
patient.birthdate=1971-11-28 |
[date] |
optional | date | This parameter specifies drug administratio date. | If there is no lower limit in the search request, the server will use the default configuration value of 120 days back. Note: The following prefixes can be used for the date parameter: eg, gt, lt, ge and le. If no prefix is present, the prefix eq is assumed. For the full list of parameters prefixes and modifiers click here |
[date]=gt2018-02-24 [date]=ge2018-02-25&[date]=le2019-02-27 |
_sort | optional | string | Sort order by [date] parameter | If not indicated in the request, the default sort order is by [date] descending |
_sort=[date] (ascending) _sort=-[date] (descending) |
_count | optional | integer | Size limit for response paging | If there is no _count in the search request, the server will use the default configuration value of 50 records per page. |
_count=10 |
_format | optional | string | JSON (default) or XML | _format=application/fhir+xml |
Query Search Parameters | Description | Usage Note |
---|---|---|
Sample search parameter e.g. patient.identifier (bundle.composition.patient.identifier) |
Add description here e.g. 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. |
Provide any usage notes e.g. 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. |
Search Parameter #2 |
Description of the search parameters #2 |
Usage notes for search parameters #2 |
Search Parameter #n |
Description of the search parameters #n |
Usage notes for search parameters #n |
Scope
Use this section to describe the scope of the above mentioned operation. The section highlighted in yellow is left as a sample only
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
`If applicable add an interaction diagram for the operation and describe the actors. The text below in yellow is for reference only'
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
Use this section to describe and define the composition of the operation along with the syntax of the supported HTTP operations. Also describe the expected response for the queries, include example search queries and expected behaviour. The yellow highlighted text below is for reference only
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×tamp=ge2020
Expected Behaviour
Use this section to describe the expected scenarios and corresponding HTTP Status Codes returned. The table below in yellow is for reference only.
See
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. |