Profiles & Operations > Operation: Retrieve Document
Operation: Retrieve Document
This operation enables acCDR document consumer to retrieve a document after document search operation. Alternatively, acCDR document consumer may also use this operation to retrieve a document if the document identifier is known. In this case, the only parameter supported
Scope
This transaction involves a request by an acCDR Document Consumer for a specified acCDR document Bundle. This may be a request for the current version of the document Bundle (Read) or a specific past version of that same document Bundle (vRead). In both cases, the desired Bundle is identified by the target server's record ID for that document Bundle. The request is received by the acCDR FHIR server which returns the requested record.
For example, a physician who has access to acCDR is seeing a new patient and wants to see a list of discharge summaries available for that patient. The physician has performed the search and receives a list of discharge summary documents that match the search criteria. The physician clicks on the desired record to retrieve the discharge summary document. The PoS system is responsibile for retrieving the desired record for the physician to review;
Interaction Diagram
Actor: acCDR Document Consumer
Role: Requests a specific document Bundle from the acCDR FHIR server by the document id.
Actor: acCDR FHIR server
Role: Returns a FHIR document Bundle containing the composition and all of its related data.
Specification
This operation is based on FHIR R4 read and vread operation.
Document Retrieve Request
The Read operation will return a Bundle resource containing the document Composition and linked resources.
GET [base]/Bundle/[id]
Document Retrieve Response
Document Version-Specific Retrieve Request
The vRead request will return a Bundle resource containing a specific past version of a document Composition and linked resources, corresponding to the specified version ID (vid):
GET [base]/Bundle/[id]/_history/[vid]{?_format=[mime-type]}
Document Version-Specific Retrieve Response
Example Read Query
Retrieve a document Bundle With Specified ID
[base]/Bundle/doc-bundle-example-001
Example Read Response
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 | A document matching the specified id is found. Returns the matching document | |||||
200 OK | The document 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 document 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 |