Overview

pVerify has two RESTful API end points to give Same or Similar HCPCS(L code) Status information,
This workflow is:
1) Get Token via Token call,
2) Call SameOrSimilarInquiry and pass the token along with demographic information.
3) Call GetSameOrSimilarResponse/{requestId} later to get the results and pass the token.

Note** : Same Token can be used in subsequent inquiries.

*Note: Json Viewer URL

Credentials
To use these calls, you will need to set up an account and be given a user/ password. Please contact the pVerify team for this information.

 

Access Token

This is the first call that should be done, and it creates an access token to consume the API. The response has the expiration in seconds. pVerify recommends a best practice of only refreshing the token when it’s expired, and not before every call.
 

Token Authorization Request

HEADER
MethodPOST
URLhttps://api.pverify.com/Token
Content-Typeapplication/x-www-form-urlencoded
URL ParamsNone
BODY
Data Params“username=” + username + “&password=” + password + “&grant_type=password”

 
The /Token response includes the following fields:

Token Authorization Response

FieldTypeDescription
access_token{string}Authorization token unique to you which is used to verify your authorization for subsequent calls.
token_type{string}this is the token type which will be included before the access token in your subsequent method calls
expires_in{int}This is the amount of time that your token is valid for (in seconds)

 

Run Same or Similar (L codes) Inquiry

 

URL/API/SameOrSimilarInquiry/
https://api.pverify.com/API/SameOrSimilarInquiry
MethodPOST
HeadersContent-Type = application/json
Authorization = Bearer Token (BearerToken value)
Client-User-Name = username provided by pVerify
URL ParamsNONE
Data Params

(Fields in Red are required)


{

"memberId": “123456”,
"patientFirstName": “First Name”,
"patientLastName": “Last Name”,
"patientDOB": “Date of birth”,
"patientStateCode": “StateCode”,
"hcpcsCodes": “L codes”,


"dosStart": “DOS start date”,
"dosEnd": “DOS end Date”,
"requestSource": “API”,
"location": “location Name”
}
Example Headers / BodyPOST /API/SameOrSimilarInquiry HTTP/1.1
Host: api.pverify.com
Content-Type: application/json
Client-User-Name:
Authorization: Bearer
{

"memberId": “123456”,
"patientFirstName": “First Name”,
"patientLastName": “Last Name”,
"patientDOB": “Date of birth”,
"patientStateCode": “StateCode”,
"hcpcsCodes": “L codes”,
"dosStart": “DOS start date”,
"dosEnd": “DOS end Date”,
"requestSource": “API”,
"location": “location Name”
}
Successful ResponseExample:
Code: 200
{
"RequestId": 46,
"IsDataError": false,
"ErrorMessage": null,
"Claims": null,
"Message": null,
"APIResponseCode": 3,
“Status”:”Pending”,
"APIResponseMessage": "Inquiry Received, Please wait for 2 hours to process and get the Results"
}
Error ResponseExample:
Code: 200 OK
Content: {
"apiResponseCode": 4,
"apiResponseMessage": "Invalid HCPCS Codes.HCPCs Code should start with alphabet L followed by 4 digits.Ex: L1234"
}
• If there are any data validation Errors

 

Response JSON Processing Steps

Step 1. Check the value of the APIResponseCode property.
If APIResponseCode is 3 (Pending) then the request is pending and extract Request ID.
Step 2.Save the data.
*Note: Same or Similar API always returns API response code is 3 (Pending)
 

Get Same or Similar Response Using Unique Request ID

This call is used to get the transaction result later using a unique request id.
*Note: We purge this data after 90 days.
 

