ABN Service API

The ABN Service tells you whether an Advance Beneficiary Notice of Noncoverage (ABN) is required for a Medicare patient, based on the account number, test codes, and diagnosis codes. It also returns the estimated cost Medicare is not expected to cover and, optionally, the ABN as a PDF. The full endpoint reference, with request/response schemas, is in the ABN Service API reference.

When you need an ABN

An ABN is required when a Medicare patient may have to pay for a test that Medicare is unlikely to cover, for example because the diagnosis codes don't support medical necessity. The patient must review and sign the ABN before the specimen is collected.

Orders submitted through the Order Submission API are checked for an ABN automatically. Use the ABN Service when you need to know before you submit the order, for example so the patient can sign the ABN before collection.

Check an order

Call POST /checkAbnByTestCodes with the account number, test codes, diagnosis codes, and patient name:

TerminalCode
curl -X POST https://abn.services.sandbox.aperture.labcorp.com/checkAbnByTestCodes \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "accountNumber": "12345678", "patientName": "DOE, JANE", "testCodes": ["005009", "008847", "004598"], "diagCodes": ["R53.83", "R79.89"], "includeABNContent": true, "includeDetails": true }'
  • Set includeABNContent to true to receive the ABN PDF, base64-encoded, in abnContents. No PDF is returned without it.
  • Set includeDetails to true to receive a per-test breakdown in abnTests.

Read the response

FieldMeaning
isABNRequiredtrue when an ABN is required for this combination of tests and diagnoses
estCostEstimated cost not covered by Medicare
abnContentsThe ABN PDF, base64-encoded, when includeABNContent was true
abnTests[].medNecCptsCPT codes whose diagnosis codes don't support medical necessity
abnTests[].freqCptsCPT codes flagged for Medicare frequency limits
abnTests[].ruoIndicatortrue when the test is research-use-only, which always requires an ABN
nonSpecificDiagnosisCodesDiagnosis codes too non-specific to support medical necessity
invalidDiagnosisCodesDiagnosis codes the service doesn't recognize
messagesInformational, warning, or error messages, each with code, text, type

Errors

A 200 means the evaluation succeeded. When it doesn't, the service returns 500 with outputType set to "FAILURE" and the reason in messages. Common messages:

CodeMeaningWhat to do
ERR0001Invalid account numberCheck the account number.
ERR0002The account number is not activeIn sandbox and certification, use the test account number assigned to you.
ERR0003Test code was not foundCheck the test code.
ERR0004Test code was found, but it is not orderableUse a different test code.

Other responses:

  • 401: the bearer token is missing or invalid.
  • 503: the service is unavailable during periodic database maintenance, which takes roughly 20 minutes. Retry after the number of seconds in the Retry-After header.

If a successful response has no PDF, check that includeABNContent is true.

Last modified on