Standard Attachment Transaction StatusCode Responses
Our Attachment APIs support a series of standard responses, called statusCode, to show various results from submitted attachment transactions. You can use the Attachments Status sandbox environment to exercise attachment API calls and view these results in a safe environment. Doing so helps you get a clear view of how the attachments system works, so you fully understand how to submit documents associated with any medical claim.
NOTE
See Handling Errors in Attachment Submissions Transactions for more information about error remediation.
Our sandbox examples provide the alerts you about what can go wrong. Our goal is to enable the sender to avoid issues and solve any issues.
When you use the sandbox to run example for Attachments transactions, you can attach any sample documents you want for testing.
Rejections of Attachment Transactions by Payers
Many EDI 276 transaction responses reporting a failed attachment reception will also show a rejectionInformation attribute. This field carries information that is added by the payer to explain why the attachment was rejected. This data does not originate with Optum and is entirely optional for the payer. In other words, the payer may reject a transaction for any reasons and not offer any explanation at all. It is best for submitters of any attachment transaction to err on the side of caution, ensure that all documents conform to file format standards, and avoid sending overly large graphic files.
StatusCode Responses
StatusCode and StatusMessage Fields
The statusCode and statusMessage fields are a code pair that simply describe the current non-failure state of the attachment transaction. The message TRANSACTION_RECEIVED (statusCode 01) shows that the attachment's been received by the clearinghouse. The following sections show the other messages included and relevant examples.
```json
[
{
"statusCode": "01",
"statusMessage": "TRANSACTION_RECEIVED",
"statusTimeStamp": "2021-08-19T18:27Z",
"documents": [
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789"
}
]
}
]
```
Transaction Accepted by Clearinghouse
```json
[
{
"statusCode": "02",
"statusMessage": "ACCEPTED_BY_CHC",
"statusTimeStamp": "2021-05-13 10:33",
"documents": [
{
"documentName": "rightarm.jpg",
"controlNumber": "51827660-012714"
}
]
}
]
```
Successful Reception of Attachment by Payer
```json
[
{
"statusCode": "04",
"statusMessage": "DELIVERED_TO_PAYER",
"statusTimeStamp": "2021-08-19T18:43Z",
"documents": [
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789"
}
]
}
]
```
Partial Acceptance of Multiple Attachments
NOTE
The TESTEP10 Test Payer ID is designed for the "Partially Accepted" use case. Use at least two attachments in the same sandbox API request to receive an accurate response for this use case.
This response occurs when the payer accepts one or more files while rejecting others in a transaction with multiple files. The rejectionInformation field may or may not be part of the response in real-life transactions, and its data contents are up to the payer to provide. You can convert the file to the correct format and re-send it in a separate transaction. Ensure that all documents conform to file format standards and also avoid sending files that exceed more than a few megabytes each. For example, modern cell phones can produce photos that are in excess of 6 to 8 megabytes in size; take measures to reduce their size before sending. Some diagnostics files, when sent in PDF format, may also exceed payer file size limits and need to be broken up into several smaller files.
```json
[
{
"statusCode": "10",
"statusMessage": "PARTIALLY_ACCEPTED",
"statusTimeStamp": "2021-08-20T13:25Z",
"documents": [
{
"documentName": "rightarm1.jpg",
"controlNumber": "123456789",
"statusCode": "52",
"statusMessage": "REJECTED_BY_PAYER",
"statusTimeStamp": "2021-08-20T13:25Z",
},
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789",
"statusCode": "06",
"statusMessage": "ACCEPTED_BY_PAYER",
"statusTimeStamp": "2021-08-20T13:25Z"
}
]
}
]
```
Rejection of attachment transaction by clearinghouse
```json
"status": [
{
"statusCode": "51",
"statusMessage": "REJECTED_BY_CHC",
"statusTimeStamp": "2021-08-19T18:34Z",
"documents": [
{
"documentName": "rightarm.doc",
"controlNumber": "123456789"
}
]
}
]
}
```
```json
"rejectionInformation": "File type not supported"
```
Rejection of Attachment by Payer
```json
"status": [
{
"statusCode": "52",
"statusMessage": "REJECTED_BY_PAYER",
"statusTimeStamp": "2021-08-20T13:17Z",
"documents": [
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789"
},
{
"documentName": "rightarm1.jpg",
"controlNumber": "123456789"
}
]
}
]
```
```json
"rejectionInformation": "Attachment type not supported"
```
Rejection of Attachment for Request Validation Error
```json
{
"statusCode": "53",
"statusMessage": "Missing required fields transactionReceivedStartDate,transactionReceivedEndDate."
}
```
Payer Accepted with Errors
"status": [
{
"statusCode": "19",
"statusMessage": "ACCEPTED_BY_PAYER_WITH_ERRORS",
"statusTimeStamp": "2021-08-19T19:27Z",
"documents": [
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789"
}
]
}
]
Too Many Records Example 19
"status": [
{
"statusCode": "54",
"statusMessage": "There are more than 100 records found. Please refine your search criteria"
}
]
Unable to Process System Error Example 20
json
"status": [
{
"statusCode": "56",
"statusMessage": "Unable to process the request at this time, please try again later"
}
]
Understanding Transaction Details
[
{
"traceId": "<actual trace id of the transaction from DB>",
"transactionDetails": {
"submitterId": "TESTSBMTR11111",
"memberId": "0000000001",
"patientFirstName": "doeone",
"patientLastName": "johnone",
"payerId": "TESTEP05",
"providerId": "1760854442",
"providerFirstName": null,
"providerLastName": "happy doctors group",
"claimStartDate": "2021-08-14",
"claimEndDate": "2021-08-15",
"payerName": "VA HEALTH SYSTEM",
"transactionSubmittedDate":"2021-08-16T05:21Z",
"rejectionInformation": null
},
"status": [
{
"statusCode": "05",
"statusMessage": "ACKNOWLEDGED_BY_PAYER",
"statusTimeStamp": "2021-08-20T13:22Z",
"documents": [
{
"documentName": "rightarm1.jpg",
"controlNumber": "123456789"
},
{
"documentName": "rightarm.jpg",
"controlNumber": "123456789"
}
]
}
]
}
]
Details include the core information for the transaction submitter. It includes information about the medical provider, the patient, the payer ID and their entity name, and claim dating information. It is followed by the summary status report for the submission. In this case, it is a successful submission. Because the summary content differs in every response type, each subsection below contains only the summary data, because the transactionDetails object will be the same across the board.
NOTE
Select Attachments features are not yet supported by the sandbox standard responses. For more information, see Unsupported use cases.
Unsupported use cases
Metadata Search Error messages
The Attachment Status API /attachments/status/v1/metadata supports a powerful metadata search feature. It supports use of common-sense search criteria to find transaction records based on a patient's or provider's name, or by many other possible data points. You can filter using multiple search criteria. A typical metadata search error message consists of: There are more than 100 records found. Please refine your search criteria. It indicates that your search is too broad. Use other search criteria to filter your replies for better accuracy.
NOTE
The Metadata Search use case is not supported by the
statusCodefunctionality, so you will not see this error demonstration in the sandbox. Future updates may support this feature.
Unable to Process Errors message
For occasional problems in API operation, such as temporary connection problems, you will receive an Unable to process the request at this time, please try again later message. It is a generic error message for Attachments submissions that simply did not go through. Check the handling errors in Attachment Submissions transactions topic for more information.
NOTE
The Unable to Process use case is not supported by the
statusCodefunctionality, so you will not see this error demonstration in the sandbox. Future updates may support this feature.
Updated 5 days ago