URL /API/GetSameOrSimilarResponse/{requestId}
Note ** : requestId –Unique Request Id value
Example ** : /API/GetSameOrSimilarResponse/125
https://api.pverify.com/API/GetSameOrSimilarResponse/125
MethodGET
HeadersAuthorization = Bearer access_token
Client-User-Name = username provided by pVerify
Content-Type = application/json
URL ParamsNONE
Data ParamsNONE
Example Header / BodyGET /API/GetSameOrSimilarResponse/23 HTTP/1.1
Host:api.pverify.com
Content-Type: application/json
Authorization: Bearer
Client-User-Name:
Successful Response{
"RequestId": 46,
"IsDataError": false,
"ErrorMessage": null,
"Claims": [
{
"HCPCS": " L0650 ",
"DOSStart": "08/24/2017",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "JEFFREY OZINITSKY DPM PC",
"Phone": "732-722-7900",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
"CreatedOn": "0001-01-01T00:00:00"
},
{
"HCPCS": " L0650 ",
"DOSStart": "09/22/2017",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "ABOUT YOU HOME HEALTH AND MEDICAL SUPPLI",
"Phone": "772-252-5697",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
"CreatedOn": "0001-01-01T00:00:00"
},
{
"HCPCS": " L1833 LTRTKX ",
"DOSStart": "10/03/2017",
"DOSEnd": null,
"Unit": "2",
"SupplierName": "MED SONIC LLC",
"Phone": "954-491-8601",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
"CreatedOn": "0001-01-01T00:00:00"
},
{
"HCPCS": " L2397 KXRT ",
"DOSStart": "09/24/2015",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "INTEGRATED HEALTH AND PERFORMANCE SYSTEM",
"Phone": "561-826-3808",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
"CreatedOn": "0001-01-01T00:00:00"
},
{
"HCPCS": " L2397 LTRTKX ",
"DOSStart": "10/03/2017",
"DOSEnd": null,
"Unit": "2",
"SupplierName": "MED SONIC LLC",
"Phone": "954-491-8601",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
"CreatedOn": "0001-01-01T00:00:00"
},
{
"HCPCS": " L2397 RTLTKX ",
"DOSStart": "08/21/2015",
"DOSEnd": null,
"Unit": "2",
"SupplierName": "ALLCARE MED EQUIP INC",
"Phone": "973-748-8770",
"Status": "Allowed",
"Message": null,
},
{
"HCPCS": " L3960 ",
"DOSStart": "04/06/2016",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "SENIOR MEDICAL SUPPLIES, INC",
"Phone": "888-536-7517",
"Status": "Allowed",
"Message": null,
},
{
"HCPCS": " L1971 LTRTKX ",
"DOSStart": "01/21/2014",
"DOSEnd": null,
"Unit": "2",
"SupplierName": "AM-MED DIABETIC SUPPLIES, INC.",
"Phone": "561-900-3541",
"Status": "Allowed",
"Message": null,
},
{
"HCPCS": " L3916 KXLT ",
"DOSStart": "02/16/2018",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "RECOVERY DME INC",
"Phone": "800-214-8618",
"Status": "Allowed",
"Message": null,
},
{
"Id": 0,
"HCPCS": " L3916 KXRT ",
"DOSStart": "02/16/2018",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "RECOVERY DME INC",
"Phone": "800-214-8618",
"Status": "Allowed",
"Message": null,
},
{
"HCPCS": " L3916 LT ",
"DOSStart": "08/24/2017",
"DOSEnd": null,
"Unit": "1",
"SupplierName": "JEFFREY OZINITSKY DPM PC",
"Phone": "732-722-7900",
"Status": "Allowed",
"Message": null,
"SameOrSimilarRequestId": 46,
}
],
"Message": null,
"Status": "Processed",
"APIResponseCode": 0,
"APIResponseMessage": "Processed"

Error ResponseNone
Notes1. Allways check for apiResponseCode property value before processing.
2. if APIResponseCode is 0(Zero) then look for ErrorMessage and Claims to process response.

A successful GetSameOrSimilarResponse will have the same format as the SameOrSimilarInquiry response.
 

API Response Codes

APIResponseCodeDescription
0Processed
1Rejected
2NoFunds (Insufficient Account Balance)
3Pending (Pending need to get response later)
4InvalidRequest (Required Data Missing)
5InvalidFormat (data fields / data format is wrong)
6LocationError (Location is not configured)

 

Field Descriptions

Same or Similar Request Details

Property NameData TypeUsageDescription
MemberIdStringRequiredPatient's Member ID(HICN/MBI)
PatientFirstNameStringRequiredPatient first name
PatientLastNameStringRequiredPatient last name
PatientDOBStringRequiredPatient DOB in mm/dd/yyyy format
PatientStateCodeStringRequiredPatient State Code. Ex: AL
HCPCSCodesStringRequiredHCPCS -L codes only. Multiple codes can be sent by separating with a comma (,)
DOSStartStringOptionalDate of servivce start date in mm/dd/yyyy format. Default value is 5 years before date to current date.
DOSEndStringOptionalDate of service end date in mm/dd/yyyy format. Default value is current date (Today's date).
LocationStringOptionalLocation name and the default is client user's location or client's location
RequestSourceStringOptionalThe request source (ie: API)

 

Same or Similar Response Details

Property NameData TypeDescription
RequestIdLongSame or Similar Request ID
apiResponseCodeIntAPI transaction response code .Please see apiResponsecodes section
apiResponseMessageStringAPI transaction response message
IsDataErrorBooleanTrue - when invalid patient details (Invalid HICN/MBI or Invalid DOB)
False- for all valid requests.
ClaimsList < Claim >Contains Claim Status info
MessageStringContains Messages other than error messages(No claims found)
StatusStringStatus of transaction
Claim.HCPCSStringContains HCPCS -L code
Claim.StatusStringContains Claim&Code status –Allowed ,Denied or No Claims. For Invalid data request it is Error.
Claim.DOSStartStringClaim&Code Date of service start date.
It is empty for Error or for No Claims
Claim.DOSEndStringClaim&Code Date of service end date. It is empty for Jurisdiction A and D inquiries. It is empty for Error or for No Claims.
Claim.UnitStringNo of units
Claim.SupplierNameStringContians supplier Name for all allowed or denied requests.Empty for No claims & Error
Claim.PhoneStringContians supplier phone number for all allowed or denied.Empty for No Claims & Error
Claim MessageStringContains Notes or Error Message
Ex: No claims found. Or Invalid HICN or DOB

 

Object Types in Response

public class ResponseBase
    {
        public int APIResponseCode { get; set; }
        public string APIResponseMessage { get; set; }
    }
public  class SameOrSimilarResponse :ResponseBase
    {
        public long RequestId { get; set; }
        public bool IsDataError { get; set; }
        public string ErrorMessage { get; set; }
        public List<Claim> Claims { get; set; }
        public string Message { get; set; }
        public string Status { get; set; }
    }
public class Claim
   {
       public string DOSEnd { get; set; }
       public string DOSStart { get; set; }
       public string HCPCS { get; set; }
       public string Message { get; set; }
       public string Phone { get; set; }
       public string Status { get; set; }
       public string SupplierName { get; set; }
       public string Unit { get; set; }
   }

 

Click a endpoint in the left menu (for example “Token”) to get an example