Profiles & Operations Index > Operation: Retrieve MI Order
Operation: Retrieve MI Order
Retrieve MI Order
Retrieve MI order is simple RESTful interaction based on FHIR Read oeperation. This represents an HTTP GET specifying the id of a single ServiceRequest instance from the FHIR Client Application to retrieve that ServiceRequest from miCDR.
Scope
This interaction involves a request by an miCDR ServiceRequest Consumer for a single ServiceRequest resource matching the specified resource id. The request is received by the miCDR FHIR server which returns a single matching ServiceRequest.
For example, a physician gets a list of all patient's MI documents using the Search DocumentReference operation first. If a physician needs to access one of the orders from this list, a read operation using a ServiceRequest id can be used to get the MI order of interest.
Interaction Diagram
Actor: miCDR ServiceRequest Consumer
Role: Requests a single ServiceRequest resource from the miCDR FHIR server based on the resouce id.
Actor: miCDR FHIR server
Role: Returns a single ServiceRequest resource instance that matches the resource id specified by the miCDR ServiceRequest Consumer.
Specification
Read
GET [base]/ServiceRequest/{id}
Note: if an MI order comes from "Fetch DocumentReference" results, the entire endpoint (i.e. [base]/ServiceRequest/{id}
) will be provided.
Read Response
If the query is valid and a ServiceRequest is found, miCDR FHIR server will return a single matching ServiceRequest resource.
For details of the ServiceRequest profile, please refer to the ServiceRequest profile page.
Example
GET [base]/ServiceRequest/order1
Response:
HTTP Response Code | FHIR Response Payload |
---|---|
200 | link |
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 | An MI order matching the specified id is found. Returns the matching order | |||||
200 OK | The MI order 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 | |||
400 Bad Request | Missing security token | error | required | Missing required security token: PIN | ||
401 Unauthorized | Failed authentication | error | security | Authorization is required for the interaction that was attempted | ||
404 Not Found | No MI order matching the specified identifier is found. Returns an OperationOutcome resource indicating an issue. | error | not-found | |||
406 Not Acceptable | The Accept header requested a format that the server does not support | error | not-supported | |||
422 Unprocessable Entity | FHIR validation errors such as invalid code, wrong date format, or violation of LOB defined business rules | Will vary depending on the error | Will vary depending on the error | OH-defined error code | OH-defined errror message | |
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 |