Overview
The PokitDok API allows you to transmit X12 transactions, schedule appointments into a number of EMRs, as well as search our curated databases of healthcare providers, procedure pricing, medical procedure codes, and more. The API is designed according to REST (Representational State Transfer) principles. The API uses JavaScript Object Notation (JSON) for requests and responses, and also allows batch processing of ASC X12 5010 compatible EDI files. All API traffic is encrypted over HTTPS and authentication is handled with OAuth2.
Security And Authorization
# define your client id and secret
CLIENT_ID=<YOUR_CLIENT_ID>
CLIENT_SECRET=<YOUR_CLIENT_SECRET>
# remove control characters if necessary (may occur with base64 on some OS platforms)
CREDENTIALS=$(echo "$CLIENT_ID":"$CLIENT_SECRET" | base64 | tr -d "[:cntrl:]")
# request an access token
curl -i -X POST -H "Authorization: Basic $CREDENTIALS" -d "grant_type=client_credentials" https://platform.pokitdok.com/oauth2/token; echo ""
# the response from https://platform.pokitdok.com/oauth2/token
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"access_token": "s8KYRJGTO0rWMy0zz1CCSCwsSesDyDlbNdZoRqVR",
"token_type": "bearer",
"expires_in": 3600
}
# save and use the access token in subsequent requests
ACCESS_TOKEN='s8KYRJGTO0rWMy0zz1CCSCwsSesDyDlbNdZoRqVR'
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" https://platform.pokitdok.com/api/v4/activities/5317f51527a27620f2ec7533
# not using the PokitDok client library
from base64 import urlsafe_b64encode
import requests
client_id = 'your_client_id'
client_secret = 'your_client_secret'
access_token = requests.post('https://platform.pokitdok.com/oauth2/token',
headers={'Authorization': 'Basic ' + urlsafe_b64encode(client_id + ':' + client_secret)},
data={'grant_type': 'client_credentials'}).json()['access_token']
activity = requests.get('https://platform.pokitdok.com/api/v4/activities/5317f51527a27620f2ec7533',
headers={'Authorization': 'Bearer ' + access_token}).json()
# using https://github.com/pokitdok/pokitdok-python
import pokitdok
client = pokitdok.api.connect('your_client_id', 'your_client_secret')
activity = client.activities('5317f51527a27620f2ec7533')
# using https://github.com/pokitdok/pokitdok-ruby
require 'pokitdok'
client = PokitDok::PokitDok.new("your_client_id", "your_client_secret")
// using https://github.com/pokitdok/pokitdok-csharp
using pokitdokcsharp;
PlatformClient client = new PlatformClient("your_client_id", "your_client_secret");
// using https://github.com/pokitdok/pokitdok-java
import com.pokitdok.PokitDok;
PokitDok client = new PokitDok("your_client_id", "your_client_secret");
client.connect();
// using https://github.com/pokitdok/pokitdok-swift
import pokitdok
// Using an access token
let client = try Pokitdok(token: "your-access-token")
// Using client id and client secret
let client = try Pokitdok(clientId: "your_client_id", clientSecret: "your_client_secret")
/*
It is highly recommended that you do not release an iOS app with your Client ID and Client Secret
values baked into the app, as they may be vulnerable to exposure there. A suitable alternative
would be to utilize an external identity service that authenticates your users and requests
an access token that can then be returned to your app to utilize.
*/
Security via TLS
All calls to PokitDok’s APIs are encrypted over HTTPS. Our APIs support connections using TLS version 1.2 or higher. All modern languages and frameworks support TLS 1.2 (although specific older ones do not).
Authorization via OAuth2
Access to our APIs is controlled via OAuth2 using the
client credentials grant. This is a secure
authorization workflow that allows you to obtain a short-lived (1 hour) access token
that must
be transmitted with your API request.
In the cURL tab to the right you can see an example of obtaining an access token
via the
command line, then making a call to the Activities API with that token. Likewise, the Python tab
contains an example of authorization from scratch using the popular requests
library. While
these examples illustrate the typical process of obtaining an access token
and then properly
utilizing that token in an Authorization
header for subsequent API requests, be aware that it is
extremely inefficient to request a new token if you already obtained one that is still valid (note
the number of seconds specified in the expires_in
parameter in the cURL example’s response). For
this reason we recommend using a PokitDok client library, giving you the
ability to instantiate and use a long-lived PokitDok client connection that provides automatic
handling of token retrieval, expiration, and rotation.
The 2nd example in the Python tab illustrates how much easier it can be to use our client libraries – you just pass in your Client ID and Client Secret and the library does the rest.
The Swift tab contains an example of authentication by entering a Client ID and Client Secret, as well as an example of authentication using only an access token. This is because it is highly recommended that you do not release an iOS app with your Client ID and Client Secret values baked into the app, as they may be vulnerable to exposure there. A suitable alternative would be to utilize an external identity service that authenticates your users and requests an access token that can then be returned to your app to utilize.
Client Libraries
To simplify authorization, token management, and access to PokitDok’s APIs, we provide client libraries for a number of programming languages. These libraries offer full access to our APIs with minimal code – usually just a few lines.
These libraries are hosted on PokitDok’s Github account.
Fully Supported Languages | |
---|---|
Python | pokitdok-python |
Ruby | pokitdok-ruby |
Java | pokitdok-java |
C# | pokitdok-csharp |
Available languages | |
---|---|
PHP | pokitdok-php |
NodeJS | pokitdok-nodejs |
Swift | pokitdok-swift |
Salesforce Apex | pokitdok-apex |
Available API Endpoints
Activities
Example fetching activities for the current application:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" https://platform.pokitdok.com/api/v4/activities/
client.activities()
client.activities
client.activities();
client.activities();
try client.activities()
Example response:
[
{
"units_of_work": 1,
"_type": "PlatformActivityModel",
"name": "activities",
"remaining_transitions": [
"process",
"complete"
],
"_uuid": "c0aadbbc-c51f-472f-9bfe-4dc2789c2d70",
"state": {
"name": "init",
"title": "Initializing"
},
"trading_partner_id": "PokitDok",
"id": "5745bbdd0640fd3a8186d5d6",
"transition_path": [
"process",
"complete"
]
}
]
Example fetching information for a specific activity:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" https://platform.pokitdok.com/api/v4/activities/5317f51527a27620f2ec7533
client.activities(activity_id='5362b5a064da150ef6f2526c')
client.activities({activity_id: '5362b5a064da150ef6f2526c'})
client.activities("5362b5a064da150ef6f2526c");
HashMap<String, String> params = new HashMap<String, String>();
params.add("activity_id", "5362b5a064da150ef6f2526c");
client.activities(params);
try client.activities(activityId: "5362b5a064da150ef6f2526c")
Example response:
{
"units_of_work": 1,
"_type": "PlatformActivityModel",
"name": "activities",
"_uuid": "4c309a6b-1330-40d7-850b-19246a753162",
"state": {
"name": "completed",
"title": "Completed"
},
"trading_partner_id": "PokitDok",
"id": "5745e9920640fd7aa95935f5",
"transition_path": [
"process",
"complete"
],
"history": [
{
"record_dt": "2016-05-25T18:06:11.239000",
"name": "init",
"title": "Initializing"
},
{
"record_dt": "2016-05-25T18:06:11.239000",
"name": "processing",
"title": "Processing transactions"
}
]
}
Example to cancel an existing activity:
curl -XPUT -i -H "Content-Type: application/json"
-H "Authorization: Bearer $ACCESS_TOKEN"
-d '{"transition": "cancel"}' https://platform.pokitdok.com/api/v4/activities/5317f51527a27620f2ec7533
url = '/activities/574749250640fd22d719e13f'
client.put(url, data={'transition': 'cancel'})
url = '/activities/5776759b0640fd278d20ce8e'
results = client.request(url, 'PUT', nil, {transition: 'cancel'})
string endpoint = "/activities/574da3720640fd092ca61b24";
string method = "PUT";
Dictionary<string, object> data = new Dictionary<string, object> {
{ "transition", "cancel" }
};
client.request(endpoint, method, data);
// Currently not supported in this language.
let data = ["transition": "cancel"] as [String: Any]
try client.activities(activityId: "5362b5a064da150ef6f2526c", params: data)
Example response:
{
"_type": "PlatformActivityModel",
"_uuid": "bca3cca7-ad83-43a0-8ca6-adcb1222487a",
"history": [
{
"name": "init",
"record_dt": "2016-05-26T19:06:13.798000",
"title": "Initializing"
},
{
"name": "scheduled",
"record_dt": "2016-05-26T19:07:07.693892",
"title": "Scheduled for next available transmission to Trading Partner"
},
{
"name": "canceled",
"record_dt": "2016-05-26T19:07:07.695615",
"title": "Canceled"
}
],
"id": "574749250640fd22d719e13f",
"name": "claims",
"parameters": {
"async": true,
"billing_provider": {
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893 ",
"tax_id": "123456789",
"taxonomy_code": "207Q00000X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "informed_consent",
"place_of_service": "office",
"plan_participation": "assigned",
"provider_signature": true,
"service_lines": [
{
"charge_amount": "60.0",
"diagnosis_codes": [
"487.1"
],
"procedure_code": "99213",
"service_date": "2014-06-01",
"unit_count": "1.0",
"unit_type": "units"
}
],
"total_charge_amount": "60.0",
"value_information": [
{
"value": "99999999999999999",
"value_type": "service_furnished_location_number"
}
]
},
"correlation_id": "6bdf5dc0-6840-4466-a802-18056fe41aee",
"generate_pdf": false,
"payer": {
"id": "MOCKPAYER",
"organization_name": "MOCKPAYER"
},
"receiver": {
"id": "MOCKRECEIVER",
"organization_name": "MOCKRECEIVER"
},
"submitter": {
"email": "support@pokitdok.com",
"id": "POKITDOKTEST",
"organization_name": "POKITDOK TESTING"
},
"subscriber": {
"address": {
"address_lines": [
"123 N MAIN ST"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1977-01-01",
"first_name": "John",
"gender": "male",
"last_name": "Doe",
"member_id": "W000000001",
"payer_responsibility": "primary"
},
"trading_partner_id": "MOCKPAYER",
"transaction_code": "chargeable"
},
"state": {
"name": "canceled",
"title": "Canceled"
},
"trading_partner_id": "MOCKPAYER",
"transition_path": [
"schedule",
"generate",
"store",
"transmit",
"wait",
"receive",
"process",
"complete"
],
"units_of_work": 1,
"callback_error": "Unable to POST data to the specified callback_url: https://testcallback/claims. Error: ('Connection aborted.', BadStatusLine(\"''\",))"
}
Available modes of operation: real-time
The Activities endpoint is used to track the life cycle of a transaction. Results returned will follow the states through which an Activity flows in the PokitDok platform. Long-running operations are performed asynchronously. Upon initiating those operations via an API endpoint, activity tracking information is returned to the caller, which can be used to query the status of the activity later on.
Endpoint Description
Available Activity Endpoints:
Endpoint | HTTP Method | Description |
---|---|---|
/activities/ | GET | List current activities. A query string parameter ‘parent_id’ may also be used with this API to get information about sub-activities that were initiated from a batch file upload. |
/activities/{id} | GET | Return detailed information about the specified activity. API applications will receive an activity ID in the API response for all operations that are asynchronous. |
/activities/{id} | PUT | Used for canceling activities that a client application no longer wishes to execute. This functionality cannot be used for activities after they have left a scheduled state and been transmitted to the trading partner. |
Response
The /activities/
response includes the following fields:
Field | Type | Description |
---|---|---|
callback_url | {string} | The URL that will be invoked to notify the client application that this Activity has completed. You must use https for callback URLs used by your application. For added security, a callback URL can be defined in the application. |
callback_error | {string} | Displays the error information associated with a failed callback attempt. |
created_date | {string} | The date/time that the activity was created on the platform. |
history | {object array} | Historical status of the progress of this Activity. |
history.record_dt | {datetime} | The date time associated with the history. In ISO8601 format (YYYY-MM-DDThh:mm:ss.ssssss). |
history.name | {string} | State name associated with the history. |
history.title | {string} | State title associated with the history. |
id | {string} | ID of this Activity. |
last_updated_date | {string} | The date/time that the activity was last updated by the platform. |
name | {string} | Activity name. |
trading_partner_id | {string} | Unique id for the intended trading partner, as specified by the Trading Partners endpoint. |
parent_id | {string} | Id only present on sub-activities that were initiated via a batch file upload of activities. |
parameters | {dict} | The parameters that were originally supplied to the activity. |
remaining_transitions | {array} | The list of remaining state transitions that the activity has yet to go through. |
result | {dict} | The result of the activity processing. This will be populated with the latest response from a trading partner. |
result_history | {object array} | A list of result values that have been received from a trading partner. This list will be present when a request results in more than one response from a trading partner. The most recent response will always be available in the result field for convenience. |
result_history.result | {dict} | The result associated with the result. |
result_history.record_dt | {datetime} | The date time associated with the result. In ISO8601 format (YYYY-MM-DDThh:mm:ss.ssssss). |
state | {dict} | Current state of this Activity. |
transition_path | {array} | The list of state transitions that will be used for this Activity. |
units_of_work | {int} | The number of ‘units of work’ that the activity is operating on. This will typically be 1 for real-time requests like /eligibility/. |
tracking_description | {string} | A value that summarizes the tracking/outcome of long running transactions like claims. It’s currently only supported on claims activities. Possible values can be found in the Tracking Descriptions table |
payment_id | {string} | A unique identifier used to reference payment details associated with the Platform Activity. This value is supported on claims activities where claim payments, or ERAs, are processed. The payment_id may be used to lookup payment details using the /payments API. |
Additional Object Tables
Throughout processing, activities may transition through the following states:
State | Description |
---|---|
init | The activity is initializing. |
queued | The activity is in queue waiting to start/resume. |
scheduled | The activity is scheduled for the next available transmission to the trading partner. |
generating | The activity is generating X12 transactions. |
processing | The activity is processing X12 transactions that have been received. |
fallback | The activity is enacting fallback action. |
transmitting | The activity is transmitting X12 transactions to the trading partner. |
waiting | The activity is waiting on a trading partner response. |
receiving | The activity is receiving X12 transactions from a trading partner. |
paused | The activity is paused. |
notifying | The activity is notifying the client application about activity results if a callback url was defined in the request. |
stored | The activity has stored uploaded batch transactions for later processing. |
completed | The activity has received acknowledgement by the trading partner. Completed activities may receive additional responses. |
canceled | The activity was canceled by the client application. |
failed | The activity was unable to process successfully. |
rejected | The activity has been rejected by the trading partner for reasons outlined in the response. |
rejected_reviewed | The activity has been rejected by the trading partner and reviewed for errors by the PokitDok team. |
Tracking Description Table
Tracking descriptions summarize the tracking/outcome of claims:
Tracking Description | Description |
---|---|
submitting | Claim is in the process of being submitted to payer |
waiting | Claim is awaiting response from payer |
acknowledged | Payer has acknowledged receipt of claim |
paid | Claim has been at least partially paid by payer |
paid_in_full | Total amount of claim has been paid by the payer |
adjudicated | Payer has indicated that claim has been adjudicated, but the payment amount is $0 |
denied | Payer has indicated that the claim has been denied |
paid_forwarded | Claim has been at least partially paid by payer and forwarded to another entity |
paid_in_full_forwarded | Total amount of claim has been paid by payer and forwarded to another entity |
adjudicated_forwarded | Payer has indicated that claim has been adjudicated, but the payment amount is $0 and the claims has been forwarded to another entity |
reversal_of_previous | Previous claim has been reversed |
claim_forwarded | The patient/subscriber is unknown and the claim is not adjudicated, but other payers are known and claim has been forwarded to them |
predetermination_pricing | ERA was only sent for predetermination pricing purposes, and no payment is forthcoming |
acknowledged_forwarded | Claim has been acknowledged and forwarded to another entity |
accepted_for_adjudication | claim has been accepted into adjudication system |
rejected | Claim has been rejected |
rejected_reviewed | Claims management app users have the ability to manually update the status of rejected claims in order to indicate that the claims have been reviewed and that no further action is required. This status was formerly used for all claims submitters, but now “rejected” is their terminal status |
claim_not_found | Claim cannot be found in payer’s adjudication system |
acknowledged_split | Claim has been split upon acceptance into adjudication system |
claim_pended | No remittance has been issued, or only part of the claim has been paid |
pending_adjudication | Claim is in payer’s system and is pending adjudication |
pending_additional_information | Claim is waiting for additional information from submitter |
finalized | The claim cycle has been completed and no additional action will be taken |
finalized_revised | Adjudication info has been changed |
finalized forwarded | Claim processing is complete. Claim has been forwarded to a different entity |
adjudicated_not_paid | No payment is forthcoming |
additional_information_requested | Additional information has been requested by the payer |
processing_error | Error in the payer’s system |
response_received | Default tracking description once response has been received for a claim, check result for more detailed information |
Information concerning the activity’s progression through the system is also available via the API Dashboard.
App Registrations
Example POST request:
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json"
-XPOST -d '{
"address_lines": ["123 MAIN ST"],
"city": "San Mateo",
"claims_roles": ["billing"],
"first_name": "Jane",
"last_name": "Doe",
"npi": "1234567893"
"state": "CA",
"tax_id": ["123456789"],
"trading_partner_id": "MOCKPAYER",
"transaction_set_name": "eligibility",
"zipcode": "99401"
}' https://platform.pokitdok.com/api/v4/appregistrations
params = {
'address_lines': ['123 MAIN ST'],
'city': 'San Mateo',
'claims_roles': ['billing'],
'first_name': 'Jane',
'last_name': 'Doe',
'npi': '1234567893'
'state': 'CA',
'tax_id': ['123456789'],
'trading_partner_id': 'MOCKPAYER',
'transaction_set_name': 'eligibility',
'zipcode': '99401'
}
response = pd.post('/appregistrations/', data=params)
string endpoint = "/appregistrations/";
string method = "POST";
List<string> tax_id = new List<string>;
tax_id.Add("123456789");
List<string> address_lines = new List<string>;
address_lines.Add("123 MAIN ST");
List<string> claims_roles = new List<string>;
claims_roles.Add("billing");
Dictionary<string, object> data = new Dictionary<string, object> {
{"address_lines": address_lines},
{"city": "San Mateo"},
{"claims_roles": claims_roles},
{"first_name": "Jane"},
{"last_name": "Doe"},
{"npi": "1234567893"}
{"state": "CA"},
{"tax_id": tax_id},
{"trading_partner_id": "MOCKPAYER"},
{"transaction_set_name": "eligibility"},
{"zipcode": "99401"}
};
client.request(endpoint, method, data);
client.request('/appregistrations/', method='post', params={
address_lines: ['123 MAIN ST'],
city: 'San Mateo',
claims_roles: ['billing'],
first_name: 'Jane',
last_name: 'Doe',
npi: '1234567893'
state: 'CA',
tax_id: ['123456789'],
trading_partner_id: 'MOCKPAYER',
transaction_set_name: 'eligibility',
zipcode: '99401'
})
let data = [
"address_lines": ["123 MAIN ST"],
"city": "San Mateo",
"claims_roles": ["billing"],
"first_name": "Jane",
"last_name": "Doe",
"npi": "1234567893"
"state": "CA",
"tax_id": ["123456789"],
"trading_partner_id": "MOCKPAYER",
"transaction_set_name": "eligibility",
"zipcode": "99401"
] as [String:any]
try client.request(path: "/appregistrations", method: "POST", params: data)
Example response:
{
"data": {
"_uuid": "2f201868-47f4-11e8-a91a-0242ac12000a",
"address_lines": ["123 Main ST"],
"app_name": "<app_name>",
"city": "San Mateo",
"claims_roles": ["billing"],
"client_id": "<client_id>",
"first_name": "Jane",
"last_name": "Doe",
"npi": "1234567893",
"state": "CA",
"tax_id": ["123456789"],
"trading_partner_id": "MOCKPAYER",
"transaction_set_name": "eligibility",
"zipcode": "94401"
},
"meta": {
"...": "..."
}
}
The App Registrations endpoint allows user to manage the NPI registrations associated with their account. These endpoints can be used to create, edit, and delete registrations.
Endpoint Description
Available Endpoints:
Endpoint | HTTP Method | Description |
---|---|---|
/appregistrations | GET | List current app registrations. |
/appregistrations/{uuid} | GET | Retrieve the app registration with the given UUID. |
/appregistrations | POST | Create an app registration. |
/appregistrations/{uuid} | PUT | Edit the app registration with the given UUID. |
/appregistrations/{uuid} | DELETE | Delete the app registration with the given UUID. |
/appregistrations/{uuid}/undelete | POST | Undelete the app registration with the given UUID. |
Parameters
The POST /appregistrations/
and PUT /appregistrations/
endpoints accept the following parameters:
Parameter | Type | Description | Presence |
---|---|---|---|
address_lines | {list} | List of strings representing the street address (e.g. [“123 Main ST.”, “Suite 4”]). | Required |
claims_roles | {list} | List of roles (e.g. ‘billing’ or 'rendering’). | Required |
city | {string} | The city component of an address (e.g. 'SAN MATEO’). | Required |
first_name | {string} | Provider’s first name. This field should be omitted when sending organization_name. | Situational |
last_name | {string} | Provider’s last name. This field should be omitted when sending organization_name. | Situational |
npi | {string} | The provider’s NPI. | Required |
organization_name | {string} | The provider’s organization name. This field should be omitted when sending first_name and last_name. | Situational |
state | {string} | The state component of an address (e.g. 'CA’). | Required |
tax_id | {list} | List of federal tax ids for the provider. For individual providers, this may be the tax id of the medical practice or organization where a provider works. | Required |
trading_partner_id | {string} | Unique ID for the intended trading partner, as specified by the Trading Partners endpoint. | Required |
transaction_set_name | {string} | Transaction this app registration is to be used for (e.g. 'eligibility’, 'claims’, or 'claim_status’). | Required |
zipcode | {string} | The zip/postal code (e.g. “94401”). | Required |
Response
The /appregistrations/
response contains the following fields:
Field | Type | Description |
---|---|---|
_uuid | {string} | The unique ID for this app registration. |
address_lines | {list} | List of strings representing the street address. (e.g. [“123 Main ST.”, “Suite 4”]). |
app_name | {string} | The name of the app associated to the app registration. |
claims_roles | {list} | List of roles (e.g. 'billing’ or 'rendering’). |
city | {string} | The city component of an address (e.g. 'SAN MATEO’). |
client_id | {string} | The client ID of the app associated to the app registration. |
first_name | {string} | Provider’s first name. |
last_name | {string} | Provider’s last name. |
npi | {string} | The provider’s NPI. |
organization_name | {string} | The provider’s organization name. |
state | {string} | The state component of an address (e.g. 'CA’). |
tax_id | {list} | List of federal tax ids for the provider. For individual providers, this may be the tax id of the medical practice or organization where a provider works. |
trading_partner_id | {string} | Unique ID for the intended trading partner, as specified by the Trading Partners endpoint. |
transaction_set_name | {string} | Transaction this app registration is to be used for (e.g. 'eligibility’, 'claims’, or claim_status). |
zipcode | {string} | The zip/postal code (e.g. “94401”). |
Claims
Sample Claims request:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
}` https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"J10.1"
],
service_date: "2016-01-25"
}
]
}
});
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"service_lines", new Object[] {
new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"J10.1"}},
{"service_date", "2016-01-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"J10.1\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-01-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample PokitDok response to initial claim submission that passes validation checks:
{
"_type": "PlatformActivityModel",
"_uuid": "baaf7704-9719-4f7e-92cd-f489b5fd0679",
"history": [
{
"name": "init",
"record_dt": "2016-06-25T13:42:07.834940",
"title": "Initializing"
}
],
"id": "575037af0640fd518fe64c36",
"name": "claims",
"parameters": {
"async": false,
"billing_provider": {
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"tax_id": "123456789",
"taxonomy_code": "207Q00000X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "informed_consent",
"place_of_service": "office",
"plan_participation": "assigned",
"provider_signature": true,
"service_lines": [
{
"charge_amount": "60.0",
"diagnosis_codes": [
"J10.1"
],
"procedure_code": "99213",
"service_date": "2016-01-25",
"unit_count": "1.0",
"unit_type": "units"
}
],
"total_charge_amount": "60.0"
},
"correlation_id": "0e6ade93-5672-4abd-8d36-ba23cda627bd",
"generate_pdf": false,
"payer": {
"id": "MOCKPAYER",
"organization_name": "MOCKPAYER"
},
"receiver": {
"id": "MOCKRECEIVER",
"organization_name": "MOCKRECEIVER"
},
"submitter": {
"email": "support@pokitdok.com",
"id": "POKITDOKTEST",
"organization_name": "POKITDOK TESTING"
},
"subscriber": {
"address": {
"address_lines": [
"123 N MAIN ST"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"first_name": "Jane",
"gender": "female",
"last_name": "Doe",
"member_id": "W000000000",
"payer_responsibility": "primary"
},
"trading_partner_id": "MOCKPAYER",
"transaction_code": "chargeable"
},
"remaining_transitions": [
"generate",
"store",
"transmit",
"wait",
"receive",
"process",
"complete"
],
"state": {
"name": "scheduled",
"title": "Scheduled for next available transmission to Trading Partner"
},
"trading_partner_id": "MOCKPAYER",
"transition_path": [
"schedule",
"generate",
"store",
"transmit",
"wait",
"receive",
"process",
"complete"
],
"units_of_work": 1
}
Sample trading partner response for claim acknowledgement (this response will complete a claims activity):
{
"client_id": "ASDFBOI87234CSDEAR",
"correlation_id": "575037af0640fd518fe64c36",
"trading_partner_id": "MOCKPAYER",
"clearinghouse": {
"name": "MOCK CLEARINGHOUSE",
"transmitter_id": "12345678",
"date_received": "2016-12-05",
"date_processed": "2016-12-05"
},
"submitter": {
"organization_name": "POKITDOK TESTING",
"id": "1234567890",
"tracking_id": "20161205123456789",
"statuses": [
{
"action": "accept",
"status_category": "Acknowledgement/Receipt-The claim/encounter has been received. This does not mean that the claim has been accepted for adjudication.",
"status_category_code": "A1",
"status_effective_date": "2016-12-05",
"status_code": "Accepted for processing.",
"total_claim_amount": {
"amount": "60.0",
"currency": "USD"
}
}
],
"accepted_quantity": "1",
"amount_in_process": {
"amount": "60.0",
"currency": "USD"
}
},
"providers": [
{
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"tax_id": "123456789",
"trace_number": "0",
"accepted_quantity": "1",
"amount_in_process": {
"amount": "60.0",
"currency": "USD"
}
}
],
"patient": {
"last_name": "DOE",
"first_name": "JANE",
"id": "W000000000",
"claim_level_info": {
"statuses": [
{
"action": "accept",
"status_category": "Acknowledgement/Receipt-The claim/encounter has been received. This does not mean that the claim has been accepted for adjudication.",
"status_category_code": "A1",
"status_effective_date": "2016-12-05",
"status_code": "Accepted for processing.",
"total_claim_amount": {
"amount": "60.0",
"currency": "USD"
}
}
],
"claim_id_number": "NA",
"service_date": "2016-11-01",
"service_end_date": "2016-11-02",
"tracking_id": "ASDFBOI87234CSDEAR"
}
}
}
Sample trading partner response for claim payment (835):
{
"claim_payments": [
{
"assigned_number": 654654,
"control_number": "20161205123456789",
"facility_type": "hospital_inpatient_part_a",
"claim_frequency": "original",
"filing_indicator": "health_maintenance_organization",
"patient_control_number": "20161205123456789",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"patient_responsibility_amount": {
"amount": "0",
"currency": "USD"
},
"services": [
{
"adjustments": [
{
"amount": {
"amount": "60.0",
"currency": "USD"
},
"group": "contractual_obligations",
"reason": "Exact duplicate claim/service",
"reason_code": "18"
}
],
"adjudicated_procedure_code": "26740",
"adjudicated_procedure_code_qualifier": "health_care",
"adjudicated_procedure_modifier_codes": [
"GT"
],
"charge_amount": {
"amount": "60.0",
"currency": "USD"
},
"provider_payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_units_paid": 1,
"service_units_submitted": 1,
"service_date": "2016-11-01",
"control_number": "20161205123456789",
"remarks": [
{
"description": "Service denied because payment already made for same/similar procedure within set time frame.",
"code": "M86"
}
]
}
],
"status": "processed_as_primary",
"total_charge_amount": {
"amount": "60.0",
"currency": "USD"
}
}
],
"financial_information": {
"check_eft_trace_number": "EFT2016120798749874",
"transaction_type": "credit",
"effective_date": "2016-12-05",
"originating_company_id": "121212123",
"payment_amount": {
"amount": "3210.10",
"currency": "USD"
},
"payment_method": "automated_clearing_house",
"transaction_handling": "remittance_information_only"
},
"payee": {
"name": "POKITDOK INC",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"npi": "1234567890",
"tax_id": "987654321"
},
"payer": {
"name": "MOCKPAYER",
"address": {
"address_lines": [
"P.O. BOX 12345"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "294011234"
},
"contacts": [
{
"function": "business",
"contact_methods": [
{
"type": "phone",
"value": "8431111111"
},
{
"type": "phone",
"value": "8001111111"
}
]
},
{
"function": "technical",
"contact_methods": [
{
"type": "url",
"value": "WWW.HELP.COM"
}
]
}
]
},
"patient": {
"last_name": "DOE",
"first_name": "JANE",
"id": "W000000000"
},
"production_date": "2016-12-05",
"transaction_type": "remittance_information_only",
"meta": {
"transaction_created_date": "2016-12-08"
}
}
Sample Claims request where the patient is not the subscriber:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"patient": {
"first_name": "John",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1971-01-25",
"gender": "male",
"relationship" : "child"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 100.0,
"service_lines": [
{
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"patient": {
"first_name": "John",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1971-01-25",
"gender": "male",
"relationship": "child"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 100.0,
"service_lines": [
{
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
patient: {
first_name: "John",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1971-01-25",
gender: "male",
relationship: "child"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 100.0,
service_lines: [
{
procedure_code: "99201",
procedure_modifier_codes: ["GT"],
charge_amount: 100.0,
unit_count: 1.0,
diagnosis_codes: [
"J10.1"
],
service_date: "2016-01-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"patient", new Dictionary<string, object> {
{"first_name", "John"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1971-01-25"},
{"gender", "male"},
{"relationship" , "child"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 100.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99201"},
{"procedure_modifier_codes", new string[] {"GT"}},
{"charge_amount", 100.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"J10.1"}},
{"service_date", "2016-01-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append("\"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"patient\": {");
buf.append(" \"first_name\": \"John\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1971-01-25\",");
buf.append(" \"gender\": \"male\",");
buf.append(" \"relationship\": \"child\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 100.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99201\",");
buf.append(" \"procedure_modifier_codes\": [\"GT\"],");
buf.append(" \"charge_amount\": 100.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"J10.1\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-01-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"patient": [
"first_name": "John",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1971-01-25",
"gender": "male",
"relationship": "child"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 100.0,
"service_lines": [
[
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Claims request that includes custom application data for easy handling of asynchronous responses:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"application_data": {
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
},
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "293010000"
},
"payment_address": {
"address_lines": [
"123 ABC LANE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "294010000"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"application_data": {
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
},
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"payment_address": {
"address_lines": [
"123 ABC LANE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "294010000"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
}
]
}
})
client.claims({
application_data: {
patient_id: "ABC1234XYZ",
location_id: 123,
transaction_uuid: "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
},
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"J10.1"
],
service_date: "2016-01-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"application_data", new Dictionary<string, object> {
{"patient_id", "ABC1234XYZ"},
{"location_id", 123},
{"transaction_uuid", "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"}
}},
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"J10.1"}},
{"service_date", "2016-01-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"application_data\": {");
buf.append(" \"patient_id\": \"ABC1234XYZ\",");
buf.append(" \"location_id\": 123,");
buf.append(" \"transaction_uuid\": \"93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf\"");
buf.append(" },");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"J10.1\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-01-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"application_data": [
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
],
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"J10.1"
],
"service_date": "2016-01-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Claims Request using the patient paid amount to report a cash payment encounter for contributing toward a member’s deductible:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"1703 John B White Blvd, Unit A"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "JOHN",
"last_name": "DOE",
"member_id": "W199000000",
"address": {
"address_lines": ["123 MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "male"
},
"claim": {
"place_of_service": "office",
"total_charge_amount": 150.0,
"patient_paid_amount": 150.0,
"service_lines": [
{
"procedure_code": "11100",
"charge_amount": 150.00,
"unit_count": 1.0,
"diagnosis_codes": [
"L90.9"
],
"service_date": "2016-03-25"
}
]
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"1703 John B White Blvd, Unit A"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "JOHN",
"last_name": "DOE",
"member_id": "W199000000",
"address": {
"address_lines": ["123 MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "male"
},
"claim": {
"place_of_service": "office",
"total_charge_amount": 150.0,
"patient_paid_amount": 150.0,
"service_lines": [
{
"procedure_code": "11100",
"charge_amount": 150.00,
"unit_count": 1.0,
"diagnosis_codes": [
"L90.9"
],
"service_date": "2016-03-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"1703 John B White Blvd, Unit A"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "JOHN",
last_name: "DOE",
member_id: "W199000000",
address: {
address_lines: ["123 MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "male"
},
claim: {
place_of_service: "office",
total_charge_amount: 150.0,
patient_paid_amount: 150.0,
service_lines: [
{
procedure_code: "11100",
charge_amount: 150.00,
unit_count: 1.0,
diagnosis_codes: [
"L90.9"
],
service_date: "2016-03-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"1703 John B White Blvd, Unit A"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "JOHN"},
{"last_name", "DOE"},
{"member_id", "W199000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "male"}
}},
{"claim", new Dictionary<string, object> {
{"place_of_service", "office"},
{"total_charge_amount", 150.0},
{"patient_paid_amount", 150.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "11100"},
{"charge_amount", 150.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"L90.9"}},
{"service_date", "2016-03-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"1703 John B White Blvd, Unit A\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"JOHN\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"member_id\": \"W199000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"male\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"place_of_service\": \"office\",");
buf.append(" \"total_charge_amount\": 150.0,");
buf.append(" \"patient_paid_amount\": 150.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"11100\",");
buf.append(" \"charge_amount\": 150.00,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"L90.9\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-03-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"1703 John B White Blvd, Unit A"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "JOHN",
"last_name": "DOE",
"member_id": "W199000000",
"address": [
"address_lines": ["123 MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "male"
],
"claim": [
"place_of_service": "office",
"total_charge_amount": 150.0,
"patient_paid_amount": 150.0,
"service_lines": [
[
"procedure_code": "11100",
"charge_amount": 150.00,
"unit_count": 1.0,
"diagnosis_codes": [
"L90.9"
],
"service_date": "2016-03-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Claims request when using procedure modifier codes. This example uses the “GT” modifier (“via interactive audio and video telecommunications systems”) which would be suitable for telehealth applications:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 100.0,
"service_lines": [
{
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W51.XXXA"
],
"service_date": "2016-05-25"
}
]
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 100.0,
"service_lines": [
{
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W51.XXXA"
],
"service_date": "2016-05-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 100.0,
service_lines: [
{
procedure_code: "99201",
procedure_modifier_codes: ["GT"],
charge_amount: 100.0,
unit_count: 1.0,
diagnosis_codes: [
"W51.XXXA"
],
service_date: "2016-05-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 100.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99201"},
{"procedure_modifier_codes", new string[] {"GT"}},
{"charge_amount", 100.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"W51.XXXA"}},
{"service_date", "2016-05-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 100.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99201\",");
buf.append(" \"procedure_modifier_codes\": [\"GT\"],");
buf.append(" \"charge_amount\": 100.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"W51.XXXA\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-05-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 100.0,
"service_lines": [
[
"procedure_code": "99201",
"procedure_modifier_codes": ["GT"],
"charge_amount": 100.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W51.XXXA"
],
"service_date": "2016-05-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Claims request submitting a claim with an application’s callback_url specified:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"callback_url": "https://yourapp.com/claims/status",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W53.21XA"
],
"service_date": "2016-05-25"
}
]
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"callback_url": "https://yourapp.com/claims/status",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W53.21XA"
],
"service_date": "2016-05-25"
}
]
}
})
client.claims({
callback_url: "https://yourapp.com/claims/status",
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"W53.21XA"
],
service_date: "2016-05-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"callback_url", "https://yourapp.com/claims/status"},
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"W53.21XA"}},
{"service_date", "2016-05-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"callback_url\": \"https://yourapp.com/claims/status\",");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"W53.21XA\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-05-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"callback_url": "https://yourapp.com/claims/status",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W53.21XA"
],
"service_date": "2016-05-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Claims request registering a callback_url and requesting a mock claim payment callback. Your application will receive two callbacks. The first will contain a claims acknowledgement result. The second will contain a mock claim payment where 85% of the charged amount is paid, 5% is adjusted due to contractual obligations and 10% is left to be paid by the patient.
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"callback_url": "https://your-application.com/callback/1234",
"application_data": {
"mock_claim_payment": true
},
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W56.22XA"
],
"service_date": "2016-05-25"
}
]
}
}` https://platform.pokitdok.com/api/v4/claims/
client.claims({
"callback_url": "https://your-application.com/callback/1234",
"application_data": {
"mock_claim_payment": True
},
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W56.22XA"
],
"service_date": "2016-05-25"
}
]
}
})
client.claims({
callback_url: "https://your-application.com/callback/1234",
application_data: {
mock_claim_payment: true
},
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"W56.22XA"
],
service_date: "2016-05-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"callback_url", "https://your-application.com/callback/1234"},
{"application_data", new Dictionary<string, object> {
{"mock_claim_payment", True}
}},
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"W56.22XA"}},
{"service_date", "2016-05-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"callback_url\": \"https://your-application.com/callback/1234\",");
buf.append(" \"application_data\": {");
buf.append(" \"mock_claim_payment\": true");
buf.append(" },");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"W56.22XA\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-05-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"callback_url": "https://your-application.com/callback/1234",
"application_data": [
"mock_claim_payment": True
],
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"W56.22XA"
],
"service_date": "2016-05-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Claims request containing information for rendering provider.
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"rendering_provider": {
"npi": "1234567893",
"first_name": "JANE",
"last_name": "DOE",
"taxonomy_code": "207N00000X"
},
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"V91.35"
],
"service_date": "2016-05-25"
}
]
}
}` https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"rendering_provider": {
"npi": "1234567893",
"first_name": "JANE",
"last_name": "DOE",
"taxonomy_code": "207N00000X"
},
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"V91.35"
],
"service_date": "2016-05-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: ["123 N MAIN ST"],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
rendering_provider: {
npi: "1234567893",
first_name: "JANE",
last_name: "DOE",
taxonomy_code: "207N00000X"
},
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"V91.35"
],
service_date: "2016-05-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"rendering_provider", new Dictionary<string, string> {
{"npi", "1234567893"},
{"first_name", "JANE"},
{"last_name", "DOE"},
{"taxonomy_code", "207N00000X"}
}},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"V91.35"}},
{"service_date", "2016-05-25"}
}}}}}
});
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"rendering_provider\": {");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"first_name\": \"JANE\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"taxonomy_code\": \"207N00000X\"");
buf.append("");
buf.append(" },");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"V91.35\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-05-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"rendering_provider": [
"npi": "1234567893",
"first_name": "JANE",
"last_name": "DOE",
"taxonomy_code": "207N00000X"
],
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"V91.35"
],
"service_date": "2016-05-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Claims request for sending service date range, using service date and service end date with a claim note:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": ["123 N MAIN ST"],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"note": {
"reference_code": "additional_information",
"note": "this is a note"
},
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"X35.XXXD"
],
"test_results": [
{
"measurement": "height",
"reference_id": "test_results",
"value": "61"
}
],
"service_date": "2016-04-25",
"service_end_date": "2016-05-25"
}
]
}
}` https://platform.pokitdok.com/api/v4/claims/
client.claims({
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"tax_id": "123456789"
},
"subscriber": {
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": {
"address_lines": [
"123 N MAIN ST"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"gender": "female"
},
"claim": {
"total_charge_amount": 60.0,
"service_lines": [
{
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"X35.XXXD"
],
"test_results": [
{
"measurement": "height",
"reference_id": "test_results",
"value": "61"
}
],
"service_date": "2016-04-25",
"service_end_date": "2016-05-25"
}
]
}
})
client.claims({
transaction_code: "chargeable",
trading_partner_id: "MOCKPAYER",
billing_provider: {
taxonomy_code: "207Q00000X",
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893",
address: {
address_lines: [
"8311 WARREN H ABERNATHY HWY"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
tax_id: "123456789"
},
subscriber: {
first_name: "Jane",
last_name: "Doe",
member_id: "W000000000",
address: {
address_lines: [
"123 N MAIN ST"
],
city: "SPARTANBURG",
state: "SC",
zipcode: "29301"
},
birth_date: "1970-01-25",
gender: "female"
},
claim: {
total_charge_amount: 60.0,
service_lines: [
{
procedure_code: "99213",
charge_amount: 60.0,
unit_count: 1.0,
diagnosis_codes: [
"X35.XXXD"
],
service_date: "2016-04-25",
service_end_date: "2016-05-25"
}
]
}
})
client.claims(
new Dictionary<string, object> {
{"transaction_code", "chargeable"},
{"trading_partner_id", "MOCKPAYER"},
{"billing_provider", new Dictionary<string, object> {
{"taxonomy_code", "207Q00000X"},
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"8311 WARREN H ABERNATHY HWY"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"tax_id", "123456789"}
}},
{"subscriber", new Dictionary<string, object> {
{"first_name", "Jane"},
{"last_name", "Doe"},
{"member_id", "W000000000"},
{"address", new Dictionary<string, object> {
{"address_lines", new string[] {"123 N MAIN ST"}},
{"city", "SPARTANBURG"},
{"state", "SC"},
{"zipcode", "29301"}
}},
{"birth_date", "1970-01-25"},
{"gender", "female"}
}},
{"claim", new Dictionary<string, object> {
{"total_charge_amount", 60.0},
{"service_lines", new Object[] {new Dictionary<string, object> {
{"procedure_code", "99213"},
{"charge_amount", 60.0},
{"unit_count", 1.0},
{"diagnosis_codes", new string[] {"X35.XXXD"}},
{"service_date", "2016-04-25"},
{"service_end_date", "2016-05-25"}
}}}
}}
}
);
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"transaction_code\": \"chargeable\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"billing_provider\": {");
buf.append(" \"taxonomy_code\": \"207Q00000X\",");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [");
buf.append(" \"8311 WARREN H ABERNATHY HWY\"");
buf.append(" ],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"tax_id\": \"123456789\"");
buf.append(" },");
buf.append(" \"subscriber\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"member_id\": \"W000000000\",");
buf.append(" \"address\": {");
buf.append(" \"address_lines\": [\"123 N MAIN ST\"],");
buf.append(" \"city\": \"SPARTANBURG\",");
buf.append(" \"state\": \"SC\",");
buf.append(" \"zipcode\": \"29301\"");
buf.append(" },");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"gender\": \"female\"");
buf.append(" },");
buf.append(" \"claim\": {");
buf.append(" \"total_charge_amount\": 60.0,");
buf.append(" \"service_lines\": [");
buf.append(" {");
buf.append(" \"procedure_code\": \"99213\",");
buf.append(" \"charge_amount\": 60.0,");
buf.append(" \"unit_count\": 1.0,");
buf.append(" \"diagnosis_codes\": [");
buf.append(" \"X35.XXXD\"");
buf.append(" ],");
buf.append(" \"service_date\": \"2016-04-25\",");
buf.append(" \"service_end_date\": \"2016-05-25\"");
buf.append(" }");
buf.append(" ]");
buf.append(" }");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claims(query);
let data = [
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": [
"taxonomy_code": "207Q00000X",
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"address": [
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"tax_id": "123456789"
],
"subscriber": [
"first_name": "Jane",
"last_name": "Doe",
"member_id": "W000000000",
"address": [
"address_lines": [
"123 N MAIN ST"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
],
"birth_date": "1970-01-25",
"gender": "female"
],
"claim": [
"total_charge_amount": 60.0,
"service_lines": [
[
"procedure_code": "99213",
"charge_amount": 60.0,
"unit_count": 1.0,
"diagnosis_codes": [
"X35.XXXD"
],
"service_date": "2016-04-25",
"service_end_date": "2016-05-25"
]
]
]
] as [String:Any]
try client.claims(params: data)
Sample Coordination of Benefits Claim Request (example includes 2 payers, with COB as a dict).
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"correlation_id": "CLAIM1158654",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"address": {
"address_lines": [
"25 RAINBOW ROW"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"npi": "1487640231",
"organization_name": "MEDCO MEDICAL INC",
"payment_address": {
"address_lines": [
"PO BOX 123"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29401"
},
"tax_id": "123456789",
"taxonomy_code": "777B12345X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "signed_statement",
"place_of_service": "home",
"plan_participation": "assigned",
"prior_authorization_number": "P00171408ABCDEF",
"provider_signature": true,
"service_facility": {
"address": {
"address_lines": [
"300 RIVERS AVE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29412"
},
"organization_name": "MEDCITY"
},
"service_lines": [
{
"adjudication": {
"adjustments": [
{
"amount": "28.22",
"group": "patient_responsibility",
"reason": "2"
},
{
"amount": "26.79",
"group": "contractual_obligations",
"reason": "45"
}
],
"amount": "40.66",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "T4529",
"procedure_qualifier": "HC",
"quantity": "246"
},
"charge_amount": "95.67",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "T4529",
"provider_control_number": "900001",
"service_date": "2017-03-20",
"unit_count": "246",
"unit_type": "units"
},
{
"adjudication": {
"adjustments": [
{
"amount": "72",
"group": "other_adjustments",
"reason": "96"
}
],
"amount": "0",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "A4554",
"procedure_qualifier": "HC",
"quantity": "120"
},
"charge_amount": "72",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "A4554",
"provider_control_number": "900002",
"service_date": "2017-03-20",
"unit_count": "120",
"unit_type": "units"
}
],
"total_charge_amount": "167.67"
},
"coordination_of_benefits": {
"payer": {
"id": "777654",
"organization_name": "BCBSSC"
},
"payer_amount_paid": "40.66",
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"group_number": "888754",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "primary",
"relationship": "self",
"release_of_information_code": "signed_statement"
}
},
"payer": {
"address": {
"address_lines": [
"PO BOX 301404"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"id": "12345",
"organization_name": "CHARLESTON HEALTH PLAN"
},
"receiver": {
"id": "EMPORIUM",
"organization_name": "X12 FLAT FILE EMPORIUM"
},
"submitter": {
"contacts": [
{
"contact_methods": [
{
"type": "phone",
"value": "8431114444"
}
],
"name": "BOB DOE"
}
],
"id": "55512",
"organization_name": "MEDCO MEDICAL INC"
},
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"birth_date": "2015-01-05",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"gender": "female",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "secondary"
}
}' https://platform.pokitdok.com/api/v4/claims/
client.claims({
"correlation_id": "CLAIM1158654",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"address": {
"address_lines": [
"25 RAINBOW ROW"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"npi": "1487640231",
"organization_name": "MEDCO MEDICAL INC",
"payment_address": {
"address_lines": [
"PO BOX 123"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29401"
},
"tax_id": "123456789",
"taxonomy_code": "777B12345X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "signed_statement",
"place_of_service": "home",
"plan_participation": "assigned",
"prior_authorization_number": "P00171408ABCDEF",
"provider_signature": True,
"service_facility": {
"address": {
"address_lines": [
"300 RIVERS AVE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29412"
},
"organization_name": "MEDCITY"
},
"service_lines": [
{
"adjudication": {
"adjustments": [
{
"amount": "28.22",
"group": "patient_responsibility",
"reason": "2"
},
{
"amount": "26.79",
"group": "contractual_obligations",
"reason": "45"
}
],
"amount": "40.66",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "T4529",
"procedure_qualifier": "HC",
"quantity": "246"
},
"charge_amount": "95.67",
"diagnosis_codes": [
"N184"
],
"is_emergency": False,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "T4529",
"provider_control_number": "900001",
"service_date": "2017-03-20",
"unit_count": "246",
"unit_type": "units"
},
{
"adjudication": {
"adjustments": [
{
"amount": "72",
"group": "other_adjustments",
"reason": "96"
}
],
"amount": "0",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "A4554",
"procedure_qualifier": "HC",
"quantity": "120"
},
"charge_amount": "72",
"diagnosis_codes": [
"N184"
],
"is_emergency": False,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "A4554",
"provider_control_number": "900002",
"service_date": "2017-03-20",
"unit_count": "120",
"unit_type": "units"
}
],
"total_charge_amount": "167.67"
},
"coordination_of_benefits": {
"payer": {
"id": "777654",
"organization_name": "BCBSSC"
},
"payer_amount_paid": "40.66",
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"group_number": "888754",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "primary",
"relationship": "self",
"release_of_information_code": "signed_statement"
}
},
"payer": {
"address": {
"address_lines": [
"PO BOX 301404"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"id": "12345",
"organization_name": "CHARLESTON HEALTH PLAN"
},
"receiver": {
"id": "EMPORIUM",
"organization_name": "X12 FLAT FILE EMPORIUM"
},
"submitter": {
"contacts": [
{
"contact_methods": [
{
"type": "phone",
"value": "8431114444"
}
],
"name": "BOB DOE"
}
],
"id": "55512",
"organization_name": "MEDCO MEDICAL INC"
},
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"birth_date": "2015-01-05",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"gender": "female",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "secondary"
}
})
client.claims({
"correlation_id": "CLAIM1158654",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"address": {
"address_lines": [
"25 RAINBOW ROW"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"npi": "1487640231",
"organization_name": "MEDCO MEDICAL INC",
"payment_address": {
"address_lines": [
"PO BOX 123"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29401"
},
"tax_id": "123456789",
"taxonomy_code": "777B12345X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "signed_statement",
"place_of_service": "home",
"plan_participation": "assigned",
"prior_authorization_number": "P00171408ABCDEF",
"provider_signature": true,
"service_facility": {
"address": {
"address_lines": [
"300 RIVERS AVE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29412"
},
"organization_name": "MEDCITY"
},
"service_lines": [
{
"adjudication": {
"adjustments": [
{
"amount": "28.22",
"group": "patient_responsibility",
"reason": "2"
},
{
"amount": "26.79",
"group": "contractual_obligations",
"reason": "45"
}
],
"amount": "40.66",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "T4529",
"procedure_qualifier": "HC",
"quantity": "246"
},
"charge_amount": "95.67",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "T4529",
"provider_control_number": "900001",
"service_date": "2017-03-20",
"unit_count": "246",
"unit_type": "units"
},
{
"adjudication": {
"adjustments": [
{
"amount": "72",
"group": "other_adjustments",
"reason": "96"
}
],
"amount": "0",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "A4554",
"procedure_qualifier": "HC",
"quantity": "120"
},
"charge_amount": "72",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
},
"procedure_code": "A4554",
"provider_control_number": "900002",
"service_date": "2017-03-20",
"unit_count": "120",
"unit_type": "units"
}
],
"total_charge_amount": "167.67"
},
"coordination_of_benefits": {
"payer": {
"id": "777654",
"organization_name": "BCBSSC"
},
"payer_amount_paid": "40.66",
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"group_number": "888754",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "primary",
"relationship": "self",
"release_of_information_code": "signed_statement"
}
},
"payer": {
"address": {
"address_lines": [
"PO BOX 301404"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"id": "12345",
"organization_name": "CHARLESTON HEALTH PLAN"
},
"receiver": {
"id": "EMPORIUM",
"organization_name": "X12 FLAT FILE EMPORIUM"
},
"submitter": {
"contacts": [
{
"contact_methods": [
{
"type": "phone",
"value": "8431114444"
}
],
"name": "BOB DOE"
}
],
"id": "55512",
"organization_name": "MEDCO MEDICAL INC"
},
"subscriber": {
"address": {
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"birth_date": "2015-01-05",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"gender": "female",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "secondary"
}})
var cobClaimRequest = new Dictionary<string, object>();
cobClaimRequest.Add("correlation_id", "CLAIM1158654");
cobClaimRequest.Add("transaction_code", "chargeable");
cobClaimRequest.Add("trading_partner_id", "MOCKPAYER");
cobClaimRequest.Add("billing_provider", new Dictionary<string, object> {
{"address", new Dictionary<string, object> {
{"address_lines", new object[] {"25 RAINBOW ROW"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29407"}}},
{"npi", "1487640231"},
{"organization_name", "MEDCO MEDICAL INC"},
{"payment_address", new Dictionary<string, object>{
{"address_lines", new object[] {"PO BOX 123"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29401"}}},
{"tax_id", "123456789"},
{"taxonomy_code", "777B12345X"}});
cobClaimRequest.Add("claim", new Dictionary<string, object> {
{"claim_frequency", "original"},
{"direct_payment", "y"},
{"information_release", "signed_statement"},
{"place_of_service", "home"},
{"plan_participation", "assigned"},
{"prior_authorization_number", "P00171408ABCDEF"},
{"provider_signature", true},
{"total_charge_amount", "167.67"}});
cobClaimRequest["service_facility"] = new Dictionary<string, object> {
{"address", new Dictionary<string, object>{
{"address_lines", new object[] {"300 RIVERS AVE"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29412"}}},
{"organization_name", "MEDCITY"}};
cobClaimRequest["service_lines"] = new object[] {
new Dictionary<string, object>{
{"charge_amount", "95.67"},
{"diagnosis_codes", new string[] {"N184"}},
{"is_emergency", false},
{"ordering_provider", new Dictionary<string, object>{
{"first_name", "STEVEN"},
{"last_name", "DOE"},
{"npi", "1912301953"},
{"state_license_number", "SC12345"}}},
{"procedure_code", "T4529"},
{"provider_control_number", "900001"},
{"service_date", "2017-03-20"},
{"unit_count", "246"},
{"unit_type", "units"},
{"adjudication", new Dictionary<string, object>{
{"amount", "40.66"},
{"amount_owed", "0"},
{"claim_paid_date", "2017-04-04"},
{"payer_id", "62308"},
{"procedure_code", "T4529"},
{"procedure_qualifier", "HC"},
{"quantity", "246"},
{"adjustments", new object[]{
new Dictionary<string, object>{
{"amount", "28.22"},
{"group", "patient_responsibility"},
{"reason", "2"}},
new Dictionary<string, object>{
{"amount", "28.22"},
{"group", "patient_responsibility"},
{"reason", "2"}}
}}
}}
},
new Dictionary<string, object>{
{"charge_amount", "72"},
{"diagnosis_codes", new string[] {"N184"}},
{"is_emergency", false},
{"ordering_provider", new Dictionary<string, object>{
{"first_name", "STEVEN"},
{"last_name", "DOE"},
{"npi", "1912301953"},
{"state_license_number", "SC12345"}}},
{"procedure_code", "A4554"},
{"provider_control_number", "900002"},
{"service_date", "2017-03-20"},
{"unit_count", "120"},
{"unit_type", "units"},
{"adjudication", new Dictionary<string, object>{
{"amount", "0"},
{"amount_owed", "0"},
{"claim_paid_date", "2017-04-04"},
{"payer_id", "62308"},
{"procedure_code", "A4554"},
{"procedure_qualifier", "HC"},
{"quantity", "120"},
{"adjustments", new object[]{
new Dictionary<string, object>{
{"amount", "72"},
{"group", "other_adjustments"},
{"reason", "96"}}
}}
}}
}
};
cobClaimRequest.Add("coordination_of_benefits", new Dictionary<string, object>{
{"payer_amount_paid", "40.66"},
{"authorize_payment_to_billing_provider", "yes"},
{"claim_filing_code", "commercial_insurance_co"},
{"first_name", "EMMIE"},
{"group_number", "888754"},
{"last_name", "DOE"},
{"member_id", "987654321"},
{"payer_responsibility", "primary"},
{"relationship", "self"},
{"release_of_information_code", "signed_statement"},
{"payer", new Dictionary<string, object>{
{"id", "777654"},
{"organization_name", "BCBSSC"}
}},
{"subscriber", new Dictionary<string, object>{
{"address", new Dictionary<string, object>{
{"address_lines", new string[] {"100 CALHOUN"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29407"}
}}
}}
});
cobClaimRequest.Add("payer", new Dictionary<string, object>{
{"id", "12345"},
{"organization_name", "CHARLESTON HEALTH PLAN"},
{"address", new Dictionary<string, object>{
{"address_lines", new string[] {"PO BOX 301404"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29407"}
}}
});
cobClaimRequest.Add("receiver", new Dictionary<string, object>{
{"id", "EMPORIUM"},
{"organization_name", "X12 FLAT FILE EMPORIUM"}
});
cobClaimRequest.Add("submitter", new Dictionary<string, object>{
{"id", "55512"},
{"organization_name", "MEDCO MEDICAL INC"},
{"contacts", new object[] {new Dictionary<string, object>{{"name", "BOB DOE"}}}}
});
cobClaimRequest.Add("subscriber", new Dictionary<string, object>{
{"birth_date", "2015-01-05"},
{"claim_filing_code", "commercial_insurance_co"},
{"first_name", "EMMIE"},
{"gender", "female"},
{"last_name", "DOE"},
{"member_id", "987654321"},
{"payer_responsibility", "secondary"},
{"address", new Dictionary<string, object>{
{"address_lines", new string[] {"100 CALHOUN"}},
{"city", "CHARLESTON"},
{"state", "SC"},
{"zipcode", "29407"}}}
});
client.claims(cobClaimRequest);
let data = [
"correlation_id": "CLAIM1158654",
"transaction_code": "chargeable",
"trading_partner_id": "MOCKPAYER"
"billing_provider": [
"address": [
"address_lines": [
"25 RAINBOW ROW"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
],
"npi": "1487640231",
"organization_name": "MEDCO MEDICAL INC",
"payment_address": [
"address_lines": [
"PO BOX 123"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29401"
],
"tax_id": "123456789",
"taxonomy_code": "777B12345X"
],
"claim": [
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "signed_statement",
"place_of_service": "home",
"plan_participation": "assigned",
"prior_authorization_number": "P00171408ABCDEF",
"provider_signature": true,
"service_facility": [
"address": [
"address_lines": [
"300 RIVERS AVE"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29412"
],
"organization_name": "MEDCITY"
],
"service_lines": [
[
"adjudication": [
"adjustments": [
[
"amount": "28.22",
"group": "patient_responsibility",
"reason": "2"
],
[
"amount": "26.79",
"group": "contractual_obligations",
"reason": "45"
]
],
"amount": "40.66",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "T4529",
"procedure_qualifier": "HC",
"quantity": "246"
],
"charge_amount": "95.67",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": [
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
],
"procedure_code": "T4529",
"provider_control_number": "900001",
"service_date": "2017-03-20",
"unit_count": "246",
"unit_type": "units"
],
[
"adjudication": [
"adjustments": [
[
"amount": "72",
"group": "other_adjustments",
"reason": "96"
]
],
"amount": "0",
"amount_owed": "0",
"claim_paid_date": "2017-04-04",
"payer_id": "62308",
"procedure_code": "A4554",
"procedure_qualifier": "HC",
"quantity": "120"
],
"charge_amount": "72",
"diagnosis_codes": [
"N184"
],
"is_emergency": false,
"ordering_provider": [
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953",
"state_license_number": "SC12345"
],
"procedure_code": "A4554",
"provider_control_number": "900002",
"service_date": "2017-03-20",
"unit_count": "120",
"unit_type": "units"
]
],
"total_charge_amount": "167.67"
],
"coordination_of_benefits": [
"payer": [
"id": "777654",
"organization_name": "BCBSSC"
],
"payer_amount_paid": "40.66",
"subscriber": [
"address": [
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
],
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"group_number": "888754",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "primary",
"relationship": "self",
"release_of_information_code": "signed_statement"
]
],
"payer": [
"address": [
"address_lines": [
"PO BOX 301404"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
],
"id": "12345",
"organization_name": "CHARLESTON HEALTH PLAN"
],
"receiver": [
"id": "EMPORIUM",
"organization_name": "X12 FLAT FILE EMPORIUM"
],
"submitter": [
"contacts": [
[
"contact_methods": [
[
"type": "phone",
"value": "8431114444"
]
],
"name": "BOB DOE"
]
],
"id": "55512",
"organization_name": "MEDCO MEDICAL INC"
],
"subscriber": [
"address": [
"address_lines": [
"100 CALHOUN"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
],
"birth_date": "2015-01-05",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"gender": "female",
"last_name": "DOE",
"member_id": "987654321",
"payer_responsibility": "secondary"
]
] as [String:Any]
try client.claims(params: data)
Sample Coordination of Benefits Claim Request (example includes 3 payers, with COB as a list).
client.claims({
"trading_partner_id": "MOCKPAYER",
"billing_provider": {
"address": {
"address_lines": [
"25 RAINBOW ROW"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"npi": "1487640231",
"organization_name": "MEDICO MEDICAL INC",
"payment_address": {
"address_lines": [
"PO BOX 123"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29401"
},
"tax_id": "123456789",
"taxonomy_code": "777B12345X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "signed_statement",
"place_of_service": "home",
"plan_participation": "assigned",
"provider_signature": true,
"service_lines": [
{
"charge_amount": "570",
"diagnosis_codes": [
"Z930"
],
"is_emergency": false,
"ordering_provider": {
"first_name": "STEVEN",
"last_name": "DOE",
"npi": "1912301953"
},
"procedure_code": "A4605",
"provider_control_number": "992443",
"service_date": "2017-01-24",
"unit_count": "30",
"unit_type": "units"
}
],
"total_charge_amount": "570"
},
"coordination_of_benefits": [
{
"payer": {
"id": "123456",
"organization_name": "AETNA HEALTH PLANS"
},
"subscriber": {
"address": {
"address_lines": [
"100 Calhoun Street"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "commercial_insurance_co",
"first_name": "EMMIE",
"group_number": "47672912001",
"last_name": "DOE",
"member_id": "W128675309",
"payer_responsibility": "secondary",
"relationship": "self",
"release_of_information_code": "signed_statement"
}
},
{
"payer": {
"id": "MCAIDSC",
"organization_name": "MEDICAID SC"
},
"subscriber": {
"address": {
"address_lines": [
"100 Calhoun Street"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"authorize_payment_to_billing_provider": "yes",
"claim_filing_code": "medicaid",
"first_name": "EMMIE",
"last_name": "DOE",
"member_id": "519108745",
"payer_responsibility": "tertiary",
"relationship": "self",
"release_of_information_code": "signed_statement"
}
}
],
"correlation_id": "C0200000000001150965",
"payer": {
"address": {
"address_lines": [
"PO BOX 301404"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29407"
},
"id": "12345",
"organization_name": "CHARLESTON MEDICARE PLAN"
},
"receiver": {
"id": "EMPORIUM",
"organization_name": "X12 FLAT FILE EMPORIUM"
},
"submitter": {
"contacts": [
{
"contact_methods": [
{
"type": "phone",
"value": "8431114444"
}
]
}
],
"id": "55512",
"organization_name": "MEDICO MEDICAL INC"
},
"subscriber": {
"address": {
"address_lines": [
"100 Calhoun Street"
],
"city": "CHARLESTON",
"state": "SC",
"zipcode": "29403"
},
"birth_date": "1930-11-26",
"claim_filing_code": "medicare_part_b",
"first_name": "EMMIE",
"gender": "male",
"last_name": "DOE",
"member_id": "86753090020",
"payer_responsibility": "primary"
},
"transaction_code": "chargeable"
})
Available modes of operation: batch/async
Following the standard X12 837 format, the Claims endpoint allows applications to easily submit claims to designated trading partners. A Claim is submitted to the trading partner to report services completed and request compensation. To understand how the Claims endpoint works, reference our Claims workflow.
The Claims endpoint gives clients the ability to submit Professional (837P) claims. Professional format claims are submitted using the CMS-1500 parameters by physicians, suppliers and other non-institutional providers. To review which trading partners support claim transactions, visit our trading partners list.
Once a claim has been submitted, status can be tracked through PokitDok’s system using the Activities endpoint. There is also an option to supply a callback_url in the claim request which indicates that your application should be notified when the asynchronous processing is complete and a claim acknowledgement has been received from the trading partner. In order to track status in the trading partner’s adjudication system, please utilize the Claim Status endpoint.
A trading partner’s first response lets you know if the request has been accepted (or rejected) by their claims validation system. Once your claim submission is accepted by the trading partner, it will enter their adjudication system. A tracking id or claim control number will be assigned after passing the validation stage, which can then be used in claims status requests to track the claim. A claim can be monitored via a Claims Status request once the claim has been accepted in the trading partner’s adjudication system. The speed at which a claim is adjudicated is dependent on the trading partner. On average it takes 5-7 days for a claim to enter a payer’s adjudication system, thus it is recommended to wait at least a week after submitting a claim to check its status. Once adjudication is complete, the trading partner will return an electronic remittance advice or ERA (if registered to receive ERAs), otherwise a paper remittance advice is sent with final adjudication information. Review our claim payments reference for additional information.
A special trading_partner_id
called MOCKPAYER
is available for use to test different claims scenarios.
See MOCKPAYER claims testing for details.
The Payments endpoints may be used as a companion to the Claims endpoint to search and retrieve claim payment information including the raw X12 835 data. Individual claim payment objects will be assigned to the matching claims activity’s result. The Payments endpoints are useful when the application has a need to review a summary of payment information or match deposits back up with the claims activities that were bundled in a single payment.
Endpoint Description
Endpoint | HTTP Method | Description |
---|---|---|
/claims/ | POST | Submit a claim to the specified trading partner. |
Parameters
The /claims/
endpoint accepts the following parameters:
Parameter | Description | CMS 1500 |
---|---|---|
billing_provider | Required: A dictionary of information for the provider that is billing for services. Uses the provider object below. | 33: Billing Provider Info |
claim | Dictionary of information representing a claim for services that have been performed by a health care provider for the patient. | |
claim.claim_frequency | Used to identify if a claim is original, corrected or canceled. Defaults to original. A full list of possible values can be found below. If submitting a corrected claim, claim.original_reference_number is required. | |
claim.provider_signature | Whether a provider signature is associated with the claim. Defaults to true. | |
claim.plan_participation | Whether there is plan participation associated with the claim. Defaults to assigned. Possible values are assigned, lab, and n/a. | |
claim.direct_payment | Whether the claim was a direct payment to the provider. Possible values are y, n, and n/a. Selecting y indicates patient signature included on CMS 1500 form box 13 and payment sent to provider. | |
claim.information_release | Information release informatin associated with the claim. Possible values are informed_consent and signed_statement. | |
claim.medical_record_number | The patient’s medical record number. | |
claim.clinical_laboratory_improvement_amendment_number | The Clinical Laboratory Improvement Amendment (CLIA) number for the facility. | |
claim.onset_date | Optional: the date of first symptoms for the illness. In ISO8601 format (YYYY-MM-DD). | 14: Date of current illness OR injury OR pregnancy |
claim.place_of_service | The location where services were performed (e.g. office). A full list of possible values is included below. | 24b: Place of service |
claim.patient_paid_amount | Optional: The amount the patient has already paid the provider for the services listed in the claim. When reporting cash payment encounters for the purpose of contributing those amounts toward the member’s deductible, the patient_paid_amount will equal the total_charge_amount. | 29: Amount Paid |
claim.patient_signature_on_file | Boolean indicator for whether or not a patient’s signature is on file to authorize the release of medical records. Defaults to true if not specified. | 12: Patient’s or authorized person’s signature |
claim.statement_date | The (start) date of this statement. In ISO8601 format (YYYY-MM-DD). | |
claim.statement_end_date | The end date of this statement. In ISO8601 format (YYYY-MM-DD). | |
claim.note | Claim Note object. | |
claim.note.reference_code | Reference codes associated with claim note. Possibilities are additional_information (ADD), goals_rehab_discharge (DCP), certification_narrative (CER), diagnosis_description (DGN), third_party_organization_notes (TPO). | |
claim.note.note | Message text for claim note. | |
claim.service_lines | List of services that were performed as part of this claim. | |
claim.service_lines.charge_amount | The amount charged for this specific service. (e.g. 100.00) | 24f: Charges |
claim.service_lines.diagnosis_codes | A list of diagnosis codes related to this service. (e.g. 487.1) | 21: Diagnosis or nature of illness or injury |
claim.service_lines.procedure_code | The CPT code for the service that was performed | 24d: Procedures, Services, or Supplies |
claim.service_lines.procedure_modifier_codes | Optional: List of modifier codes for the specified procedure. (e.g. [“GT”]) Some trading partners may require explicit placement of specific modifier codes within this list. When a partner mandates this, you may use "" to advance to the next slot in the list. (e.g. ["", "GT"] when the partner indicates GT must be sent as the second modifier and no other modifiers are to be included.) |
24d: Procedures, Services, or Supplies |
claim.service_lines.provider_control_number | The provider’s control number. | |
claim.service_lines.note | Service Line Note object. | |
claim.service_lines.note.reference_code | Reference codes associated with service line note. Possibilities are additional_information (ADD) and goals_rehab_discharge (DCP). | |
claim.service_lines.note.note | Message text for service line note. | |
claim.service_lines.service_date | The date the service was performed. In ISO8601 format (YYYY-MM-DD). | 24a: Date(s) of service (from) |
claim.service_lines.service_end_date | Optional: The end date for the service. Use this to utilize a date range for the service date. In ISO8601 format (YYYY-MM-DD). | 24a: Date(s) of service (to) |
claim.service_lines.place_of_service | The location where services were performed (e.g. office). A full list of possible values is included below. | 24b: Place of service |
claim.service_lines.initial_treatment_date | The initial treatment date of this claim. In ISO8601 format(YYYY-MM-DD). | |
claim.service_lines.last_seen_date | The date that the patient was seen by attending or supervising physician for the qualifying medical condition related to the services performed. In ISO8601 format (YYYY-MM-DD). | |
claim.service_lines.unit_count | Number of units of this service. (e.g. 1.0) | 24g: Days or Units |
claim.service_lines.unit_type | The type of unit being described for this particular service’s unit count. Possible values include: units, days | |
claim.service_lines.procedure_description | The procedure description of the service. | |
claim.service_lines.sales_tax | The sales tax of a service. | |
claim.service_lines.is_emergency | Boolean of whether the service is an emergency. | |
claim.service_lines.begin_therapy_date | The start date of therapy associated to a service. In ISO8601 format (YYYY-MM-DD). | |
claim.service_lines.certification_revision_date | Date of revision for Durable Medical Equipment Certification. In ISO8601 format (YYYY-MM-DD). | |
claim.service_lines.last_certification_date | Date of last certification for Durable Medical Equipment. In ISO8601 format (YYYY-MM-DD). | |
claim.service_lines.ambulance_patient_count | The ambulance patient count associated with the service. Required if more than one patient is transported in the same vehicle. | |
claim.service_lines.test_results | Used to communicate measurements or counts for tests. | |
claim.service_lines.test_results.reference_id | Code which identifies the category for the measurement. Available options are original or test_results. | |
claim.service_lines.test_results.measurement | Qualifier for the type of measurement. Available options are height, hemoglobin, hematocrit, epoetin_starting_dosage, and creatinine. | |
claim.service_lines.test_results.value | Numerical value associated with the measurement. | |
claim.service_lines.rendering_provider | Rendering provider associated with the service. Used if the claim’s billing provider is not the health care provider that provided this particular service. Uses the provider object below. | |
claim.service_lines.purchased_service_provider | Provider associated with the purchased service. Used if the service reported in the service line item is a purchased service. Uses certain parameters available in the provider object below. Tax id, taxonomy code and address are not to be submitted for a purchased service provider. | |
claim.service_lines.supervising_provider | The supervising provider associated with this claim. Used if the claim’s rendering provider is supervised by a physician. The supervising provider must be an individual, not an organization. Uses certain parameters available in the provider object below. Tax id, taxonomy code and address are not to be submitted for a supervising provider. | |
claim.service_lines.ordering_provider | Ordering provider associated with the service. Used if the claim’s ordering provider is different than the rendering provider for this service line. The ordering provider must be an individual, not an organization. Uses certain parameters available in the provider object below. Tax id, taxonomy code are not to be submitted for an ordering provider. | |
claim.service_lines.referring_provider | Referring provider associated with the service. Used if the claim involves a referral. The referring provider must be an individual, not an organization. Uses certain parameters available in the provider object below. Tax id, taxonomy code and address are not to be submitted for a referring provider. | |
claim.service_lines.drug | Information regarding the drug associated with a service. | |
claim.service_lines.drug.code_type | The code type associated to the drug. | |
claim.service_lines.drug.code | The code associated to the drug. | |
claim.service_lines.drug.unit_type | The unit or system used to measure the drug. A full list of possible values can be found below. | |
claim.service_lines.drug.quantity | The quantity associated with the drug. | |
claim.service_lines.drug.precription_number | The prescription number associated to the drug. | |
claim.service_lines.dme_certification | Information regarding the durable medical equipment certification. | |
claim.service_lines.dme_certification.type | The type of certification associated with the DME. Possible values are initial, renewal, revised. | |
claim.service_lines.dme_certification.months | Number of months associated with the durable medical equipment certification. | |
claim.service_lines.paperwork | Supplemental claim information (paperwork traveling separate from the claim transaction). | |
claim.service_lines.paperwork.report_type | The report type associated with the paperwork. | |
claim.service_lines.paperwork.transmission_method | The transmission method of the paperwork (e.g. email, fax). | |
claim.service_lines.paperwork.control_number | The control number associated with the paperwork. | |
claim.service_lines.forms | Supporting documentation associated with a service. | |
claim.service_lines.forms.form_type | Type associated with a form. Possible values are form_type_code and cms_dmerc_cmn. | |
claim.service_lines.forms.identifier | The form identifier. | |
claim.service_lines.forms.questions.question_number | The question number. | |
claim.service_lines.forms.questions.yes_no_response | The yes or no response to the question | |
claim.service_lines.forms.questions.text_response | The text response to the question | |
claim.service_lines.forms.questions.date_response | The date response to the question | |
claim.service_lines.forms.questions.percent_decimal_response | The percent decimal response to the question | |
claim.service_lines.referral_number | The referral number for the service line claim | |
claim.service_line.adjudication | Provides previous payer adjudication information for the claim service line. below | |
claim.state_or_province_code | For claims related to auto accident, the two-letter state abbreviation code in which the automobile accident occurred. | |
claim.disability_period_start | Required on claims involving disability where, in the judgment of the provider, the patient was or will be unable to perform the duties normally associated with his/her work. Disability start date in ISO8601 format (YYYY-MM-DD). | |
claim.disability_period_end | Required on claims involving disability where, in the judgment of the provider, the patient was or will be unable to perform the duties normally associated with his/her work. Disability end date in ISO8601 format (YYYY-MM-DD). | |
claim.admission_date | The patient’s admission date. In ISO8601 format (YYYY-MM-DD). | |
claim.discharge_date | Required for inpatient claims when the patient was discharged from the facility and discharge date is known. In ISO8601 format (YYYY-MM-DD). | |
claim.last_seen_date | The date that the patient was seen by attending or supervising physician for the qualifying medical condition related to the services performed. In ISO8601 format (YYYY-MM-DD). | |
claim.project_code | The demonstration project identifier for the claim. | |
claim.report_start_date | Required to indicate assumed care date when providers share post-operative care (global surgery claims). In ISO8601 format (YYYY-MM-DD). | |
claim.report_end_date | Required to indicate relinquished care date when providers share post-operative care (global surgery claims). In ISO8601 format (YYYY-MM-DD). | |
claim.care_plan_oversight_number | The number of the home health agency or hospice providing Medicare covered services to the patient for the period during which CPO services were furnished. | |
claim.paperwork | Supplemental claim information (paperwork traveling separate from the claim transaction). | |
claim.paperwork.report_type | The report type associated with the paperwork. | |
claim.paperwork.transmission_method | The transmission method of the paperwork (e.g. email, fax). | |
claim.paperwork.control_number | The control number associated with the paperwork. | |
claim.total_charge_amount | The total amount charged/billed for the claim. (e.g. 100.00) | 28: Total Charge |
claim.initial_treatment_date | The initial treatment date of this claim. In ISO8601 format (YYYY-MM-DD). | |
claim.acute_manifestation_date | The acute manifestation date of this claim. In ISO8601 format (YYYY-MM-DD). | |
claim.last_x_ray_date | The last x-ray date associated with this claim. In ISO8601 format (YYYY-MM-DD). | |
claim.accident_date | The accident date associated with this claim. In ISO8601 format (YYYY-MM-DD). | |
claim.referring_provider | Referring provider associated with the service. Used if the claim involves a referral. The referring provider must be an individual, not an organization. Uses certain parameters available in the provider object below. Tax id, taxonomy code and address are not to be submitted for a referring provider. | |
claim.rendering_provider | The rendering provider associated with this claim. Used if the top level billing provider is not the health care provider that provided services. Uses the provider object below. | |
claim.supervising_provider | The supervising provider associated with this claim. Used if the claim’s rendering provider is supervised by a physician. The supervising provider must be an individual, not an organization. Uses certain parameters available in the provider object below. Tax id, taxonomy code and address are not to be submitted for a supervising provider. | |
claim.related_causes_code | Codes specifying a cause associated with the claim. Possibilities are auto_accident (AA), employment (EM), and other_accident (OA). Used if the top level billing provider is not the health care provider that provided services. | |
claim.original_reference_number | The original reference number of the claim. Required if claim.claim_frequency is “corrected”. | |
claim.ambulance | Ambulance information associated with the claim. | |
claim.patient_weight | The weight of the patient. | |
claim.ambulance.reason_code | The reason for ambulance transportation. Possibilities can be seen below. | |
claim.ambulance.transport_distance | The distance the patient was transported in the ambulance. | |
claim.ambulance.round_trip_purpose_description | The purpose description for a round trip. | |
claim.ambulance.stretcher_purpose_description | The purpose description for stretcher use. | |
claim.ambulance.applicable_conditions | Conditions associated with reasons for ambulance transport. Possibilities can be seen below. | |
claim.ambulance.not_applicable_conditions | Conditions associated with reason not for ambulance transport. Possibilities can be seen below. | |
claim.ambulance.pickup_location | The pickup location for the ambulance. Uses an address object. | |
claim.ambulance.dropoff_location | The dropoff location for the ambulance. Uses an address object. | |
claim.chiropractic | Chiropractic information associated with the claim. | |
claim.chiropractic.spinal_condition | Chiropractic condition associated with the claim. Possibilities can be seen below. | |
claim.chiropractic.description | Description of the chiropractic information associcated with the claim. | |
claim.service_facility | Service facility associated with the claim. | |
claim.service_facility.organization_name | Organization name of the service facility. | |
claim.service_facility.npi | NPI of the service facility. | |
claim.service_facility.address | Address of the service facility. Uses an address object. | |
claim.prior_authorization_number | Prior authorization number associated with the claim. This value is assigned by the payor. | |
claim.referral_number | The referral number for the claim | |
patient | Information about the patient that received services outlined in the claim. Patient information is only required when the patient is not the insurance subscriber. | |
patient.address | Required: The patient’s address information. Uses the address object. | 5: Patient’s address |
patient.birth_date | The patient’s birth date as specified on their policy. In ISO8601 format (YYYY-MM-DD). | 3: Patients Birth Date |
patient.first_name | Required: The patient’s first name. | 2: Patient’s Name |
patient.gender | The patient’s gender. | 3: The patient’s sex |
patient.death_date | The patient’s date of death. In ISO8601 format (YYYY-MM-DD). | |
patient.suffix | The suffix of the patient. | |
patient.phone | The patient’s phone number. | |
patient.ssn | The patient’s ssn. | |
patient.member_id | Required: The patient’s member identifier. | |
patient.middle_name | Optional: The patient’s middle name. | |
patient.last_name | Required: The patient’s last name. | 2: Patient’s Name |
patient.pregnant | Patient pregnancy indicator. Defaults to false. | |
patient.relationship | Required: The patient’s relationship to the subscriber. A full list of possible values is included below. | 6: Patient’s relationship to the insured |
subscriber | Information about the insurance subscriber as it appears on their policy. Uses the subscriber object. | |
trading_partner_id | Required: Unique id for the intended trading partner, as specified by the Trading Partners endpoint. | |
transaction_code | Required: The type of claim transaction that is being submitted (e.g. “chargeable”). A full list of possible values is included below. | |
coordination_of_benefits | Required for Secondary Claims: Information related to the coordination of benefits for additional payers. object | |
generate_pdf | Use of this parameter will not generate a PDF version of a claims submission. This parameter will default to a value of false, and is for PokitDok’s internal use. |
A claim goes through an entire lifecycle after its transmission to a payer. For details on this process, and how the Claims Status Endpoint ties in, see our claims API workflow.
Response
The /claims/
response contains an activity and thus returns the same object as the activity endpoint. This object can be seen under the activities endpoint documentation above. The only difference between the activities and claims response is the data returned via the ‘parameters’ field. The following objects/fields are attached internally and can be accessed via the parameters object:
Field | Description |
---|---|
submitter | The submitter of the claims request. |
submitter.first_name | The first name of the submitter. |
submitter.middle_name | The middle name of the submitter. |
submitter.last_name | The last name of the submitter. |
submitter.organization_name | The organization name of the submitter. |
submitter.id | The unique id of the submitter. |
submitter.email | The email of the submitter. |
submitter.contacts | A list of contacts associated with submitter. |
submitter.contacts.name | The name of the contact. |
submitter.contacts.contact_methods | A list of contact methods assoicated with the contact. |
submitter.contacts.contact_methods.type | The type of contact method. Possibilities are email, fax, phone, phone_extensions, and url. |
submitter.contacts.contact_methods.value | The value assoicated with a contact type (e.g. a phone number). |
receiver | The receiver of the claims request. |
receiver.id | The unique id of the receiver. |
receiver.organization_name | The organization name of the receiver. |
receiver.email | The email of the receiver. |
Additional Object Tables
Field | Description | CMS 1500 |
---|---|---|
address | The subscriber’s address information as specified on their policy. Uses an address object. | 7: Insured’s address |
birth_date | The subscriber’s birth date as specified on their policy. In ISO8601 format (YYYY-MM-DD). | 11a: Insured’s date of birth |
claim_filing_code | Indicates the type of payment for the claim. It is an optional field and when left blank or not passed in the request, defaults to “mutually_defined”. A full list of possible values is included below. | |
first_name | Required: The subscriber’s first name as specified on their policy. | |
suffix | The suffix if any used by the subscriber. | |
middle_name | The subscriber’s middle name as specified on their policy. | |
phone | The subscriber’s phone number. | |
gender | The subscriber’s gender as specified on their policy. | 11a: Insured’s sex |
group_number | Optional: The subscriber’s group or policy number as specified on their policy. | 11: Employer’s policy number or group number |
group_name | Optional: The subscriber’s group name as specified on their policy. | 11b: Employer’s name or school name |
member_id | Required: The subscriber’s member identifier. | 1a: Insured’s ID number |
last_name | Required: The subscriber’s last name as specified on their policy. | 4: Insured’s name |
ssn | The subscriber’s ssn name as specified on their policy. | |
payer_responsibility | Determines the position of the payer with regards to coordination of benefits. Defaults to primary. List of possibilities can be seen below. | |
relationship | Used for coordination of benefits subscriber only. The patient’s relationship to the subscriber. A full list of possible values is included below. | 6: Patient’s relationship to the insured |
authorize_payment_to_billing_provider | Used for coordination of benefits subscriber only. Values: [no, default: yes] | |
patient_signature_source | Used for coordination of benefits subscriber only. Values: [other, default: patient] | |
release_of_information_code | Used for coordination of benefits subscriber only. Values: [signed_statement, default: informed_consent] |
Field | Description | CMS 1500 |
---|---|---|
taxonomy_code | The taxonomy code for the provider. (e.g. “207Q00000X”) | 24i: ID Qualifier |
first_name | The first name of the provider. Required when the provider is an individual. | |
middle_name | The middle name of the provider. Required when the provider is an individual. | |
last_name | The last name of the provider. Required when the provider is an individual. | |
suffix | The suffix of the provider. | |
organization_name | The provider’s name when the provider is an organization. first_name and last_name should be omitted when sending organization_name. | |
npi | The National Provider Identifier for the provider. | 33a: Billing Provider NPI |
state_license_number | The state license number for the provider. | 33a: Billing Provider NPI |
tax_id | The federal tax id for the provider. For individual providers, this may be the tax id of the medical practice or organization where a provider works. | 25: Federal tax ID Number (SSN EIN) |
provider_commercial_number | A proprietary number assigned to a provider by the destination payer. | |
upin | A unique physician identification number which was replaced by the use of NPI. | |
location_number | A location number assigned to a provider. | |
address | The provider’s address. Uses an address object. | |
payment_address | The provider’s payment address to be used when the address for payment is different than that of the billing provider. Parameter is placed under the billing provider and uses an address object. | |
contacts | A list of contacts associated with the provider. | |
contacts.name | The name of the contact. | |
contacts.contact_methods | A list of contact methods associated with the contact. | |
contacts.contact_methods.type | The type of contact method. Possibilities are email, fax, phone, phone_extensions, and url. | |
contacts.contact_methods.value | The value assoicated with a contact type (e.g. a phone number). |
Field | Description |
---|---|
address_lines | List of strings representing the street address. (e.g. [“123 MAIN ST.”, “Suite 4”]) |
city | The city component of a address. (e.g. “SAN MATEO”) |
state | The state component of a address. (e.g. “CA”) |
zipcode | The zip/postal code. (e.g. “94401”) |
country | The country component of a address. |
Coordination of Benefits object: The coordination of benefits object can be either a list or a dict. If two payers are included in the claim (one payer in COB), COB will be a dict. If three or more payers are included (two+ payers in COB), COB will be a list.
Field | Description |
---|---|
subscriber | Required: The subscriber of the policy for the additional payer(s). May be the same as the original payer with some additional field requirements. Uses the Subscriber object. |
adjustments | List of claim adjustments (maximum of five). Support varies by trading partner. Uses the adjustment below. |
payer_amount_paid | Amount paid on the claim after claim has been adjudicated by the primary payer. |
amount_owed | Remaining liability amount to be paid after adjudication by the primary payer. |
payer | Required: The payer information to communicate to the top level payer for coordination of benefits. Uses the payer object. |
Claim Adjustment object: Adjustments are used to balance the original submitted billing amounts, monetary and service units, against the primary payer, secondary payer, and patient’s payment amounts and responsibility.
Field | Description |
---|---|
group | Required: The adjustment group code. Identifies the payment adjustment category. object |
reason | Required: The adjustment reason code as defined in HCFA CPCS 139 (Claim Adjustment Reason Codes). Identifies the reason the adjustment was made. |
amount | Required: Adjusts a claim total or service line monetary amount. |
quantity | Adjusts the number of service units used in the claim or on within a specific service line. |
Full list of possible values that can be used in the adjustment.group
field:
adjustment.group Values |
---|
'contractual_obligations’ |
'other_adjustments’ |
'payor_initiated_reductions’ |
'patient_responsibility’ |
'corrections_and_reversals’ |
Claim Adjudication object: Tracks previous payments and adjustments made to a service line within a Coordination of Benefits transaction.
Field | Description |
---|---|
amount | Required: The amount paid for the service line. |
procedure_code | Required: The service line procedure code (HCPCS/CPT). |
procedure_modifiers | List of modifier codes for the service line procedure (maximum of 4) |
quantity | The service line quantity |
adjustments | List of claim service line adjustments (maximum of 5). Uses the adjustment object |
claim_paid_date | Required: The date the service line was paid. In ISO8601 format (YYYY-MM-DD). |
amount_owed | The remaining patient liability amount for the service line. |
Field | Description |
---|---|
organization_name | Required: Name information for the coordination of benefits payer. |
id | Required: Numerical payer id value associated with coordination of benefits payer. |
address | Address information for the coordination of benefits payer. Uses an address object. |
Full list of possible values that can be used in the claim.claim_frequency
parameter on the claim:
claim_frequency Values | |
---|---|
nonpayment | original |
interim_first_claim | interim_continuing_claims |
interim_last_claim | late_charges |
adjustment | corrected |
cancel | final_claim_home_health |
Full list of possible values that can be used in the claim.service_lines.drug.unit_type
parameter on the claim:
unit_type Values | |
---|---|
international | gram |
milligram | milliliter |
unit |
Full list of possible values that can be used in the claim.ambulance.reason_code
parameter on the claim:
reason_code Values | |
---|---|
nearest_or_residential_facility (A) | preferred_physician (B) |
family_proximity © | specialist (D) |
rehab_facility (E) |
Full list of possible values that can be used in the claim.ambulance.applicable_conditions
and claim.ambulance.not_applicable_conditions
parameter on the claim:
condition Values | |
---|---|
admitted_to_hospital | moved_by_stretcher |
unconscious_in_shock | emergency_transport |
physically_restrained | visible_hemorrhaging |
ambulance_medically_necessary | patient_confined_bed_chair |
Full list of possible values that can be used in the claim.chiropractic.spinal_condition
parameter on the claim:
spinal_condition Values | |
---|---|
acute_condition | chronic_condition |
non_acute | non_life_threatening |
routine | symptomatic |
acute_manifestation_chronic_condition |
Full list of possible values that can be used in the claim.place_of_service
parameter on the claim:
place_of_service Values | |
---|---|
ambulance_air_or_water | nursing |
ambulance_land | off_campus_outpatient_hospital |
ambulatory_substance_abuse | office |
assisted_living | other |
birthing_center | outpatient_hospital |
custodial | outpatient_rehab |
end_stage_renal | pharmacy |
er_hospital | prison |
federal_qualified | psych_partial_hospital |
group_home | psych_residential |
home | public_clinic |
hospice | residential_substance_abuse |
ihs_freestanding | rural_clinic |
ihs_provider | school |
immunization | shelter |
independent_clinic | skilled_nursing |
independent_lab | surgical_center |
inpatient_hospital | telehealth |
inpatient_psych | temp_lodging |
inpatient_rehab | tribal_638_freestanding |
mental_health_center | tribal_638_provider |
mentally_retarded | urgent_care |
military | walkin_clinic |
mobile_unit | worksite |
Full list of possible values that can be used in the patient.relationships
parameter on the claim:
relationship Values | |
---|---|
cadaver_donor | organ_donor |
child | other_relationship |
employee | spouse |
life_partner | unknown |
Full list of possible values that can be used in the subscriber.filing_code
parameter on the claim:
filing_code Values | |
---|---|
automobile_medical | medicaid |
blue_cross_blue_shield | medicare_part_a |
champus | medicare_part_b |
commercial_insurance_co | mutualy_defined |
dental_maintenance_organization | other_federal_program |
disability | other_non_federal_program |
epo | pos |
federal_employee_program | ppo |
hmo | title_v |
hmo_medicare_risk | veterans_affairs_plan |
indemnity_insurance | workers_compensation_health_claim |
liability_medical |
Full list of possible values that can be used in the transaction_code
parameter on the claim:
transaction_code Values |
---|
subrogation_demand |
chargeable |
reporting |
Full list of possible values that can be used in the claim.admission_source
parameter on the claim:
admission_source Values | |
---|---|
clinic | immediate_care_facility |
emergency_room | law_enforcement |
health_care_facility | not_available |
hospice_transfer | physician_referral |
hospital_transfer | surgery_center |
Full list of possible values that can be used in the claim.admission_type
parameter on the claim:
admission_type Values | |
---|---|
elective | newborn |
emergency | trauma_center |
information_not_available | urgent |
Full list of possible values that can be used in the claim.facility_type
parameter on the claim:
facility_type Values | |
---|---|
clinic_corf | hospital_inpatient_part_b |
clinic_ersd | hospital_other_part_b |
clinic_opt | hospital_outpatient_asc |
clinic_rural_health | hospital_outpatient |
community_mental_health_center | hospital_swing_bed |
critical_access_hospital | nonhospital_based_hospice |
federally_qualified_health_center | religious_nonmedical_institution |
home_health_part_b | skilled_nursing_inpatient_part_b |
home_health | skilled_nursing_inpatient |
hospital_based_hospice | skilled_nursing_outpatient |
hospital_inpatient_part_a | skilled_nursing_swing_bed |
Full list of possible values that can be used in the claim.patient_status
parameter on the claim:
patient_status Values | |
---|---|
expired_at_home | transferred_to_hospice_at_home |
expired_in_medical_facility | transferred_to_hospice_medical_facility |
expired_place_unknown | transferred_to_inpatient_rehab |
expired | transferred_to_intermediate_care_facility |
inpatient_at_this_hospital | transferred_to_long_term_care_hospital |
left_against_medical_advice | transferred_to_nursing_facility_not_medicare_certified |
routine_discharge | transferred_to_other_health_care_institution |
still_patient | transferred_to_psychiatric_hospital |
transferred_to_cancer_center | transferred_to_short_term_hospital |
transferred_to_critical_access_hospital | transferred_to_skilled_nursing_facility |
transferred_to_federal_hospital | transferred_to_swing_bed |
transferred_to_home_with_home_health_service |
Full list of possible values that can be used in the claim.occurrence_information.occurrence_type
parameter on the claim:
occurrence_type Values | |
---|---|
accident_employment_related | guarantee_of_payment |
accident_medical_coverage | home_iv_therapy_started |
accident_no_medical_coverage | hospice_certification |
accident_tort_liability | inpatient_hospital_discharge_non_covered_transplant_patient |
active_care_ended | inpatient_hospital_discharge_transplant_patient |
admission_scheduled | insurance_denied |
beneficiary_notified_of_intent_to_bill_accomodations | last_menstrual_period |
beneficiary_notified_of_intent_to_bill_procedures | last_therapy |
benefits_exhausted_payer_a | no_fault_insurance_involved |
benefits_exhausted_payer_b | occupational_therapy_started |
benefits_exhausted_payer_c | onset_for_chronically_dependent_individual |
benefits_terminated_primary_payer | onset_of_symptoms |
birth_date_insured_a | outpatient_occupational_therapy_plan_reviewed |
birth_date_insured_b | outpatient_physical_therapy_plan_reviewed |
birth_date_insured_c | outpatient_speech_pathology_plan_reviewed |
canceled_surgery_scheduled | physical_therapy_started |
cardiac_rehab_started | pre_admission_testing |
comprehensive_outpatient_rehab_plan_reviewed | retirement_spouse |
cost_outlier_status_begins | retirement |
crime_victim | snf_bed_became_available |
discharge | speech_therapy_started |
discharged_on_continuous_course_iv_therapy | split_bill_date |
effective_date_insured_a | start_coordination_period_for_esrd_beneficiaries |
effective_date_insured_b | start_infertility_treatement_cycle |
effective_date_insured_c | ur_notice_received |
election_of_extended_care_facilities |
Full list of possible values that can be used in the claim.value_information.value_type
parameter on the claim:
value_information.value_type | |
---|---|
accident_hour | medicare_blood_deductible |
any_liability_insurance | medicare_coinsurance_amount_first_year |
arterial_blood_gas | medicare_coinsurance_amount_second_year |
black_lung | medicare_lifetime_reserve_amount_first_year |
blood_deductible_pints | medicare_lifetime_reserve_amount_second_year |
blood_pints_furnished | medicare_new_technology_add_on_payment |
blood_pints_replaced | medicare_spend_down_amount |
cardiac_rehab_visits | most_common_semi_private_rate |
catastrophic | multiple_patient_ambulance_transport |
chiropractic_services_offset_patient_payment_amount | new_coverage_not_implemented_by_managed_care_plan |
coinsurance_days | newborn_birth_weight |
coinsurance_payer_a | no_fault_insurance |
coinsurance_payer_b | non_covered_days |
coinsurance_payer_c | occupational_therapy_visits |
conventional_provider_payment_amount_non_demonstration_claims | operating_disproportionate_share_amount |
copayment_payer_a | operating_indirect_medical_education_amount |
copayment_payer_b | operating_outlier_amount |
copayment_payer_c | other_assessments_payer_a |
covered_days | other_assessments_payer_b |
covered_self_administrable_drugs_diagnostic_study | other_assessments_payer_c |
covered_self_administrable_drugs_emergency | other_medical_services_offset_patient_payment_amount |
covered_self_administrable_drugs_not_self_administrable | oxygen_saturation |
deductible_payer_a | part_a_demonstration_payment |
deductible_payer_b | part_b_coinsurance |
deductible_payer_c | part_b_demonstration_payment |
dental_services_offset_patient_payment_amount | patient_estimated_responsibility |
disabled_beneficiary_under_65_with_lghp | patient_height |
eligibility_threshold_charity_care | patient_liability_amount |
epo_units_provided | patient_weight |
esrd_beneficiary_in_medicare_coordination_period_with_eghp | peritoneal_dialysis |
esrd_network_funding | phs |
estimated_responsibility_payer_a | physical_therapy_visits |
estimated_responsibility_payer_b | podiatric_services_offset_patient_payment_amount |
estimated_responsibility_payer_c | prescription_drugs_offset_patient_payment_amount |
flat_rate_surgery_charge | professional_charges_included_and_billed_separately |
grace_days | provider_amount_agreed_to_accept_primary_payer |
health_insurance_premiums_offset_patient_payment_amount | providers_interim_rate |
hearing_ear_services_offset_patient_payment_amount | recurring_monthly_income |
hematocrit_reading | regulatory_surcharges_payer_a |
hemoglobin_reading | regulatory_surcharges_payer_b |
hh_reimbursements_part_a | regulatory_surcharges_payer_c |
hh_reimbursements_part_b | service_furnished_location_number |
hh_visits_part_a | skilled_nurse_home_visit_hours |
hh_visits_part_b | special_zip_code_reporting |
hha_branch_msa | speech_therapy_visits |
home_health_aide_home_visit_hours | state_charity_care_percent |
hospital_no_semi_private_rooms | surplus |
inpatient_professional_charges_combined_billed | veterans_affairs |
interest_amount | vision_eye_services_offset_patient_payment_amount |
lifetime_reserve_days | workers_compensation |
medicaid_rate_code | working_age_beneficiary_spouse_with_eghp |
medicaid_rate_code | working_age_beneficiary_spouse_with_eghp |
Full list of possible values that can be returned in the subscriber.payer_responsibility
field on the claim:
payer_responsibility Values | |
---|---|
four | five |
six | seven |
eight | nine |
ten | eleven |
primary | secondary |
tertiary | unknown |
MOCKPAYER Additional Details
The MOCKPAYER
trading partner id supports a couple different testing scenarios to help API client applications
verify their handling of different claims
activity results. Similar to some payment processors, special
member id values may be used in a MOCKPAYER claims API request to simulate a rejection for that claim.
The 00001234
member id value may be used to simulate a claim being rejected due to an invalid date of service.
This will often happen when a claim is submitted for a date of service prior to the date that member became
active for coverage.
The 00009999
member id value may be used to simulate a claim being rejected due to an invalid date of birth
for the subscriber/patient. This can often happen if the eligiblity API is not utilized prior to submitting
a claims API request to verify the member’s information with the trading partner.
When MOCKPAYER
claims requests are submitted for processing, they’ll enter a scheduled
state if they’re
valid claims requests. About 5 minutes or so after submission, those MOCKPAYER
claims will be processed.
If any of the above values are included in the claims request data, it will be rejected. Otherwise, it
will be accepted for further processing.
Claims Convert
Example claims convert request using a local X12 837 test file
cat test_claim.837
ISA*00* *00* *01*9012345720000 *01*9088877320000 *151004*2235*U*00501*000000007*0*T*:~GS*HC*901234572000*908887732000*20151004*2235*7*X*005010X222~ST*837*0001~BHT*0019*00*2KYXDRE61GU20TFMBPA*20151004*2231*CH~NM1*41*2*Pokitdok, Inc.*****46*12345~PER*IC**EM*x12info@pokitdok.com~NM1*40*2*MOCKPAYER*****46*12345~HL*1**20*1~PRV*BI*PXC*207Q00000X~NM1*85*1*Blackwell*Elizabeth****XX*1234567893~N3*8311 WARREN H ABERNATHY HWY~N4*SPARTANBURG*SC*293010000~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******ZZ~NM1*IL*1*Doe*Jane****MI*W000000000~N3*123 N MAIN ST~N4*SPARTANBURG*SC*29301~DMG*D8*19700101*F~NM1*PR*2*MOCKPAYER*****PI*12345~CLM*0f17b46dd39a4bb0add152e99633adbc*60***11:B:1*Y*A*Y*I~HI*BK:4871~LX*1~SV1*HC:99213*60*UN*1.0***1~DTP*472*D8*20140601~SE*24*0001~GE*1*905~IEA*1*000000905~
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -XPOST -F file=@test_claim.837 https://platform.pokitdok.com/api/v4/claims/convert
client.claims_convert('test_claim.837')
client.claims_convert('test_claim.837')
client.claimsConvert('test_claim.837')
client.claimsConvert("test_claim.837");
try client.claimsCovert(x12ClaimsFilePath: "test_claim.837")
Example claims convert response when a single claim is included in the uploaded X12 837 file
{
"claims_request": {
"billing_provider": {
"address": {
"address_lines": [
"8311 WARREN H ABERNATHY HWY"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "293010000"
},
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893",
"tax_id": "123456789",
"taxonomy_code": "207Q00000X"
},
"claim": {
"claim_frequency": "original",
"direct_payment": "y",
"information_release": "informed_consent",
"place_of_service": "office",
"plan_participation": "assigned",
"provider_signature": true,
"service_lines": [
{
"charge_amount": "60",
"diagnosis_codes": [
"J101"
],
"procedure_code": "99213",
"service_date": "2014-06-25",
"unit_count": "1.0",
"unit_type": "units"
}
],
"total_charge_amount": "60.0"
},
"payer": {
"id": "12345",
"organization_name": "MOCKPAYER"
},
"receiver": {
"id": "12345",
"organization_name": "MOCKPAYER"
},
"submitter": {
"email": "x12info@pokitdok.com",
"id": "12345",
"organization_name": "Pokitdok, Inc."
},
"subscriber": {
"address": {
"address_lines": [
"123 N MAIN ST"
],
"city": "SPARTANBURG",
"state": "SC",
"zipcode": "29301"
},
"birth_date": "1970-01-25",
"claim_filing_code": "mutually_defined",
"first_name": "Jane",
"gender": "female",
"last_name": "Doe",
"member_id": "W000000000",
"payer_responsibility": "primary"
},
"trading_partner_id": "MOCKPAYER",
"transaction_code": "chargeable"
},
"converted_edi": "ISA*00* *00* *01*9012345720000 *01*9088877320000 *151004*2237*U*00501*000000007*0*T*:~GS*HC*901234572000*908887732000*20151004*2237*7*X*005010X222~ST*837*0001*005010X222~BHT*0019*00*2KYXEO9NJXIZOWBF8WB*20151004*2237*CH~NM1*41*2*Pokitdok, Inc.*****46*12345~PER*IC**EM*x12info@pokitdok.com~NM1*40*2*MOCKPAYER*****46*12345~HL*1**20*1~PRV*BI*PXC*207Q00000X~NM1*85*1*Blackwell*Elizabeth****XX*1234567893~N3*8311 WARREN H ABERNATHY HWY~N4*SPARTANBURG*SC*293010000~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******ZZ~NM1*IL*1*Doe*Jane****MI*W000000000~N3*123 N MAIN ST~N4*SPARTANBURG*SC*29301~DMG*D8*19700101*F~NM1*PR*2*MOCKPAYER*****PI*12345~CLM*6edff387-bb86-458d-a4a0-1cac77785c21*60***11:B:1*Y*A*Y*I~HI*ABK:J101~LX*1~SV1*HC:99213*60*UN*1.0***1~DTP*472*D8*20140601~SE*24*0001~GE*1*7~IEA*1*000000007~",
"diagnosis_mappings": [
{
"approximate": true,
"combination": false,
"destination_scenarios": [
{
"choice_lists": [
[
{
"description": "Influenza due to other identified influenza virus with other respiratory manifestations",
"system": "icd10",
"value": "J101"
},
{
"description": "Influenza due to unidentified influenza virus with other respiratory manifestations",
"system": "icd10",
"value": "J111"
}
]
]
}
],
"source_code": {
"description": "Influenza with other respiratory manifestations",
"system": "icd9",
"value": "4871"
}
}
]
}
Available modes of operation: real-time and batch/async
The Claims Convert endpoint allows a client application to easily convert a X12 837 claims file into claims request models. When a claims file is submitted with ICD-9 diagnosis codes, those claims will be mapped to corresponding ICD-10 codes. If multiple mappings are possible for the ICD-9 code, the first matching ICD-10 code is used in the converted claim. The mapping information that was used during the claim conversion is also returned in the response so that the mapping may be reviewed prior to submitting converted claims to a trading partner. This endpoint operates in a real-time mode when the supplied claims file only includes a single claim. If the claims file includes multiple claims, the endpoint will operate in a batch mode. When multiple claims are detected, a platform activity will be returned to the client application so that it may use the activities endpoint to track the claims conversion process. For each claim detected in the file, a child activity will be created that may be used to track the conversion of individual claims within the file. The activity result for a converted claim will contain a claims_request value that is suitable for submission to the claims endpoint. The activity result will also contain a converted_edi string value that represents the converted X12 837 transaction for that claim. A list of diagnosis_mappings is also included so that the client application may review the scenarios and choices that were utilized to map ICD-9 to ICD-10.
Endpoint Description
Endpoint | HTTP Method | Description |
---|---|---|
/claims/convert | POST | Submit a X12 837 file for conversion |
Parameters
The /claims/convert
endpoint accepts the following parameters:
Parameter | Description |
---|---|
file | a X12 837 file |
Response
The /claims/convert
response contains the following fields:
Field | Description |
---|---|
claims_request | a JSON object representing the converted claims data that’s suitable for use with the claims endpoint |
converted_edi | a string representing a converted X12 837 transaction with ICD-9 mapped to ICD-10. The X12 envelope (ISA and GS segments) is preserved from the original X12 file. |
diagnosis_mappings | a list of diagnosis mapping information that was used to convert ICD-9 to ICD-10 for this claim |
diagnosis_mappings.destination_scenarios | a list of mapping scenarios that apply for the matched ICD-9 code |
diagnosis_mappings.destination_scenarios.choice_lists | a list of codes that represent a destination scenario for diagnosis mapping |
diagnosis_mappings.destination_scenarios.choice_lists.description | a string representing a description of the source ICD-9 code |
diagnosis_mappings.destination_scenarios.choice_lists.value | a string containing the ICD-9 code value |
diagnosis_mappings.destination_scenarios.choice_lists.system | a string representing the code system (icd9) |
diagnosis_mappings.source_code.description | a string representing a description of the source ICD-9 code |
diagnosis_mappings.source_code.system | a string representing the code system (icd9) |
diagnosis_mappings.source_code.value | a string containing the ICD-9 code value |
diagnosis_mappings.approximate | a boolean of whether or not the mapping from ICD-9 to ICD-10 was direct or more of an approximation. |
diagnosis_mappings.combination | a boolean of whether or not multiple ICD-9 values were combined and mapped to fewer ICD-10 values. |
Claims Status
Example claim status request when the patient is also the subscriber on the insurance policy:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/claims/status
client.claims_status({
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
})
client.claimsStatus(
new Dictionary<string, object> {
{"patient", new Dictionary<string, object> {
{"id", "W000000000"},
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_date", "2014-01-25"},
{"trading_partner_id", "MOCKPAYER"}
});
client.claims_status({
patient: {
birth_date: "1970-01-25",
first_name: "JANE",
last_name: "DOE",
id: "1234567890"
},
provider: {
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893"
},
service_date: "2014-01-25",
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"patient\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"JANE\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"id\": \"1234567890\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"service_date\": \"2014-01-25\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claimsStatus(query);
let data = [
"patient": [
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
],
"provider": [
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
],
"service_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.claimsStatus(params: data)
Example claim status request when the patient is not the subscriber on the insurance policy:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"patient": {
"birth_date": "2000-01-25",
"first_name": "JOHN",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/claims/status
client.claims_status({
"patient": {
"birth_date": "2000-01-25",
"first_name": "JOHN",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"trading_partner_id": "MOCKPAYER"
})
client.claimsStatus(new Dictionary<string, object> {
{"patient", new Dictionary<string, string> {
{"birth_date", "2000-01-25"},
{"first_name", "JOHN"},
{"last_name", "DOE"},
{"id", "1234567890"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"}
}},
{"service_date", "2014-01-25"},
{"subscriber", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "JANE"},
{"last_name", "DOE"},
{"id", "1234567890"}
}},
{"trading_partner_id", "MOCKPAYER"}
});
client.claims_status({
patient: {
birth_date: "2000-01-25",
first_name: "JOHN",
last_name: "DOE",
id: "1234567890"
},
provider: {
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893"
},
service_date: "2014-01-25",
subscriber: {
birth_date: "1970-01-25",
first_name: "JANE",
last_name: "DOE",
id: "1234567890"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"patient\": {");
buf.append(" \"birth_date\": \"2000-01-25\",");
buf.append(" \"first_name\": \"JOHN\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"id\": \"1234567890\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"service_date\": \"2014-01-25\",");
buf.append(" \"subscriber\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"JANE\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"id\": \"1234567890\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claimsStatus(query);
let data = [
"patient": [
"birth_date": "2000-01-25",
"first_name": "JOHN",
"last_name": "DOE",
"id": "1234567890"
],
"provider": [
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
],
"service_date": "2014-01-25",
"subscriber": [
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.claimsStatus(params: data)
Example claim status request when the claim service period covers several days:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"service_end_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/claims/status
client.claims_status({
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"service_end_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
})
client.claimsStatus(new Dictionary<string, object> {
{"patient", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "JANE"},
{"last_name", "DOE"},
{"id", "1234567890"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"}
}},
{"service_date", "2014-01-25"},
{"service_end_date", "2014-01-25"},
{"trading_partner_id", "MOCKPAYER"}
});
client.claims_status({
patient: {
birth_date: "1970-01-25",
first_name: "JANE",
last_name: "DOE",
id: "1234567890"
},
provider: {
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893"
},
service_date: "2014-01-25",
service_end_date: "2014-01-25",
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"patient\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"JANE\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"id\": \"1234567890\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"service_date\": \"2014-01-25\",");
buf.append(" \"service_end_date\": \"2014-01-25\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claimsStatus(query);
let data = [
"patient": [
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
],
"provider": [
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
],
"service_date": "2014-01-25",
"service_end_date": "2014-01-25",
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.claimsStatus(params: data)
Example claim status request using a claim tracking id to refine the search:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"tracking_id": "ABC12345",
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/claims/status
client.claims_status({
"patient": {
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
},
"provider": {
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
},
"service_date": "2014-01-25",
"tracking_id": "ABC12345",
"trading_partner_id": "MOCKPAYER"
})
client.claimsStatus(new Dictionary<string, object> {
{"patient", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "JANE"},
{"last_name", "DOE"},
{"id", "1234567890"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "Elizabeth"},
{"last_name", "Blackwell"},
{"npi", "1234567893"}
}},
{"service_date", "2014-01-25"},
{"tracking_id", "ABC12345"},
{"trading_partner_id", "MOCKPAYER"}
});
client.claims_status({
patient: {
birth_date: "1970-01-25",
first_name: "JANE",
last_name: "DOE",
id: "1234567890"
},
provider: {
first_name: "Elizabeth",
last_name: "Blackwell",
npi: "1234567893"
},
service_date: "2014-01-25",
tracking_id: "ABC12345",
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"patient\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"JANE\",");
buf.append(" \"last_name\": \"DOE\",");
buf.append(" \"id\": \"1234567890\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"Elizabeth\",");
buf.append(" \"last_name\": \"Blackwell\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"service_date\": \"2014-01-25\",");
buf.append(" \"tracking_id\": \"ABC12345\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.claimsStatus(query);
let data = [
"patient": [
"birth_date": "1970-01-25",
"first_name": "JANE",
"last_name": "DOE",
"id": "1234567890"
],
"provider": [
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
],
"service_date": "2014-01-25",
"tracking_id": "ABC12345",
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.claimsStatus(params: data)
Example claims status response when the trading partner is unable to locate any matching claims:
{
"client_id": "<client_id>",
"patient": {
"claims": [
{
"applied_to_deductible": false,
"claim_control_number": "NOT APPLICABLE",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2014-01-25",
"service_end_date": "2014-01-25",
"statuses": [
{
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"status_category": "Acknowledgement/Not Found-The claim/encounter can not be found in the adjudication system.",
"status_category_code": "A4",
"status_code": "Claim/encounter not found.",
"status_code_value": "35",
"status_effective_date": "2014-07-25",
"total_claim_amount": {
"amount": "0",
"currency": "USD"
}
}
],
"total_claim_amount": {
"amount": "0",
"currency": "USD"
},
"tracking_id": "47635D71-B08B-47D9-9C11-4630F5"
}
],
"first_name": "JANE",
"id": "W100000000",
"last_name": "DOE"
},
"payer": {
"id": "MOCKPAYER",
"name": "MOCKPAYER"
},
"providers": [
{
"first_name": "Elizabeth",
"last_name": "Blackwell",
"npi": "1234567893"
}
],
"submitter": {
"first_name": "Elizabeth",
"id": "1234567893",
"last_name": "Blackwell"
},
"trading_partner_id": "MOCKPAYER"
}
Example claims status response when there is an error in the formatting of the provider’s NPI or name, and they are unable to find a match:
{
"client_id": "<client_id>",
"payer":{
"name":"MOCKPAYER",
"id":"MOCKPAYER"
},
"providers":[
{
"trace_number":"0",
"first_name":"Elizabeth",
"last_name":"Blackwell",
"npi":"123456789",
"statuses":[
{
"status_code":"Entity's National Provider Identifier (NPI).",
"status_code_value": "562",
"status_category":"Data Search Unsuccessful - The payer is unable to return status on the requested claim(s) based on the submitted search criteria.",
"status_category_code":"D0",
"status_effective_date":"2015-09-25"
}
]
}
],
"correlation_id":"37045a41-634a-4439-a555-d8d6cbb445ce",
"trading_partner_id":"MOCKPAYER",
"submitter":{
"first_name":"Elizabeth",
"last_name":"Aye-Ay",
"id":"MOCKPAYER"
}
}
Example claims status response when adjudication is finalized and the claim has been paid:
{
"client_id": "<client_id>",
"patient": {
"claims": [
{
"adjudication_finalized_date": "2014-06-25",
"applied_to_deductible": false,
"check_number": "08608-000000000",
"claim_control_number": "EV30000WY00",
"claim_payment_amount": {
"amount": "156",
"currency": "USD"
},
"remittance_date": "2014-06-25",
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"services": [
{
"charge_amount": {
"amount": "20",
"currency": "USD"
},
"cpt_code": "D1206",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F2",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "72",
"currency": "USD"
},
"cpt_code": "D1110",
"payment_amount": {
"amount": "72",
"currency": "USD"
},
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"statuses": [
{
"status_category": "Finalized/Payment-The claim/line has been paid.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F1",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "29",
"currency": "USD"
},
"cpt_code": "D0431",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F2",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "52",
"currency": "USD"
},
"cpt_code": "D0274",
"payment_amount": {
"amount": "48",
"currency": "USD"
},
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"statuses": [
{
"status_category": "Finalized/Payment-The claim/line has been paid.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F1",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "41",
"currency": "USD"
},
"cpt_code": "D0120",
"payment_amount": {
"amount": "36",
"currency": "USD"
},
"service_date": "2014-06-25",
"service_end_date": "2014-06-25",
"statuses": [
{
"status_category": "Finalized/Payment-The claim/line has been paid.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F1",
"status_effective_date": "2014-07-25"
}
]
}
],
"statuses": [
{
"adjudication_finalized_date": "2014-06-25",
"check_number": "08608-000000000",
"claim_payment_amount": {
"amount": "156",
"currency": "USD"
},
"remittance_date": "2014-06-25",
"status_category": "Finalized/Payment-The claim/line has been paid.",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_category_code": "F1",
"status_effective_date": "2014-07-25",
"total_claim_amount": {
"amount": "214",
"currency": "USD"
}
}
],
"total_claim_amount": {
"amount": "214",
"currency": "USD"
},
"tracking_id": "B82A26AE-984A-480B-9B20-81DD3E"
}
],
"first_name": "JANE",
"id": "W199000000",
"last_name": "DOE"
},
"payer": {
"id": "MOCKPAYER",
"name": "MOCKPAYER"
},
"providers": [
{
"first_name": "ADAM",
"last_name": "SMITH",
"npi": "1320000000"
}
],
"submitter": {
"first_name": "ADAM",
"id": "1326000000",
"last_name": "SMITH"
},
"trading_partner_id": "MOCKPAYER"
}
Example claims status response when adjudication is finalized and the claim has been denied:
{
"client_id": "<client_id>",
"patient": {
"claims": [
{
"adjudication_finalized_date": "2013-07-25",
"applied_to_deductible": false,
"claim_control_number": "EM000000000",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2013-07-25",
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"services": [
{
"charge_amount": {
"amount": "375",
"currency": "USD"
},
"cpt_code": "D9220",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "460",
"currency": "USD"
},
"cpt_code": "D7240",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "140",
"currency": "USD"
},
"cpt_code": "D7140",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
}
],
"statuses": [
{
"adjudication_finalized_date": "2013-07-25",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2013-07-25",
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25",
"total_claim_amount": {
"amount": "975",
"currency": "USD"
}
}
],
"total_claim_amount": {
"amount": "975",
"currency": "USD"
},
"tracking_id": "D92BD44D-9F9F-4DE1-890B-61EF86"
},
{
"adjudication_finalized_date": "2013-08-25",
"applied_to_deductible": false,
"claim_control_number": "EH000000000",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2013-08-25",
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"services": [
{
"charge_amount": {
"amount": "375",
"currency": "USD"
},
"cpt_code": "D9220",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "460",
"currency": "USD"
},
"cpt_code": "D7240",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "140",
"currency": "USD"
},
"cpt_code": "D7140",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2013-07-25",
"service_end_date": "2013-07-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25"
}
]
}
],
"statuses": [
{
"adjudication_finalized_date": "2013-08-25",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2013-08-25",
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F2",
"status_code": "Subscriber and subscriber id not found.",
"status_code_value": "33",
"status_effective_date": "2014-07-25",
"total_claim_amount": {
"amount": "975",
"currency": "USD"
}
}
],
"total_claim_amount": {
"amount": "975",
"currency": "USD"
},
"tracking_id": "D92BD44D-9F9F-4DE1-890B-61EF86"
}
],
"first_name": "JANE",
"id": "W100000000",
"last_name": "SMITH"
},
"payer": {
"id": "MOCKPAYER",
"name": "MOCKPAYER"
},
"providers": [
{
"first_name": "JOHN",
"last_name": "DOE",
"npi": "1234567890"
}
],
"submitter": {
"first_name": "JOHN",
"id": "1234567890",
"last_name": "DOE"
},
"trading_partner_id": "MOCKPAYER"
}
Example claims status response when adjudication is finalized, the claim has been denied (not paid) and the charges are applied to the deductible:
{
"client_id": "<client_id>",
"patient": {
"claims": [
{
"adjudication_finalized_date": "2014-04-25",
"applied_to_deductible": true,
"check_number": "814000000000000",
"claim_control_number": "E6Y0C7NQG00",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2014-04-25",
"service_date": "2014-03-25",
"service_end_date": "2014-03-25",
"services": [
{
"charge_amount": {
"amount": "137",
"currency": "USD"
},
"cpt_code": "99213",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2014-03-25",
"service_end_date": "2014-03-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F1",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_effective_date": "2014-07-25"
}
]
},
{
"charge_amount": {
"amount": "290",
"currency": "USD"
},
"cpt_code": "76830",
"payment_amount": {
"amount": "0",
"currency": "USD"
},
"service_date": "2014-03-25",
"service_end_date": "2014-03-25",
"statuses": [
{
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F1",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_effective_date": "2014-07-25"
}
]
}
],
"statuses": [
{
"adjudication_finalized_date": "2014-04-25",
"check_number": "814000000000000",
"claim_payment_amount": {
"amount": "0",
"currency": "USD"
},
"remittance_date": "2014-04-25",
"status_category": "Finalized/Denial-The claim/line has been denied.",
"status_category_code": "F1",
"status_code": "Processed according to contract provisions (Contract refers to provisions that exist between the Health Plan and a Provider of Health Care Services)",
"status_code_value": "107",
"status_effective_date": "2014-07-25",
"total_claim_amount": {
"amount": "427",
"currency": "USD"
}
}
],
"total_claim_amount": {
"amount": "427",
"currency": "USD"
},
"tracking_id": "4AAA5F0D-986E-4C69-A428-67DA60"
}
],
"first_name": "JANE",
"last_name": "DOE"
},
"payer": {
"id": "MOCKPAYER",
"name": "MOCKPAYER"
},
"providers": [
{
"first_name": "JOHN",
"last_name": "DOE",
"npi": "1700000000"
}
],
"submitter": {
"first_name": "JOHN",
"id": "1700000000",
"last_name": "DOE"
},
"trading_partner_id": "MOCKPAYER"
}
Available modes of operation: batch/async or real-time
The claims status endpoint allows an application to request information from a trading partner about previously submitted claims. You may send a request to a trading partner to determine where the claim is in their adjudication system and the status of the claim. The Claims Status endpoint can be used to query the status of multiple claims. The claims status endpoint can be used to check the status of claims in the trading partners’ system regardless of the submitter or means of submission. Claims status DOES NOT offer insight into where a claim is in PokitDok’s system (for more info on monitoring PokitDok’s processing of your claims, please see our activities endpoint and callback url).
The speed at which a claim is adjudicated is dependent on the trading partner. On average it takes 5-7 days for a claim to enter a payer’s adjudication system, thus it is recommended to wait at least a week after submitting a claim to check its status.
To understand how the Claims and Claims Status Endpoints work together, see the claims API workflow.
See the errors section of the documentation for details on Trading Partner specific request processing errors that may occur with this API for some request/partner combinations.
Endpoint Description
Endpoint | HTTP Method | Description |
---|---|---|
/claims/status | POST | Submit a claim status request to the specified trading partner. |
Parameters
The /claims/status
endpoint accepts the following parameters:
Parameter | Description |
---|---|
claims_activity_id | Optional: The activity_id of the original Claim submitted via PokitDok. Providing this parameter will append the Claims Status response to the response history on the original Claim. |
claim_charge_amount | Total claim charge amount. |
patient | The patient associated with the claim. Uses the member object. |
provider.first_name | The provider’s first name when the provider is an individual. |
provider.middle_name | The provider’s middle name when the provider is an individual. |
provider.last_name | The provider’s last name when the provider is an individual. |
provider.suffix | The provider’s suffix when the provider is an individual. |
provider.tax_id | The provider’s tax identifier. |
provider.npi | The NPI for the billing provider. |
provider.organization_name | The provider’s name when the provider is an organization. first_name and last_name should be omitted when sending organization_name. |
provider.service_provider_number | May be used when no Tax ID or NPI are available, and Service Provider ID has been assigned by the Trading Partner who is receiving the request. |
service_date | The date services were performed or started for the claim service period. In ISO8601 format (YYYY-MM-DD). |
service_end_date | Optional: The date services ended for the claim service period. In ISO8601 format (YYYY-MM-DD). |
subscriber | Optional: The subscriber associated with the claim. Specify when the patient is not the subscriber. Uses the member object. |
tracking_id | Optional: The payer’s claim tracking id. Specify this value to refine the search criteria for a claim. If a payer claim control number was returned on the claim submission, this number should be used in the tracking id field for the greatest chance of returning valid claim status information. |
trading_partner_id | Unique id for the intended trading partner, as specified by the Trading Partners Endpoint. |
payer | Information associated with the payer of the claim. |
payer.organization_name | The organization name of the payer. |
payer.id | The unique identifier of the payer. |
receiver | Information associated with the submitter of the claim status request. |
receiver | Information associated with the submitter of the claim status request. |
receiver.first_name | The receiver’s first name when the receiver is an individual. |
receiver.middle_name | The receiver’s middle name when the receiver is an individual. |
receiver.last_name | The receiver’s last name when the receiver is an individual. |
receiver.id | The unique identifier of the receiver. |
receiver.organization_name | The receiver’s name when the receiver is an organization. first_name and last_name should be omitted when sending organization_name. |
pharmacy_prescription_number | The pharmacy prescription number associated with the claim |
Response
The /claim/status
response contains the following fields:
Field | Description |
---|---|
client_id | The unique identifier associated with the client making the claims status request. |
trading_partner_id | Unique id for the intended trading partner, as specified by the Trading Partners endpoint. |
payer | Information associated with the payer of the claim. |
payer.name | The name of the payer |
payer.id | The unique identifier of the payer. |
submitter | Information associated with the submitter of the claim status request. |
submitter.first_name | The submitter’s first name when the submitter is an individual. |
submitter.middle_name | The submitter’s middle name when the submitter is an individual. |
submitter.last_name | The submitter’s last name when the submitter is an individual. |
submitter.id | The unique identifier of the submitter. |
submitter.organization_name | The submitter’s name when the submitter is an organization. |
submitter.tracking_id | The tracking identifier associated with the submitter. |
submitter.statuses | A list of statuses associated with the submitter. Uses the status information object. |
submitter.accepted_quantity | # of units being accepted. |
submitter.rejected_quantity | # of units being rejected. |
submitter.amount_in_process | The monetary amount of claims currently in process. Uses the monetary amount object. |
submitter.amount_returned | The monetary amount returned based on claims. Uses the monetary amount object. |
providers | List of providers associated with the claim status request. |
providers.first_name | The provider’s first name when the provider is an individual. |
providers.middle_name | The provider’s middle name when the provider is an individual. |
providers.last_name | The provider’s last name when the provider is an individual. |
providers.suffix | The provider’s suffix when the provider is an individual. |
providers.tax_id | The unique tax identifier of the provider. |
providers.npi | The provider’s NPI. |
providers.service_provider_number | The service provider number assigned by the trading partner. |
providers.trace_number | The trace number associated with the provider. |
providers.secondary_id | Secondary identifiers for the provider. |
providers.secondary_id.id_qualifier | Qualifier associated with the provider’s secondary identifier. |
providers.secondary_id.id | The actual id associated with the provider’s secondary identifier. |
providers.organization_name | The provider’s name when the providers is an organization. |
providers.statuses | A list of statuses associated with the provider. Uses the status information object. |
providers.accepted_quantity | # of units being accepted. |
providers.rejected_quantity | # of units being rejected. |
providers.amount_in_process | The monetary amount of claims currently in process. Uses the monetary amount object. |
providers.amount_returned | The monetary amount returned based on claims. Uses the monetary amount object. |
patient | Information about a patient including any matching claims. |
patient.claims | A list of matching claims returned by the trading partner for a claims status request. |
patient.claims.adjudication_finalized_date | The date adjudication was finalized for the claim. In ISO8601 format (YYYY-MM-DD). |
patient.claims.applied_to_deductible | Boolean that indicates whether or not claim charges are applied to the deductible. |
patient.claims.patient_control_number | The control number associated with a patient. This number is assigned by the payer. |
patient.claims.claim_id_number | The id number associated with a claim. |
patient.claims.bill_type_id | The bill type id associated with a claim. |
patient.claims.pharmacy_prescription_number | The pharmacy prescription number associated with a claim. |
patient.claims.tracking_id | The patient’s claim tracking id. |
patient.claims.status_code | Indicates the status of the service on the claim. |
patient.claims.check_number | The check or EFT trace number for a claim payment. |
patient.claims.claim_control_number | The Payer’s Claim Control Number. |
patient.claims.claim_payment_amount | The amount that’s been paid on the claim. Uses the monetary amount object. |
patient.claims.remittance_date | The date the check was issued or EFT funds became available. In ISO8601 format (YYYY-MM-DD). |
patient.claims.service_date | The date services were performed or started for the claim service period. In ISO8601 format (YYYY-MM-DD). |
patient.claims.service_end_date | The date services ended for the claim service period. In ISO8601 format (YYYY-MM-DD). |
patient.claims.services | A list of services linked to the claim. |
patient.claims.services.charge_amount | The amount charged for a particular service on the claim. Uses the monetary amount object. |
patient.claims.services.cpt_code | The CPT code indicating the type of service that was performed. |
patient.claims.services.payment_amount | The amount paid for a particular service on the claim. Uses the monetary amount object. |
patient.claims.services.service_date | The date the service was performed or started for the claim service period. In ISO8601 format (YYYY-MM-DD). |
patient.claims.services.service_end_date | The date the service ended for the claim service period. In ISO8601 format (YYYY-MM-DD). |
patient.claims.services.statuses | A listing of status information for the claim. Uses the status information object. |
patient.claims.services.line_item_control_number | The line item control number associated with a patient’s service. |
patient.claims.services.pharmacy_prescription_number | The pharmacy prescription number associated with a service. |
patient.claims.statuses | A listing of status information for the claim. Uses the status information object. |
patient.claims.total_claim_amount | The total charges submitted for the claim. Uses the monetary amount object. |
patient.first_name | The patient’s first name as specified on their policy. |
patient.middle_name | The patient’s middle name as specified on their policy. |
patient.id | The patient’s member identifier. |
patient.last_name | The patient’s last name as specified on their policy. |
patient.suffix | The patient’s suffix. |
Additional Object Tables
Field | Description |
---|---|
birth_date | The members’s birth date as specified on their policy. In ISO8601 format (YYYY-MM-DD). |
gender | The member’s gender (Male, Female, Unknown) |
last_name | The member’s last name as specified on their policy. |
first_name | The member’s first name as specified on their policy. |
middle_name | The member’s middle name as specified on their policy. |
suffix | The suffix for the member |
id | The member identifier. |
Field | Description |
---|---|
status_category | A verbose message about the general category of the claim’s status (e.g. accepted, rejected, etc.). This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
status_category_code | The code indicating the general category of the claim’s status. The status category code is more appropriate for use by the software using the claims status API to categorize the information. A full listing of codes can be found here. |
status_effective_date | The effective date associated with a claim’s status. In ISO8601 format (YYYY-MM-DD). |
secondary_status_category | A verbose message about the general category of the claim’s status (e.g. accepted, rejected, etc.). This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
secondary_status_category_code | The code indicating the general category of the claim’s status. The status category code is more appropriate for use by the software using the claims status API to categorize the information. A full listing of codes can be found here. |
secondary_status_code | Indicates the status of the claim. This status code provides more detail to support the status category. This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
tertiary_status_category | A verbose message about the general category of the claim’s status (e.g. accepted, rejected, etc.). This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
tertiary_status_category_code | The code indicating the general category of the claim’s status. The status category code is more appropriate for use by the software using the claims status API to categorize the information. A full listing of codes can be found here. |
tertiary_status_code | Indicates the status of the claim. This status code provides more detail to support the status category. This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
adjudication_finalized_date | Date that the claim is paid or declined. In ISO8601 format (YYYY-MM-DD). |
remittance_date | The date the check was issued or EFT funds became available. In ISO8601 format (YYYY-MM-DD). |
status_code | Indicates the status of the claim. This status code provides more detail to support the status category. This value is suitable for display to users of a system utilizing the claims status API. A full listing of possible values can be found here. |
status_code_value | Indicates the raw status code value returned in the X12 277 claim status response. This value may be helpful to API clients that previously worked with X12 277 data directly and wish to continue to operate on the status code value while using the claims status API’s JSON response format. A full listing of possible values can be found here. |
total_claim_amount | The total monetary amount of the claim. Uses the monetary amount object. |
claim_payment_amount | The amount that’s been paid on the claim. Uses the monetary amount object. |
check_number | The check or EFT trace number for a claim payment. |
Field | Description |
---|---|
amount | The value amount for this item. |
currency | The currency used in the amount. |
Claims Drafts
Endpoint Description
The drafts endpoint allows a user to create and upload claims that are not ready for submission or are intended to be submitted at a later date. Once the drafts are uploaded, Claims Management App users can view the drafts in their app and submit them as 837 claims once they are complete. Since a draft that is uploaded to our system does not pass through our 837 validation, the draft can be submitted while it is still in an incomplete state. The Claims Drafts API is only available to Claims Management App users. For more information about the Claims Management App, please visit our product page: https://pokitdok.com/business/claims-management/ or contact your local biz-dev representative: https://pokitdok.com/contact/
Endpoint | HTTP Method | Description |
---|---|---|
/claims/drafts/ | POST | Submit a new claim object for storage. |
/claims/drafts/ | GET | Fetch an index listing of current claim drafts that have been stored. |
/claims/drafts/id | GET | Fetch an existing Claim Draft object that was previously stored. |
/claims/drafts/id | PUT | Update an existing claim draft object. |
/claims/drafts/id | DELETE | Remove a claim draft from the system. |
/claims/validate/ | POST | Validate a claims request based on the X12 837 specifications. |
/claims/drafts/id/validate | GET | Fetch a claim draft’s validation status. |
Parameters
The /claims/validate/
endpoint accepts the same parameters as the Claims endpoint here.
The /claims/drafts
endpoint accepts the folowing parameter:
Parameter | Description |
---|---|
draft | The claim draft. |
Response
The /claims/drafts
response contains the following fields:
Parameter | Description |
---|---|
id | The ID of the draft. |
draft | The claim draft. |
validation_result | The result of the validation if requested. |
Eligibility
Example eligibility request to determine general health benefit coverage using the
primary_search_option
:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"id", "W000000000"},
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_types", new string[] { "health_benefit_plan_coverage" }},
{"trading_partner_id", "MOCKPAYER"}
});
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request to determine general health benefit coverage using the
no_first_name_search
search option:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"id", "W000000000"},
{"birth_date", "1970-01-25"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_types", new string[] { "health_benefit_plan_coverage" }},
{"trading_partner_id", "MOCKPAYER"}
});
client.eligibility({
member: {
birth_date: "1970-01-25",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request to determine general health benefit coverage using the
no_birth_date_search
search option:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"id", "W000000000"},
{"first_name", "Jane"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_types", new string[] { "health_benefit_plan_coverage" }},
{"trading_partner_id", "MOCKPAYER"}
});
client.eligibility({
member: {
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request to determine general health benefit coverage using the
no_name_search
search option:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"id", "W000000000"},
{"birth_date", "1970-01-25"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_types", new string[] { "health_benefit_plan_coverage" }},
{"trading_partner_id", "MOCKPAYER"}
});
client.eligibility({
member: {
birth_date: "1970-01-25",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request to determine general health benefit coverage using the
no_id_search
search option:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"service_types", new string[] { "health_benefit_plan_coverage" }},
{"trading_partner_id", "MOCKPAYER"}
});
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request to determine general health benefit coverage when a member has a specific group number value assigned:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000",
"group_number": "123456"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000",
"group_number": "123456"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER"
})
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000",
group_number: "123456"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER"
})
client.eligibility(
new Dictionary<string, object> {
{"member", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"},
{"id", "W000000000"},
{"group_number", "123456"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "ELIZABETH"},
{"last_name", "BLACKWELL"},
{"npi", "1234567893"}
}},
{"trading_partner_id", "MOCKPAYER"}
}
);
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\",");
buf.append(" \"group_number\": \"123456\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000",
"group_number": "123456"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Some trading partners support eligibility requests using specific service type codes. Here’s an example using a service type code to request eligibility information:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"service_types": [ "emergency_services" ],
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"service_types": [ "emergency_services" ],
"trading_partner_id": "MOCKPAYER"
})
client.eligibility(
new Dictionary<string, object> {
{"member", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"},
{"id", "W000000000"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "ELIZABETH"},
{"last_name", "BLACKWELL"},
{"npi", "1234567893"}
}},
{"service_types", new string[] { "emergency_services" }},
{"trading_partner_id", "MOCKPAYER"}
}
);
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
"service_types": [ "emergency_services" ],
"trading_partner_id": "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"service_types\": [\"emergency_services\"],");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"service_types": [ "emergency_services" ],
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Some trading partners support eligibility requests using a CPT code. Here’s an example using a CPT code to request eligibility information:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"cpt_code": "81291",
"trading_partner_id": "MOCKPAYER"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"cpt_code": "81291",
"trading_partner_id": "MOCKPAYER"
})
client.eligibility(
new Dictionary<string, object> {
{"member", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"},
{"id", "W000000000"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "ELIZABETH"},
{"last_name", "BLACKWELL"},
{"npi", "1234567893"}
}},
{"cpt_code", "81291"},
{"trading_partner_id", "MOCKPAYER"}
}
);
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
cpt_code: "81291",
trading_partner_id: "MOCKPAYER"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"cpt_code\": \"81291\",");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"cpt_code": "81291",
"trading_partner_id": "MOCKPAYER"
] as [String:Any]
try client.eligibility(params: data)
Example medicare_national eligibility request including HCPCS code:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"procedure_id": "G0120",
"procedure_id_qualifier": "hcpcs",
"trading_partner_id": "medicare_national"
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"procedure_id": "G0120",
"procedure_id_qualifier": "hcpcs",
"trading_partner_id": "medicare_national"
})
client.eligibility (
new Dictionary<string, object> {
{"member", new Dictionary<string, object> {
{"id", "W000000000"},
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"}
}},
{"provider", new Dictionary<string, object> {
{"npi", "1234567893"},
{"last_name", "BLACKWELL"},
{"first_name", "ELIZABETH"}
}},
{"procedure_id", "G0120"},
{"procedure_id_qualifier", "hcpcs"},
{"trading_partner_id", "medicare_national"}
});
client.eligibility({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
procedure_id: "G0120",
procedure_id_qualifier: "hcpcs",
trading_partner_id: "medicare_national"
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"procedure_id\": \"G0120\",");
buf.append(" \"procedure_id_qualifier\": \"hcpcs\",");
buf.append(" \"trading_partner_id\": \"medicare_national\"");
buf.append("}");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"procedure_id": "G0120",
"procedure_id_qualifier": "hcpcs",
"trading_partner_id": "medicare_national"
] as [String:Any]
try client.eligibility(params: data)
Example eligibility request using custom application data for easy handling of asynchronous responses:
curl -i -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -XPOST -d '{
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER",
"application_data": {
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
}
}' https://platform.pokitdok.com/api/v4/eligibility/
client.eligibility({
"member": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"trading_partner_id": "MOCKPAYER",
"application_data": {
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
}
})
client.eligibility(
new Dictionary<string, object> {
{"member", new Dictionary<string, string> {
{"birth_date", "1970-01-25"},
{"first_name", "Jane"},
{"last_name", "Doe"},
{"id", "W000000000"}
}},
{"provider", new Dictionary<string, string> {
{"first_name", "ELIZABETH"},
{"last_name", "BLACKWELL"},
{"npi", "1234567893"}
}},
{"trading_partner_id", "MOCKPAYER"},
{"application_data", new Dictionary<string, object> {
{"patient_id", "ABC1234XYZ"},
{"location_id", 123},
{"transaction_uuid", "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"}
}}
);
client.eligiblity({
member: {
birth_date: "1970-01-25",
first_name: "Jane",
last_name: "Doe",
id: "W000000000"
},
provider: {
first_name: "ELIZABETH",
last_name: "BLACKWELL",
npi: "1234567893"
},
trading_partner_id: "MOCKPAYER",
application_data: {
patient_id: "ABC1234XYZ",
location_id: 123,
transaction_uuid: "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
}
})
StringBuffer buf = new StringBuffer();
buf.append("{");
buf.append(" \"member\": {");
buf.append(" \"birth_date\": \"1970-01-25\",");
buf.append(" \"first_name\": \"Jane\",");
buf.append(" \"last_name\": \"Doe\",");
buf.append(" \"id\": \"W000000000\"");
buf.append(" },");
buf.append(" \"provider\": {");
buf.append(" \"first_name\": \"ELIZABETH\",");
buf.append(" \"last_name\": \"BLACKWELL\",");
buf.append(" \"npi\": \"1234567893\"");
buf.append(" },");
buf.append(" \"trading_partner_id\": \"MOCKPAYER\",");
buf.append(" \"application_data\": {");
buf.append(" \"patient_id\": \"ABC1234XYZ\",");
buf.append(" \"location_id\": 123,");
buf.append(" \"transaction_uuid\": \"93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf\"");
buf.append(" }");
buf.append("");
JSONObject query = (JSONObject) JSONValue.parse(buf.toString());
Map<String, Object> results = client.eligibility(query);
let data = [
"member": [
"birth_date": "1970-01-25",
"first_name": "Jane",
"last_name": "Doe",
"id": "W000000000"
],
"provider": [
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
],
"trading_partner_id": "MOCKPAYER",
"application_data": [
"patient_id": "ABC1234XYZ",
"location_id": 123,
"transaction_uuid": "93f38f1b-b2cd-4da1-8b55-c6e3ab380dbf"
]
] as [String:Any]
try client.eligibility(params: data)
Example eligibility response when the trading partner is unable to respond at this time:
{
"client_id": "<client_id>",
"coverage": {
"active": false
},
"follow_up_action": "resubmission_allowed",
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"reject_reason": "unable_to_respond_now",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"gender": "unknown",
"id": "W000000000",
"last_name": "Doe"
},
"trading_partner_id": "MOCKPAYER",
"valid_request": true
}
Example eligibility response when the trading partner is unable to find the member specified in the eligibility request:
{
"client_id": "<client_id>",
"coverage": {
"service_date": "2014-06-25"
},
"follow_up_action": "correct_and_resubmit",
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"reject_reason": "subscriber_insured_not_found",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"id": "W000000000",
"last_name": "Doe"
},
"trading_partner_id": "MOCKPAYER",
"valid_request": false
}
Example eligibility response when the trading partner is able to find a member based on the eligibility request, but the specified birth date does not match their records:
{
"client_id": "<client_id>",
"coverage": {
"service_date": "2014-06-25"
},
"follow_up_action": "correct_and_resubmit",
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"reject_reason": "patient_birth_date_mismatch",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"id": "W000000000",
"last_name": "Doe"
},
"trading_partner_id": "MOCKPAYER",
"valid_request": false
}
Example eligibility response when the trading partner cannot process eligibility requests using a CPT code:
{
"client_id": "<client_id>",
"coverage": {
"service_date": "2014-06-25"
},
"follow_up_action": "resubmission_not_allowed",
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"reject_reason": "unable_to_respond_now",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"id": "W000000000",
"last_name": "Doe"
},
"trading_partner_id": "MOCKPAYER",
"valid_request": false
}
Example eligibility response when the trading partner returns multiple reject reason codes and cannot process the request:
{
"client_id": "<client id>",
"coverage": {
"active": false,
"cannot_process": [
{
"messages": [
{
"message": "Payer cannot process the specified service types."
}
],
"service_types": [
"health_benefit_plan_coverage"
],
"service_type_codes": [
"30"
]
}
]
},
"follow_up_action": "correct_and_resubmit",
"reject_reason": "provider_not_on_file",
"subscriber": {
"birth_date": "1970-01-25",
"first_name": "Jane",
"id": "W000000000",
"last_name": "Doe",
"rejections": [
{
"valid_request": false,
"reject_reason": "invalid_date_of_service",
"follow_up_action": "correct_and_resubmit"
},
{
"valid_request": false,
"reject_reason": "patient_birth_date_mismatch",
"follow_up_action": "correct_and_resubmit"
},
{
"valid_request": false,
"reject_reason": "death_precedes_date_of_service",
"follow_up_action": "resubmission_not_allowed"
}
]
},
"valid_request": false,
"trading_partner_id": "MOCKPAYER",
"pharmacy": {
"is_eligible": false
}
}
Sample eligibility response for a successfully executed eligibility request:
{
"client_id": "<client_id>",
"summary": {
"deductible": {
"individual": {
"in_network": {
"applied": {
"currency": "USD",
"amount": "16.43"
},
"limit": {
"currency": "USD",
"amount": "3000"
},
"remaining": {
"currency": "USD",
"amount": "2983.57"
}
},
"out_of_network": {
"applied": {
"currency": "USD",
"amount": "16.43"
},
"limit": {
"currency": "USD",
"amount": "6000"
},
"remaining": {
"currency": "USD",
"amount": "5983.57"
}
}
},
"family": {
"in_network": {
"applied": {
"currency": "USD",
"amount": "43.91"
},
"limit": {
"currency": "USD",
"amount": "6000"
},
"remaining": {
"currency": "USD",
"amount": "5956.09"
}
},
"out_of_network": {
"applied": {
"currency": "USD",
"amount": "43.91"
},
"limit": {
"currency": "USD",
"amount": "12000"
},
"remaining": {
"currency": "USD",
"amount": "11956.09"
}
}
}
},
"out_of_pocket": {
"individual": {
"in_network": {
"applied": {
"currency": "USD",
"amount": "16.43"
},
"limit": {
"currency": "USD",
"amount": "3000"
},
"remaining": {
"currency": "USD",
"amount": "2983.57"
}
},
"out_of_network": {
"applied": {
"currency": "USD",
"amount": "16.43"
},
"limit": {
"currency": "USD",
"amount": "12500"
},
"remaining": {
"currency": "USD",
"amount": "12483.57"
}
}
},
"family": {
"in_network": {
"applied": {
"currency": "USD",
"amount": "43.91"
},
"limit": {
"currency": "USD",
"amount": "6000"
},
"remaining": {
"currency": "USD",
"amount": "5956.09"
}
},
"out_of_network": {
"applied": {
"currency": "USD",
"amount": "43.91"
},
"limit": {
"currency": "USD",
"amount": "25000"
},
"remaining": {
"currency": "USD",
"amount": "24956.09"
}
}
}
}
},
"coverage": {
"coinsurance": [
{
"benefit_percent": 0.0,
"authorization_required": "yes",
"coverage_level": "employee_and_spouse",
"in_plan_network": "yes",
"messages": [],
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
]
},
{
"benefit_percent": 0.5,
"coverage_level": "employee_and_spouse",
"in_plan_network": "no",
"messages": [],
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
]
}
],
"copay": [
{
"authorization_required": "yes",
"copayment": {
"amount": "0",
"currency": "USD"
},
"coverage_level": "employee_and_spouse",
"in_plan_network": "yes",
"messages": [
{
"message": "PRIMARY OFFICE"
}
],
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
]
},
{
"copayment": {
"amount": "0",
"currency": "USD"
},
"coverage_level": "employee_and_spouse",
"in_plan_network": "not_applicable",
"messages": [
{
"message": "GYN OFFICE VS"
},
{
"message": "GYN VISIT"
},
{
"message": "SPEC OFFICE"
},
{
"message": "SPEC VISIT"
},
{
"message": "PRIME CARE VST"
},
{
"message": "Plan Requires PreCert"
},
{
"message": "Commercial"
},
{
"message": "Plan includes NAP"
},
{
"message": "Pre-Existing may apply"
}
],
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
]
}
],
"benefit_related_entities": [
{
"address": {
"address_lines": [
"123 TEST ROAD"
],
"city": "LITTLE TOWN",
"state": "CA",
"zipcode": "12345"
},
"contacts": [
{
"phone": "8001234567"
}
],
"entity_identifier_code": "primary_care_provider",
"entity_type": "organization",
"first_name": "JANET",
"middle_name": "E",
"organization_name": "DOE",
"provider_code": "admitting"
},
{
"contacts": [
{
"name": "PAYERC BENEFITS HOTLINE",
"phone": "8006762583"
}
],
"entity_identifier_code": "plan_sponsor",
"entity_type": "organization",
"organization_name": "PAYERC"
}
],
"deductibles": [
{
"benefit_amount": {
"amount": "6000",
"currency": "USD"
},
"coverage_level": "family",
"eligibility_date": "2013-01-25",
"in_plan_network": "yes",
"messages": [],
"time_period": "calendar_year"
},
{
"benefit_amount": {
"amount": "5956.09",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "yes",
"messages": [],
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "3000",
"currency": "USD"
},
"coverage_level": "individual",
"eligibility_date": "2013-01-25",
"in_plan_network": "yes",
"messages": [],
"time_period": "calendar_year"
},
{
"benefit_amount": {
"amount": "2983.57",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "yes",
"messages": [],
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "12000",
"currency": "USD"
},
"coverage_level": "family",
"eligibility_date": "2013-01-25",
"in_plan_network": "no",
"messages": [],
"time_period": "calendar_year"
},
{
"benefit_amount": {
"amount": "11956.09",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "no",
"messages": [],
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "6000",
"currency": "USD"
},
"coverage_level": "individual",
"eligibility_date": "2013-01-25",
"in_plan_network": "no",
"messages": [],
"time_period": "calendar_year"
},
{
"benefit_amount": {
"amount": "5983.57",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "no",
"messages": [],
"time_period": "remaining"
}
],
"eligibility_begin_date": "2012-02-25",
"policy_effective_date": "2016-01-01",
"group_description": "MOCK INDIVIDUAL ADVANTAGE PLAN",
"group_number": "000000000000013",
"level": "employee_and_spouse",
"out_of_pocket": [
{
"benefit_amount": {
"amount": "3000",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "yes"
},
{
"benefit_amount": {
"amount": "2983.57",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "yes",
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "6000",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "yes"
},
{
"benefit_amount": {
"amount": "5956.09",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "yes",
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "12500",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "no"
},
{
"benefit_amount": {
"amount": "12483.57",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "no",
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "25000",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "no"
},
{
"benefit_amount": {
"amount": "24956.09",
"currency": "USD"
},
"coverage_level": "family",
"in_plan_network": "no",
"messages": [],
"time_period": "remaining"
}
],
"plan_begin_date": "2013-02-25",
"plan_number": "0000000",
"service_date": "2013-08-25",
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
]
},
"payer": {
"id": "MOCKPAYER",
"name": "MOCK PAYER INC"
},
"provider": {
"first_name": "ELIZABETH",
"last_name": "BLACKWELL",
"npi": "1234567893"
},
"service_type_codes": [
"98"
],
"service_types": [
"professional_physician_visit_office"
],
"subscriber": {
"address": {
"address_lines": [
"123 MAIN ST"
],
"city": "SAN MATEO",
"state": "CA",
"zipcode": "94401"
},
"birth_date": "1970-01-25",
"first_name": "Jane",
"id": "W000000000",
"last_name": "Doe"
},
"trading_partner_id": "MOCKPAYER",
"valid_request": true
}
Sample medicare_national eligibility response for a member with Medicare Part D coverage. Notice that medicare members with part D coverage will have pharmacy.is_eligible set to true and the pharmacy.plan_number will contain their medicare part D plan number:
{
"client_id": "<client_id>",
"coverage": {
"active": true,
"coinsurance": [
{
"benefit_percent": 0.2,
"service_type_codes": [
"98"
],
"service_types": [
"health_benefit_plan_coverage"
]
},
{
"benefit_percent": 0.0,
"service_type_codes": [
"98"
],
"service_types": [
"alcoholism",
"smoking_cessation",
"home_health_care"
]
}
],
"deductibles": [
{
"benefit_amount": {
"amount": "1288",
"currency": "USD"
},
"insurance_type": "medicare_part_a",
"service_type_codes": [
"30"
],
"service_types": [
"health_benefit_plan_coverage"
],
"time_period": "episode"
},
{
"benefit_amount": {
"amount": "1288",
"currency": "USD"
},
"insurance_type": "medicare_part_a",
"service_type_codes": [
"30"
],
"service_types": [
"health_benefit_plan_coverage"
],
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "0",
"currency": "USD"
},
"insurance_type": "medicare_part_a",
"service_type_codes": [
"45",
"42"
],
"service_types": [
"hospice",
"home_health_care"
],
"time_period": "episode"
},
{
"benefit_amount": {
"amount": "166",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "unknown",
"insurance_type": "medicare_part_b",
"service_type_codes": [
"30"
],
"service_types": [
"health_benefit_plan_coverage"
],
"time_period": "calendar_year"
},
{
"benefit_amount": {
"amount": "166",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "unknown",
"insurance_type": "medicare_part_b",
"service_type_codes": [
"30"
],
"service_types": [
"health_benefit_plan_coverage"
],
"time_period": "remaining"
},
{
"benefit_amount": {
"amount": "0",
"currency": "USD"
},
"coverage_level": "individual",
"in_plan_network": "unknown",
"insurance_type": "medicare_part_b",
"service_type_codes": [
"AJ",
"67",
"42"
],
"service_types": [
"alcoholism",
"smoking_cessation",
"home_health_care"
],
"time_period": "calendar_year"
}
],
"insurance_type": "medicare_part_b",
"non_covered": [
{
"benefit_amount": {
"amount": "0",
"currency": "USD"
},
"service_type_codes": [
"54",
"41"
],
"service_types": [
"long_term_care",
"routine_preventive_dental"
]
}
],
"other_payers": [
{
"coordination_of_benefits": "primary_payer",
"name": "UNITEDHEALTHCARE INSURANCE COMPANY",
"service_type_codes": [
"88"
],
"service_types": [
"pharmacy"
]
}
],
"plan_begin_date": "2016-01-25",
"plan_end_date": "2016-12-25",
"service_type_codes": [
"30",
"UC",
"DM",
"BV",
"BU",
"BT",
"AL",
"AK",
"AJ",
"AI",
"A8",
"A6",
"A4",
"98",
"86",
"83",
"76",
"73",
"69",
"67",
"53",
"52",
"51",
"50",
"42",
"40",
"39",
"38",
"37",
"36",
"33",
"3",
"28",
"27",
"26",
"25",
"24",
"23",
"2"
],
"service_types": [
"health_benefit_plan_coverage",
"urgent_care",
"medical_equipment",
"obstetrical_gynecological",
"obstetrical",
"gynecological",
"vision_optometry",
"drug_addiction",
"alcoholism",
"substance_abuse",
"psychiatric_outpatient",
"psychotherapy",
"psychiatric",
"professional_physician_visit_office",
"emergency_services",
"infertility",
"dialysis",
"diagnostic_medical",
"maternity",
"smoking_cessation",
"hospital_ambulatory_surgical",
"hospital_emergency_medical",
"hospital_emergency_accident",
"hospital_outpatient",
"home_health_care",
"oral_surgery",
"prosthodontics",
"orthodontics",
"dental_accident",
"dental_crowns",
"chiropractic",
"consultation",
"adjunctive_dental_services",
"maxillofacial_prosthetics",
"endodontics",
"restorative",
"periodontics",
"diagnostic_dental",
"surgical"
]
},
"pharmacy": {
"benefits_manager": {
"name": "UNITEDHEALTHCARE INSURANCE COMPANY",
"phone": "8778423210",
"url": "www.AARPMedicareRx.com"
},
"is_eligible": true,
"plan_number": "S5820 003"
},
"service_type_codes": [
"30",
"UC",
"DM",
"BV",
"BU",
"BT",
"AL",
"AK",
"AJ",
"AI",
"A8",
"A6",
"A4",
"98",
"86",
"83",
"76",
"73",
"69",
"67",
"53",
"52",
"51",
"50",
"42",
"40",
"39",
"38",
"37",
"36",
"33",
"3",
"28",
"27",
"26",
"25",
"24",
"23",
"2"
],
"service_types": [
"health_benefit_plan_coverage",
"urgent_care",
"medical_equipment",
"obstetrical_gynecological",
"obstetrical",
"gynecological",
"vision_optometry",
"drug_addiction",
"alcoholism",
"substance_abuse",
"psychiatric_outpatient",
"psychotherapy",
"psychiatric",
"professional_physician_visit_office",
"emergency_services",
"infertility",
"dialysis",
"diagnostic_medical",
"maternity",
"smoking_cessation",
"hospital_ambulatory_surgical",
"hospital_emergency_medical",
"hospital_emergency_accident",
"hospital_outpatient",
"home_health_care