Introduction

Welcome to BPKTech’s API documentation.

Learn how BPKTech’s APIs enable modern RESTful connections into dental insurances companies without having to have prior knowledge of integrating with EDI, faxbacks, SFTP, etc. Once your credentials are set up, within minutes, you’ll be able to send eligibility and benefit queries to submit claims right within your own application. BPKTech’s APIs are built on top of Azure and ensures security for all data flowing through. Our APIs utilize HTTPS and encrypt all data traffic in transit and at rest

Authentication (OAuth2 )

OAuth2 flow is taken care by BPKTech Identityserver.

				
					In order to ping any of the BPKTech's APIs, you must get a JWT to pass in the header of every request. The following request shows how the OAuth2 flow works to use your CLIENT_ID  and  CLIENT_SECRET  to get a JWT.
				
			

To authorize, use this code and make sure to replace and with your keys:

Request

# With shell, you can just pass the correct header with each request

				
					curl -X POST https://bhcs-adminservice-dev.azurewebsites.net/connect/token \ 
-H 'content-type: application/json' \
-d '{
		"client_id":", 
		"client_secret":""
	}'
				
			

Response

(EXAMPLE RESPONSE) The above command returns JSON structured like this: 

				
					Access to BPKTech’s APIs requires receiving an access token through the OAuth2 flow. CLIENT_ID and CLIENT_SECRET are keys given by BPKTech’s. Note: the examples include brackets < > around the variables, DO NOT include the brackets in the actual request (the brackets are just meant to show that it is a variable).
				
			
				
					{
	"access_token": "",
	"scope": "feature:eligibility",
	"expires_in": 7200,
	"token_type": "Bearer"
}
				
			

Request Eligibility and Benefits (version: v1)

EligibilityStatusApi

Request

				
					1) /api/PatientData/GetPatientInsuranceEligibilityStatusData
parameters : patientId,ClinicId ,UserId
curl -X Get https://eligibilitybpk-api-dev.azurewebsites.net/api/PatientData/GetPatientInsuranceEligibilityStatusData
-H 'content-type: application/json' \
-d '{
		"patientId":"patid of a location",
		"ClinicId":"location id"
		"userid" :""
	}'
				
			

Response

Sample response

				
					"response": {
    "Patient_Insurance_Information": {
        "FirstName": "Doe",
        "LastName": "John",
        "ClinicId": 6,
        "PatientID": 144288,
        "InsuranceCompany": "Cigna",
        "CarrierID": 54,
        "PatientInsuranceID": "U6xxxxxx",
        "Gender": "Female",
        "DateofBirth": "12/03/2008",
        "Relationship": "Dependent",
        "Address": "xxxxxxxxxxx",
        "SubscriberName": "John Doe",
        "SubscriberDateofBirth": "1982-03-26T00:00:00",
        "PlanType": "DENTAL PPO",
        "PlanRenews": "Every Calendar Year",
        "InitialCoverageDate": "2018-01-08T00:00:00",
        "Currentcoverage": "01/01/2019 - Present",
        "OtherInsurance": "No",
        "Account": "2500691",
        "GroupNumber": "2500691",
        "GroupName": "LOCKHEED MARTIN-CORP NON REP ACTIVE OAP",
        "Patient_Insurance_Information_Eligibility_Status": {
            "Status": eligible,
            "EffectiveDate": "2019-01-01T00:00:00",
            "TerminationDetails": null,
            "PatientInsuranceID": "U6xxxxxx",
            "ClinicId": 6,
            "Patientid": 144 xxxxx,
            "EndDate": null,
            "FamilyMemberEligibilityStatus": eligible,
            "EligibilityThroughDate": null,
            "GroupPlanEffectiveDate": null
        }
    },
    "StatusCode": 200,
    "Message": "Success"
}
				
			

2)   /api/PatientData/GetPatientInsuranceData

Request

				
					curl -X Get https://eligibilitybpk-api-dev.azurewebsites.net/api/PatientData/GetPatientInsuranceEligibilityStatusData
-H 'content-type: application/json' \
-d '{
		"portalId":"Payers Id",
		"ClinicId":"location id"
		"userid" :""
	}'

				
			

