Admin Claims API
Administrative endpoints for managing insurance claims and billing.
List Claims
Get a list of insurance claims.
Endpoint: GET /v1/admin/clinic/claims
Authentication: Required (Admin role)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination |
page_size | integer | No | Number of items per page |
sort_by | string | No | Field to sort by |
sort_dir | string | No | Sort direction (“ASC” or “DESC”) |
status | string | No | Filter by claim status |
patient_id | integer | No | Filter by patient ID |
provider_id | integer | No | Filter by provider ID |
Example Request
GET /v1/admin/clinic/claims?status=submitted&page=1 HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_hereFilter Claims
Filter claims with advanced criteria.
Endpoint: POST /v1/admin/clinic/claims/filter_claims
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
search | string | No | Search term |
sort_by | string | No | Field to sort by |
sort_dir | string | No | Sort direction |
filters | object | No | Filter criteria with available parameters: date (object with start_date/end_date), status (string), appointment_type (string), insurance_plan_id (integer), appointment_id (integer), patient_name (string), provider_name (string) |
page_size | integer | No | Number of items per page |
Example Request
POST /v1/admin/clinic/claims/filter_claims HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"search": "therapy",
"filters": {
"status": "pending",
"date_range": {
"start": "2023-10-01",
"end": "2023-10-31"
},
"amount_range": {
"min": 100,
"max": 500
}
},
"page_size": 50
}Create Claim
Endpoint: POST /v1/admin/clinic/claims
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
claim | object | Yes | Claim data object |
claim.patient_id | integer | Yes | Patient ID |
claim.provider_id | integer | Yes | Provider ID |
claim.appointment_id | integer | Yes | Appointment ID |
claim.cpt_code | string | Yes | CPT procedure code |
claim.diagnosis_codes | array | Yes | Array of ICD-10 diagnosis codes |
claim.service_date | string | Yes | Date of service (YYYY-MM-DD) |
claim.amount | number | Yes | Claim amount |
Example Request
POST /v1/admin/clinic/claims HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"claim": {
"patient_id": 1049,
"provider_id": 456,
"appointment_id": 789,
"cpt_code": "90834",
"diagnosis_codes": ["F41.1", "F32.9"],
"service_date": "2023-10-27",
"amount": 150.00
}
}Get Claim Details
Endpoint: GET /v1/admin/clinic/claims/{id}
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Claim ID |
Update Claim
Endpoint: PUT /v1/admin/clinic/claims/{id}
Authentication: Required (Admin role)
Request Body Parameters
Same as Create Claim endpoint.
Delete Claim
Endpoint: DELETE /v1/admin/clinic/claims/{id}
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Claim ID |
Generate EDI
Generate Electronic Data Interchange (EDI) files for claims submission.
Endpoint: POST /v1/admin/clinic/claims/generate_edi
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
claim_ids | array | Yes | Array of claim IDs to include |
format | string | No | EDI format (default: “837P”) |
batch_name | string | No | Name for the batch |
Example Request
POST /v1/admin/clinic/claims/generate_edi HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"claim_ids": [123, 124, 125],
"format": "837P",
"batch_name": "October_2023_Batch_1"
}Claim Documents
List Claim Documents
Endpoint: GET /v1/admin/clinic/claims/{claim_id}/documents
Authentication: Required (Admin role)
Create Claim Document
Endpoint: POST /v1/admin/clinic/claims/{claim_id}/documents
Authentication: Required (Admin role)
Get Claim Document
Endpoint: GET /v1/admin/clinic/claims/{claim_id}/documents/{id}
Authentication: Required (Admin role)
Update Claim Document
Endpoint: PUT /v1/admin/clinic/claims/{claim_id}/documents/{id}
Authentication: Required (Admin role)
Delete Claim Document
Endpoint: DELETE /v1/admin/clinic/claims/{claim_id}/documents/{id}
Authentication: Required (Admin role)
Claims Filters
Get available filter options for claims.
Endpoint: GET /v1/admin/clinic/claims/filters
Authentication: Required (Admin role)
Response Format
Claim Response
{
"id": 123,
"patient_id": 1049,
"provider_id": 456,
"appointment_id": 789,
"claim_number": "CLM-2023-001234",
"cpt_code": "90834",
"diagnosis_codes": ["F41.1", "F32.9"],
"service_date": "2023-10-27",
"amount": 150.00,
"status": "submitted",
"submission_date": "2023-10-28T10:00:00.000Z",
"payment_amount": null,
"payment_date": null,
"denial_reason": null,
"created_at": "2023-10-27T16:00:00.000Z",
"updated_at": "2023-10-28T10:00:00.000Z"
}EDI Generation Response
{
"batch_id": "BATCH-2023-001",
"file_url": "https://storage.example.com/edi/batch-2023-001.txt",
"claim_count": 3,
"total_amount": 450.00,
"generated_at": "2023-10-28T15:30:00.000Z"
}Claim Status Values
draft- Claim is being preparedready- Claim is ready for submissionsubmitted- Claim has been submitted to insurancepending- Claim is pending review by insuranceapproved- Claim has been approvedpaid- Claim has been paiddenied- Claim has been deniedrejected- Claim was rejected due to errors
Common CPT Codes
90834- Psychotherapy, 45 minutes90837- Psychotherapy, 60 minutes90791- Psychiatric diagnostic evaluation90792- Psychiatric diagnostic evaluation with medical services90847- Family psychotherapy with patient present90853- Group psychotherapy
Error Responses
403 Forbidden
{
"errors": "Admin access required"
}422 Unprocessable Entity
{
"errors": {
"cpt_code": ["can't be blank", "is invalid"],
"diagnosis_codes": ["can't be blank"],
"amount": ["must be greater than 0"]
}
}404 Not Found
{
"errors": "Claim not found"
}Notes
- All admin claims endpoints require administrative privileges
- Claims must include valid CPT codes and ICD-10 diagnosis codes
- EDI generation creates files in standard healthcare formats
- Claim status tracking helps monitor the billing process
- Documents can be attached to claims for supporting evidence
- Payment tracking helps with revenue cycle management
- Denial reasons help identify patterns and improve claim success rates