Check
Eligibility Check
Inside Rx manages multiple programs, each with their own set of eligibility rules. The rule sets are very complex, and vary from program to program, and NDC to NDC. This endpoint is designed to provide a highly accurate eligibility verdict earlier in the patient’s flow, before adjudication of the claim at the pharmacy counter. An X-API-KEY is used with the endpoint to automatically configure validations for the provisioned account.
Check
This endpoint is used to validate if the medication is cleared for the patient with a high degree of accuracy at the time of the request. While minimum fields are required, additional data helps to improve the accuracy of the request.
HTTP Request
POST https://services.insiderx.com/eligibility/v1/check HTTP/1.1
Content-Type: application/json
x-api-key: zW7PKpzy6X7UHlI4NymTG8QmYhSlFwVd44xapRCtHTTP POST Params
The following params are sent as JSON in the request body. Dot notation is used to represent nested objects. Square bracket notation represents items that are nested within an array.
| param | Description |
|---|---|
memberId | string Member Id of the patient to check eligibility against. Typically the same as the card number. |
group | string Benefit group number of the patient to validate eligibility against. |
firstName | string Patient’s first name. |
middleName | string (optional) Patient’s middle name. |
lastName | string Patient’s last name. |
gender | string Gender of patient. Either unknown (default), male, or female |
dob | string Date of birth. Uses YYYY-MM-DD format. Example - ‘1983-03-31’ represents March 31, 1983. |
email | string (optional) Email of patient. |
phone | string (optional) 10 digit phone number of patient. Example - ‘5125458080’ |
address.line1 | string (optional) First line of patient’s street address. Example: ‘123 Main Street’ |
address.line2 | string (optional) Apartment/unit number or continuation of patient’s street address. Example: ‘Apt #1104’ |
address.city | string (optional) City of patient’s address. |
address.state | string (optional) Two letter state abbreviation of patient’s address. Example - ‘TX’ represents Texas. |
address.zip | string Five digit zip code of patient’s address. |
address.zipExtension | string (optional) Four digit zip extension of patient’s address. |
prescriber.type | string (optional) Either npi, state, or dea. Required if prescriber.id is provided. See prescriber types. |
prescriber.id | string (optional) ID of the prescriber. Format is dependent on the type. See prescriber types |
medication.ndc | string 11 digit NDC11 number of the drug to check eligibility against. |
medication.quantity | float Quantity of the drug to check eligibility against. |
medication.daysSupply | integer (optional) Days supply of the drug to check eligibility against. Defaults to 30. |
Response Types
| Code | Description |
|---|---|
| 200 | Successfully processed eligibility check. |
| 400 | Incorrect or missing required parameters. |
| 403 | Lack of permissions to check eligibility. |
| 404 | Member ID, Group Number, or Patient not found. |
| 500 | Internal server error, something went wrong. |
Response Attributes
The following attributes are returned as an object within the response body. Dot notation is used to represent nested objects. Square bracket notation represents items that are nested within an array.
| Attribute | Description |
|---|---|
id | string Internal ID used for tracking purposes. |
eligible | boolean Indicates if the patient passed eligibility check. |
code | string (optional) Error code to identity the failure reason. See Error Codes. |
message | string (optional) Error description. See Error Codes. |
statusCode | integer (optional) HTTP status code in case of failure. |
errorCode | string (optional) Error Code for validation failures. See Error Codes. |
Example CURL Request
curl https://services.insiderx.com/eligibility/v1/check \
-H "Content-Type: application/json" \
-H "x-api-key: zW7PKpzy6X7UHlI4NymTG8QmYhSlFwVd44xapRCt" \
-d memberId="AB12345678" \
-d group="SAVE11" \
-d firstName="John" \
-d lastName="Doe" \
-d gender="male" \
-d dob="1983-03-31" \
-d address[zip]="78660" \
-d medication[ndc]="1234567901" \
-d medication[quantity]=30.0Where x-api-key is the private key provided when provisioning an account. The example key above is for demonstration purposes.
Example JSON Response
{
"id": "d54c54ad-40be-4305-8a34-0ab44710b90d",
"eligible": true
}Example JSON Response for Ineligible Request Data
{
"id": "d54c54ad-40be-4305-8a34-0ab44710b90d",
"eligible": false,
"code": "MEMBER_COVERED_BY_FED_INS",
"message": "Member covered by federal insurance program."
}Example JSON Response for Invalid Request Data
{
"id": "d54c54ad-40be-4305-8a34-0ab44710b90d",
"code": "INVALID_CARD_NUMBER",
"message": "The card number provided is invalid.",
"statusCode": 400
}Example JSON Response for Missing Request Data
{
"id": "d54c54ad-40be-4305-8a34-0ab44710b90d",
"code": "INCORRECT_OR_MISSING_PARAMS",
"message": "Incorrect or missing required parameters.",
"statusCode": 400,
"errorCode": "MEMBER_ID_INCORRECT_OR_MISSING"
}Prescriber Types
Below describes the different prescriber types and the formats expected for each.
| Type | Format |
|---|---|
npi | 10 digit number, for example 1386659639. |
state | Varies state to state. |
dea | F91234567 or F91234567-001AB if its a supervised individual. |
Eligibility Check Error Codes
The following error codes are shown with either ineligible or failed eligibility requests.
| Code | Message | HTTP Status Code | Reason | Description |
|---|---|---|---|---|
MEMBER_LIMIT_REACHED_FOR_CARD_NO | Member limit reached for the provided card number. | 200 | Ineligible Request | Ineligible due to member limit reached for the provided card number. |
MEMBER_COVERED_BY_FED_INS | Member covered by federal insurance program. | 200 | Ineligible Request | Ineligible due to provided member is covered by federal insurance program. |
MEMBER_AGE_MORE_THAN_64 | Member age is >64 years. | 200 | Ineligible Request | Ineligible due to provided member age is more than 64 years. |
STATE_EXCLUDED_FROM_COVERAGE | State excluded from coverage. | 200 | Ineligible Request | Ineligible due to state not being included in coverage. |
COVERAGE_EXPIRED_FOR_MEMBER | Member coverage expired on <end_date> | 200 | Ineligible Request | Ineligible due to expired coverage. |
COVERAGE_NOT_STARTED_FOR_MEMBER | Member coverage won’t start until <start_date> | 200 | Ineligible Request | Ineligible due to no active coverage. |
INVALID_DATE_OF_SERVICE | Invalid date of service. | 400 | Invalid Request | Date of service is in the future or before date of birth. |
INVALID_DATE_OF_BIRTH | Provided date of birth is invalid. | 400 | Invalid Request | Date of birth is in the future. |
INVALID_CARD_NUMBER | The card number provided is invalid. | 400 | Invalid Request | Card is invalid. Either format is wrong or referrer configured for this account is not valid. |
INVALID_CARD_FORMAT | The card number provided is an invalid format. | 400 | Invalid Request | Provided card number has invalid length. |
MISSING_PRESCRIBER_ID | Prescriber ID is missing in the request. | 400 | Invalid Request | Missing Prescriber ID when it is required |
PRESCRIBER_NOT_FOUND_OR_INVALID | Prescriber is not valid or not found in our system. | 400 | Invalid Request | Invalid prescriber in our system (e.g. license expired or not found). |
INCORRECT_OR_MISSING_PARAMS | Incorrect or missing required parameters. | 400 | Invalid Request | Incorrect or missing required parameters. |
GROUP_INVALID | Group invalid. Resubmit under <group_number> | 404 | Invalid Request | Provided group and configured referrer mismatch. |
GROUP_NOT_FOUND | Provided group not found. | 404 | Invalid Request | Group not found at all. |
MEMBER_NOT_FOUND | Provided member not found. | 404 | Invalid Request | Can’t find member or member coverage. |
Validation Error Codes
| Error Code | Description |
|---|---|
MEMBER_ID_INCORRECT_OR_MISSING | Required HTTP POST parameter memberId is either missing or invalid. |
GROUP_INCORRECT_OR_MISSING | Required HTTP POST parameter group is either missing or invalid. |
FIRST_NAME_INCORRECT_OR_MISSING | Required HTTP POST parameter firstName is either missing or invalid. |
LAST_NAME_INCORRECT_OR_MISSING | Required HTTP POST parameter lastName is either missing or invalid. |
GENDER_INCORRECT_OR_MISSING | Required HTTP POST parameter gender is either missing or invalid. |
DOB_INCORRECT_OR_MISSING | Required HTTP POST parameter dob is either missing or invalid. |
EMAIL_INCORRECT_OR_MISSING | HTTP POST parameter email is invalid. |
PHONE_INCORRECT_OR_MISSING | HTTP POST parameter phone is either missing or invalid. |
ADDRESS_INCORRECT_OR_MISSING | HTTP POST parameter address is invalid. |
ADDRESS_STATE_INCORRECT_OR_MISSING | HTTP POST parameter address.state is invalid. |
ADDRESS_ZIP_INCORRECT_OR_MISSING | Required HTTP POST parameter address.zip is either missing or invalid. |
ADDRESS_ZIP_EXT_INCORRECT_OR_MISSING | HTTP POST parameter address.zipExtension is invalid. |
PRESCRIBER_INCORRECT_OR_MISSING | HTTP POST parameter prescriber is invalid. |
PRESCRIBER_TYPE_INCORRECT_OR_MISSING | HTTP POST parameter prescriber.type is invalid. |
MEDICATION_INCORRECT_OR_MISSING | Required HTTP POST parameter medication is either missing or invalid. |
MEDICATION_NDC_INCORRECT_OR_MISSING | Required HTTP POST parameter medication.ndc is either missing or invalid. |
QUANTITY_INCORRECT_OR_MISSING | Required HTTP POST parameter medication.quantity is either missing or invalid. |
DAYS_SUPPLY_INCORRECT_OR_MISSING | Required HTTP POST parameter medication.daysSupply is either missing or invalid. |