Admin Patients API
Administrative endpoints for managing patients across the entire system.
List All Patients
Get a comprehensive list of all patients in the system.
Endpoint: GET /v1/admin/clinic/patients
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”) |
search | string | No | Search term |
Example Request
GET /v1/admin/clinic/patients?page=1&page_size=100 HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_hereFilter Patients
Filter patients with advanced administrative criteria.
Endpoint: POST /v1/admin/clinic/patients/filter_patients
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: eligibility_status (string), insurance_plan_id (integer), ready_for_services (boolean), date (object with start_date/end_date), member_ids (array), provider_name (string) |
page_size | integer | No | Number of items per page |
Get Eligible Patients
Get patients who are eligible for services.
Endpoint: GET /v1/admin/clinic/patients/eligibles
Authentication: Required (Admin role)
Get Archived Patients
Get patients who have been archived.
Endpoint: GET /v1/admin/clinic/patients/archived
Authentication: Required (Admin role)
Get Ready Patients
Get patients who are ready for treatment (completed assessments, no appointments).
Endpoint: GET /v1/admin/clinic/patients/ready
Authentication: Required (Admin role)
Response Criteria
Patients are considered “ready” when they have:
- Completed at least 7 assessments
- No existing appointments
- Active status
- Under 18 years old
- Clinical flag set to true
Get Patient Details
Endpoint: GET /v1/admin/clinic/patients/{id}
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Patient ID |
Example Request
GET /v1/admin/clinic/patients/1049 HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_hereUpdate Patient
Endpoint: PUT /v1/admin/clinic/patients/{id}
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
patient | object | Yes | Patient data object |
patient.address_override | object | No | Address override information |
patient.address_override.street_address | string | No | Street address |
patient.address_override.city | string | No | City |
patient.address_override.state | string | No | State |
patient.address_override.zip_code | string | No | ZIP code |
Example Request
PUT /v1/admin/clinic/patients/1049 HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"patient": {
"address_override": {
"street_address": "123 Main St",
"city": "New York",
"state": "NY",
"zip_code": "10001"
}
}
}Archive Patient
Archive a patient (soft delete).
Endpoint: POST /v1/admin/clinic/patients/{id}/archive
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Patient ID |
Unarchive Patient
Restore an archived patient.
Endpoint: POST /v1/admin/clinic/patients/{id}/unarchive
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Patient ID |
Merge Patients
Merge two patient records into one.
Endpoint: POST /v1/admin/clinic/patients/merge
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
from | integer | Yes | ID of patient to merge from |
to | integer | Yes | ID of patient to merge into |
Example Request
POST /v1/admin/clinic/patients/merge HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"from": 1234,
"to": 5678
}Merge Process
The merge operation transfers:
- All appointments from source to target patient
- All assessments from source to target patient
- All prescriptions from source to target patient
- Eligibility information (if target doesn’t have it)
- Spot information (if target doesn’t have it)
- Person information (if target doesn’t have it)
After successful merge, the source patient record is deleted.
Patient Documents
List Patient Documents
Endpoint: GET /v1/admin/clinic/patients/{patient_id}/documents
Authentication: Required (Admin role)
Create Patient Document
Endpoint: POST /v1/admin/clinic/patients/{patient_id}/documents
Authentication: Required (Admin role)
Get Patient Document
Endpoint: GET /v1/admin/clinic/patients/{patient_id}/documents/{id}
Authentication: Required (Admin role)
Update Patient Document
Endpoint: PUT /v1/admin/clinic/patients/{patient_id}/documents/{id}
Authentication: Required (Admin role)
Delete Patient Document
Endpoint: DELETE /v1/admin/clinic/patients/{patient_id}/documents/{id}
Authentication: Required (Admin role)
Patient Comments
List Patient Comments
Endpoint: GET /v1/admin/clinic/patients/{patient_id}/comments
Authentication: Required (Admin role)
Create Patient Comment
Endpoint: POST /v1/admin/clinic/patients/{patient_id}/comments
Authentication: Required (Admin role)
Get Patient Comment
Endpoint: GET /v1/admin/clinic/patients/{patient_id}/comments/{id}
Authentication: Required (Admin role)
Update Patient Comment
Endpoint: PUT /v1/admin/clinic/patients/{patient_id}/comments/{id}
Authentication: Required (Admin role)
Delete Patient Comment
Endpoint: DELETE /v1/admin/clinic/patients/{patient_id}/comments/{id}
Authentication: Required (Admin role)
Patient Eligibility Information
Create Eligibility Information
Endpoint: POST /v1/admin/clinic/patients/{patient_id}/eligibility_informations
Authentication: Required (Admin role)
Update Eligibility Information
Endpoint: PUT /v1/admin/clinic/patients/{patient_id}/eligibility_informations/{id}
Authentication: Required (Admin role)
Activate Eligibility Information
Endpoint: PATCH /v1/admin/clinic/patients/{patient_id}/eligibility_informations/{id}/activate
Authentication: Required (Admin role)
Deactivate Eligibility Information
Endpoint: PATCH /v1/admin/clinic/patients/{patient_id}/eligibility_informations/{id}/deactivate
Authentication: Required (Admin role)
Patient Eligibility Checks
Create Eligibility Check
Endpoint: POST /v1/admin/clinic/patients/{patient_id}/eligibility_checks
Authentication: Required (Admin role)
Patient Filters
Get available filter options for admin patient searches.
Endpoint: GET /v1/admin/clinic/patients/filters
Authentication: Required (Admin role)
Error Responses
403 Forbidden
{
"errors": "Admin access required"
}422 Unprocessable Entity
{
"errors": {
"from": ["can't be blank"],
"to": ["can't be blank", "can't be the same as from patient"]
}
}404 Not Found
{
"errors": "Patient not found"
}Notes
- All admin patient endpoints require administrative privileges
- Patient merging is irreversible - use with caution
- Archived patients are soft-deleted and can be restored
- The “ready” endpoint helps identify patients ready for treatment assignment
- Eligibility information is used for insurance verification and billing
- Comments provide a way to add administrative notes to patient records