Response

Sample Response:-

				
					"response": {
    "Patient_Insurance_Information": {
        "FirstName": "Doe",
        "LastName": "John",
        "ClinicId": 6,
        "PatientID": 144288,
        "InsuranceCompany": "Cigna",
        "CarrierID": 54,
        "PatientInsuranceID": "U6xxxxxx",
        "Gender": "Female",
        "DateofBirth": "12/03/2008",
        "Relationship": "Dependent",
        "Address": "xxxxxxxxxxx",
        "SubscriberName": "John Doe",
        "SubscriberDateofBirth": "1982-03-26T00:00:00",
        "PlanType": "DENTAL PPO",
        "PlanRenews": "Every Calendar Year",
        "InitialCoverageDate": "2018-01-08T00:00:00",
        "Currentcoverage": "01/01/2019 - Present",
        "OtherInsurance": "No",
        "Account": "2500691",
        "GroupNumber": "2500691",
        "GroupName": "LOCKHEED MARTIN-CORP NON REP ACTIVE OAP"
    },
    "StatusCode": 200,
    "Message": "Success"
}
}
				
			

Benefits And Deductibles API

Request

				
					3) /api/PatientData/GetBenefitsAndDeductibles
parameters : patientId,ClinicId ,UserId
curl -X Get https://eligibilitybpk-api-dev.azurewebsites.net/api/PatientData/GetPatientInsuranceEligibilityStatusData
-H 'content-type: application/json' \
-d '{
      "patientId":"patid of a location",
      "ClinicId":"location id"
      "userid" :""
    }'

				
			

Revenue Cycle Management APIs

1 GetAllOpenclaims

https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetAllOpenclaims

Request

				
					curl -X POST https://eligibilitybpk-api-dev.azurewebsites.net/api/PatientData/GetPatientInsuranceEligibilityStatusData
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
    }
				
			

Response

Sample Response :-

				
					"Data": [
	{
		"Id": 1420,
		"Patientid": 4512,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 0 to 30 Days",
		"ClaimAmount": 117.28,
		"BirthDate": "2007-12-21T00:00:00",
		"PriInsCompany": "CareSource",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": null,
		"RcmAgent": null,
		"DateClaimResearched": null,
		"ClaimStatus_id": 2,
		"Claim_Status": "Claim Pending - Ledger Balance $20/Claim Pending",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 984,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 445159,
		"CarrierType": "Prim",
		"Submissiondate": "1900-01-01T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null,
		"Vsm_Ar_Id": null
	}
]

				
			

2 GetAllClaims

https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetAllClaims

Request

				
					curl -X POST https://eligibilitybpk-api-dev.azurewebsites.net/api/PatientData/GetPatientInsuranceEligibilityStatusData
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

Sample response:-

				
					"Data": [
	{
		"Id": 1457,
		"Patientid": 21562,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 0 to 30 Days",
		"ClaimAmount": 239,
		"BirthDate": "2010-02-23T00:00:00",
		"PriInsCompany": "AETNA DENTAL",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": 3,
		"RcmAgent": "John3 Doe3",
		"DateClaimResearched": null,
		"ClaimStatus_id": 11,
		"Claim_Status": "Billing Error- Member ID",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 260,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 445196,
		"CarrierType": "Prim",
		"Submissiondate": "1900-01-01T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null,
		"Vsm_Ar_Id": null
	}
]


				
			

3 GetAllDeniedClaims

Request

				
					curl -X POST  https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetAllDeniedClaims
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

Sample response:-

				
					"Data": [
	{
		"Id": 1033,
		"Patientid": 22789,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 30 to 60 Days",
		"ClaimAmount": 155,
		"BirthDate": "2010-08-19T00:00:00",
		"PriInsCompany": "Anthem BCBS",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": null,
		"RcmAgent": null,
		"DateClaimResearched": null,
		"ClaimStatus_id": 23,
		"Claim_Status": "Denied- COB",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 1008,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 444290,
		"CarrierType": "Prim",
		"Submissiondate": "2021-06-29T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null,
		"Vsm_Ar_Id": null
	}
]

				
			

