User Tools

Site Tools


sharp_revenue_testing_guide

This is an old revision of the document!


Sharp Revenue Tools API Guide

Product ID’s

  • Eligibility = 1
  • Demographics = 2
  • InsuranceDiscovery = 3
  • MbiFinder = 5

Selected API List

There are many API endpoints on the server to choose from and use. While the Swagger provides information on how to use the API’s, we encourage you to contact our developers with questions.

There are many API’s used for patient searching within the system. This utilizes the patient management feature of Revenue Tools. If the system you're integrating with is an EMR-type system that manages patient information, much of the patient-specific API’s may not be relevant to you.

General Response Information

The root object returned by many APIs contains a property called ClaimRevResultId, which serves as the primary key for Revenue Tools. This ID is used in APIs for checking statuses or retrieving specific benefits.

Run Sharp Revenue

To run Revenue Tools with the mentioned products, use this API:

POST: `/api/SharpRevenue/v1/RunSharpRevenue`

Request

{
  "accountNumber": "string",
  "practiceName": "string",
  "requestingSoftware": "string",
  "clientId": "string",
  "createDate": "2023-11-03T20:07:06.534Z",
  "uniqueTransactionNumber": "string",
  "originatingSystemId": "string",
  "serviceBeginDate": "2023-11-03T20:07:06.534Z",
  "serviceEndDate": "2023-11-03T20:07:06.534Z",
  "npi": "string",
  "pinCode": "string",
  "practiceState": "string",
  "subscriberId": "string",
  "patientFirstName": "string",
  "patientLastName": "string",
  "patientGender": "string",
  "patientSsn": "string",
  "patientState": "string",
  "payers": [
    {
      "isRevenueToolsPayerId": true,
      "payerNumber": "string",
      "payerName": "string",
      "subscriberNumber": "string",
      "removeGuarantor": true,
      "serviceTypeCodeAllowedList": "string"
    }
  ],
  "patientAddress1": "string",
  "patientAddress2": "string",
  "patientCity": "string",
  "patientZip": "string",
  "patientEmployer": "string",
  "patientEmployerState": "string",
  "patientDob": "2023-11-03T20:07:06.534Z",
  "patientEmailAddress": "string",
  "subscriberFirstName": "string",
  "subscriberLastName": "string",
  "subscriberDob": "2023-11-03T20:07:06.534Z",
  "serviceTypeCodes": ["string"],
  "productsToRun": [0],
  "includeCredit": true,
  "preAuthorizations": [
    {
      "eligibilityId": "string",
      "diagnoses": [
        {
          "code": "string",
          "procedures": [
            {
              "code": "string",
              "type": "string"
            }
          ]
        }
      ]
    }
  ]
}

Much of the first part of the request contains housekeeping properties:

  • AccountNumber - Automatically set if left blank.
  • RequestingSoftware - Enter any value you'd like.
  • Client ID - Can be left blank; it is a legacy property.
  • UniqueTransactionNumber - This should be unique to your system. The system will create one if left blank.
  • ProductsToRun - An array of all the products you'd like to run for this patient.

Note: The PreAuthorization product is still in development, may not function currently, and could change in the future.

Response

See Swagger for response details.

Check Sharp Revenue Status

This API returns the Sharp Revenue object if you need the results again.

POST: /api/SharpRevenue/v1/CheckTransactionStatus

Request

{
  "accountNumber": "string",
  "uniqueTransactionNumber": "string"
}

Response

Same as RunSharpRevenue.

How To Get Test Information Back

Demographics/Self Pay Analyzer Products

The demographics part of the service will typically return the info that was passed to it. For example, if the caller requests data on John Smith of San Pablo CA with a date-of-birth of 1/23/1974, that is exactly what the service will return. However, the exact behavior will depend on the person’s last name:

  • Last name starts with “B” – the SSN will be returned as an arbitrary test value.
  • Last name starts with “C” – the date of birth will be returned as an arbitrary test value, and arbitrary red flags and warnings will be returned.
  • Last name starts with “D” – the state will be returned as “KY”.
  • Last name starts with “E” – an error will be returned.
  • Last name starts with “F” – the name, address, SSN, and DOB will be returned as arbitrary values, yielding a low confidence result.
  • Otherwise – the values from the request are returned without modification.

Note that arbitrary landline and cell phone numbers will be added to all non-error demographic responses.

The behavior of the credit (“self pay”) part of the service is based on the first name:

  • First name starts with “A” – acceptable credit is returned, along with employment info.¹
  • First name starts with “B” – poor credit is returned, along with a past-due trade account.
  • First name starts with “C” – various credit info is returned, including employment info, two trade accounts (one installment and one revolving), a collection account, and a public record.
  • If the first name starts with a different letter, the second letter of the first name will be used as above if it is an “A,” “B,” or “C.” For example, a person named “Daniel” would have acceptable credit and employment info, but a person named “Doris” would have no credit record returned. This allows the credit mock service to be used without conflicting with the eligibility mock service described below.
  • Otherwise – no credit information is returned.

¹ Note that available employment information is usually very sparse. The employment data returned by the mock service is modeled on actual data returned by our vendors, and not all fields will be populated.

Eligibility/Insurance Discovery Products

The behavior of the service is largely dependent on the name of the subscriber / guarantor:²

  • Subscriber first name starts with “H” – return Active coverage if subscriber id is present, otherwise return an AAA 72 validation (indicating a missing subscriber id).
  • Subscriber first name starts with “I” – return Not Found response with an AAA 42 validation (indicating service temporarily unable to respond); a different AAA validation code can be sent if the first name contains a hyphen followed by the code (for example, a first name of “I-41” will cause a AAA 41 to be returned).
  • Subscriber first name starts with “J” – return Active coverage with subscriber id of “908080808RW”.
  • Subscriber first name starts with “K” and last name is equal to payor name – return Active coverage with subscriber id of “99999999”.
  • Subscriber first name starts with “K” and last name is not equal to payor name – return Not Found.
  • Subscriber first name starts with “L” and last name is equal to payor name – return Inactive coverage.
  • Subscriber first name starts with “L” and last name is not equal to payor name – return Not Found.
  • Subscriber first name starts with “M” – return Active coverage with a full address for the payor.
  • Subscriber first name starts with “N” and a member id not ending with ‘T’ is sent – return a corrected Medicare member id which substitutes a ‘T’ for the last letter.
  • Subscriber first name starts with “N” and a member id ending with ‘T’ is sent – return Active Medicare coverage.
  • Subscriber first name starts with “O” – return Unspecified coverage.
  • Subscriber first name starts with “P” – return Active coverage, but with an arbitrary first & last name and arbitrary DOB – the resulting record is thus low confidence.
  • Subscriber first name starts with “Q” – return Active commercial coverage with deductible info.
  • Otherwise – return Not Found.

² Note: The behavior described above depends on the subscriber/guarantor’s name matching specific conditions.

sharp_revenue_testing_guide.1735929074.txt.gz · Last modified: 2025/01/03 18:31 by brad.sharp

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki