Profiles & Operations Index > Operation: Retrieve MI Report
Operation: Retrieve MI Report
Retrieve MI Report
Retrieve MI order is simple RESTful interaction based on FHIR Read oeperation. This represents an HTTP GET specifying the id of a single DiagnosticReport instance from the FHIR Client Application to retrieve that DiagnosticReport from miCDR.
Scope
This interaction involves a request by an miCDR DiagnosticReport Consumer for a single DiagnosticReport resource matching the specified resource id. The request is received by the miCDR FHIR server which returns a single matching DiagnosticReport.
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 reports from this list, a read operation using a DiagnosticReport id can be used to get the MI report of interest.
Interaction Diagram
Actor: miCDR DiagnosticReport Consumer
Role: Requests a single DiagnosticReport resource from the miCDR FHIR server based on the resouce id.
Actor: miCDR FHIR server
Role: Returns a single DiagnosticReport resource instance that matches the resource id specified by the miCDR DiagnosticReport Consumer.
Specification
Read
GET [base]/DiagnosticReport/{id}
Note: if an MI report comes from "Fetch DocumentReference" results, the entire endpoint (i.e. [base]/DiagnosticReport/{id}
) will be provided.
Read Response
If the query is valid and a DiagnosticReport is found, miCDR FHIR server will return a single matching DiagnosticReport resource.
For details of the DiagnosticReport profile, please refer to the DiagnosticReport profile page.
Example
GET [base]/DiagnosticReport/report1
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 report matching the specified id is found. Returns the matching report | |||||
200 OK | The MI report 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 report 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 |