4 GetAllRejectedClaims

Request

				
					curl -X POST  https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetAllRejectedClaims
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

Sample response:-

				
					"Data": [
	{
		"Id": 1457,
		"Patientid": 21562,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 0 to 30 Days",
		"ClaimAmount": 239,
		"BirthDate": "2010-02-23T00:00:00",
		"PriInsCompany": "AETNA DENTAL",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": 3,
		"RcmAgent": "John3 Doe3",
		"DateClaimResearched": null,
		"ClaimStatus_id": 11,
		"Claim_Status": "Billing Error- Member ID",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 260,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 445196,
		"CarrierType": "Prim",
		"Submissiondate": "1900-01-01T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null,
		"Vsm_Ar_Id": null
	}
]

				
			

5 GetAllApprovedClaims

Request

				
					curl -X POST  https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetAllApprovedClaims
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

				
					"Data": [
	{
		"Id": 1457,
		"Patientid": 21565,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 0 to 30 Days",
		"ClaimAmount": 239,
		"BirthDate": "2010-02-23T00:00:00",
		"PriInsCompany": "AETNA DENTAL",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": 3,
		"RcmAgent": "John3 Doe3",
		"DateClaimResearched": null,
		"ClaimStatus_id": 11,
		"Claim_Status": "Approved",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 260,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 445196,
		"CarrierType": "Prim",
		"Submissiondate": "1900-01-01T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null,
		"Vsm_Ar_Id": null
	}
]

				
			

6 GetOpenclaimsAge90

Request

				
					curl -X POST  https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetOpenclaimsAge90
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

Sample response:-

				
					"Data": [
	{
		"Id": 989,
		"Patientid": 9014,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due Over 90",
		"ClaimAmount": 0,
		"BirthDate": "2015-03-28T00:00:00",
		"PriInsCompany": "DELTA DENTAL OF GEORGIA",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": null,
		"RcmAgent": null,
		"DateClaimResearched": null,
		"ClaimStatus_id": 2,
		"Claim_Status": "Claim Pending - Ledger Balance $20/Claim Pending",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 782,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 432494,
		"CarrierType": "Prim",
		"Submissiondate": "2020-08-05T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null
	}
]

				
			

6 GetOpenclaimsAge60

Request

				
					curl -X POST  https://bhcs-dashboard-api-app-dev.azurewebsites.net/api/v3/RcmClaimStatus/GetOpenclaimsAge60
-H 'content-type: application/json' \
-d '{
		"UserId": "string",
		"Role": "string",
		"Operation": "string",
		"Sort": "string",
		"SortOrder": "string",
		"Pagesize": "string",
		"PageNumber": 0,
		"Location": [0],
		"AllRecords": true
	}

				
			

Response

Sample response:-

				
					"Data": [
	{
		"Id": 1070,
		"Patientid": 25141,
		"chartid": "",
		"LastName": "Doe",
		"FirstName": "Jane",
		"MiddleName": "",
		"ClaimAge": "Ins Due 60 to 90 Days",
		"ClaimAmount": 176.83,
		"BirthDate": "2007-04-16T00:00:00",
		"PriInsCompany": "UNITED CONCORDIA",
		"SecInsCompany": null,
		"PracticeId": 1,
		"PracticeName": "Demo clinic",
		"DateOfservice": null,
		"Rcm_AgentId": null,
		"RcmAgent": null,
		"DateClaimResearched": null,
		"ClaimStatus_id": 40,
		"Claim_Status": "In Process/ Pending Payment/RA",
		"Claim_FollowUpId": null,
		"ClaimFollowUp": null,
		"Site_ID": 120,
		"SiteName": "RCM",
		"InsurancePolicyId": null,
		"PolicyHolderName": " ",
		"PolicyHolderDBO": null,
		"InsuranceCompanyPhone": "N/A",
		"PrimaryInsId": 106,
		"SecondaryInsId": "-1",
		"ProviderType": "1",
		"ClaimNum": 444686,
		"CarrierType": "Prim",
		"Submissiondate": "2021-07-16T00:00:00",
		"Lastubmissiondate": "1900-01-01T00:00:00",
		"Notes": null
	}
]