Skip to Content
Admin APIPatients

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

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination
page_sizeintegerNoNumber of items per page
sort_bystringNoField to sort by
sort_dirstringNoSort direction (“ASC” or “DESC”)
searchstringNoSearch 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_here

Filter Patients

Filter patients with advanced administrative criteria.

Endpoint: POST /v1/admin/clinic/patients/filter_patients
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
searchstringNoSearch term
sort_bystringNoField to sort by
sort_dirstringNoSort direction
filtersobjectNoFilter 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_sizeintegerNoNumber 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

ParameterTypeRequiredDescription
idintegerYesPatient ID

Example Request

GET /v1/admin/clinic/patients/1049 HTTP/1.1 Content-Type: application/json X-User-Token: your_admin_token_here

Update Patient

Endpoint: PUT /v1/admin/clinic/patients/{id}
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
patientobjectYesPatient data object
patient.address_overrideobjectNoAddress override information
patient.address_override.street_addressstringNoStreet address
patient.address_override.citystringNoCity
patient.address_override.statestringNoState
patient.address_override.zip_codestringNoZIP 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

ParameterTypeRequiredDescription
idintegerYesPatient ID

Unarchive Patient

Restore an archived patient.

Endpoint: POST /v1/admin/clinic/patients/{id}/unarchive
Authentication: Required (Admin role)

Path Parameters

ParameterTypeRequiredDescription
idintegerYesPatient ID

Merge Patients

Merge two patient records into one.

Endpoint: POST /v1/admin/clinic/patients/merge
Authentication: Required (Admin role)

Request Body Parameters

ParameterTypeRequiredDescription
fromintegerYesID of patient to merge from
tointegerYesID 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