# List all Patients Endpoint: GET /patient Version: v1 Security: x-api-key, A-api-key ## Query parameters: - `page` (integer) Example: 1 - `page_size` (integer) Example: 50 - `sort_by` (array) Comma separated search fields Example: ["[\"field_name\",\"field_name\"]"] - `q[]` (array) Filter result by one or more fields. See Query Filtering Available filters: | Value | Format | |---|---| | first_name | string | | surname | string | | file_created | timestamp | | date_of_birth | date | | preferred_name | string | | email | string | | archived | timestamp | | updated | timestamp | | email | string | | home_phone | string | | work_phone | string | | mobile | string | | phone | string | ## Response 200 fields (application/json): - `clients` (array) - `clients.row_num` (integer) - `clients.total_rows` (integer) - `clients.links` (object) - `clients.links.self` (string, required) Example: "https://api.pracsuite.com/v1/patient/1" - `clients.links.accounts` (string) Example: "https://api.pracsuite.com/v1/patient/1/account" - `clients.links.appointments` (string) Example: "https://api.pracsuite.com/v1/patient/1/appointment" - `clients.client_id` (integer) Example: 1 - `clients.first_name` (string) - `clients.tenant_id` (integer) - `clients.title` (string) - `clients.middle_name` (string) - `clients.surname` (string) - `clients.preferred_name` (string) - `clients.date_of_birth` (string) - `clients.email` (string) - `clients.gender` (string) - `clients.address_1` (string) - `clients.address_2` (string) - `clients.address_3` (string) - `clients.address_4` (string) - `clients.suburb` (string) - `clients.address_state` (string) - `clients.postcode` (string) - `clients.country` (string) - `clients.home_phone` (string) - `clients.work_phone` (string) - `clients.mobile` (string) - `clients.fax` (string) - `clients.file_no` (string) - `clients.patient_notes` (string) - `clients.patient_warnings` (string) - `clients.fee_category` (string) - `clients.health_fund` (string) - `clients.health_fund_member_no` (string) - `clients.pension_no` (string) - `clients.pension_expiry` (string) - `clients.worksafe_claim_no` (string) - `clients.archive` (boolean) - `clients.occupation` (string) - `clients.default_account_id` (integer) - `clients.medicare_no` (string) - `clients.medicare_irn` (string) - `clients.medicare_expiry` (string) - `clients.medicare_claimant` (boolean) - `clients.dva_no` (string) - `clients.dva_type` (string) - `clients.health_fund_patient_id` (integer) - `clients.file_created` (string) - `clients.medicare_claimants` (string) Raw JSON string of claimant objects - `clients.default_business` (string) - `clients.default_practitioner` (string) - `clients.referrer` (string) - `clients.referrer_email` (string) - `clients.referrer_organisation` (string) - `clients.referrer_source` (string) - `clients.referral_date` (string) - `clients.medical_warnings` (string) HTML content - `clients.reminders_notifications` (string) HTML content - `clients.gp_name` (string) - `clients.deceased` (boolean) - `clients.family_notes` (string) - `clients.health_fund_card_issue_no` (string) - `clients.covid_vaccination_status` (string) - `clients.covid_vaccination_date` (string) - `clients.ndis_number` (string) - `clients.email_marketing` (string) Enum: "Soft Opt-In", "Opt-In", "Soft Opt-Out", "Opt-Out" - `clients.sms_marketing` (string) Enum: "Soft Opt-In", "Opt-In", "Soft Opt-Out", "Opt-Out" - `clients.sex` (string) - `clients.pronouns` (string) - `clients.default_phone_reminder` (boolean) - `clients.default_sms_reminder` (boolean) - `clients.default_email_reminder` (boolean) - `clients.default_sms_confirmation` (boolean) - `clients.default_email_confirmation` (boolean) - `clients.default_sms_follow_up` (boolean) - `clients.default_email_follow_up` (boolean) - `total_entries` (integer) ## Response 400 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 400 - `error.code` (string, required) Example: "INVALID_PARAMS" - `error.title` (string, required) Example: "Invalid Params" - `error.detail` (string) Human readable explanation of the error Example: "One or more request parameters are invalid." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 401 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 403 - `error.code` (string, required) Example: "UNAUTHORIZED" - `error.title` (string, required) Example: "Unauthorised" - `error.detail` (string) Human readable explanation of the error Example: "Access could not be verified for this request." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 403 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 403 - `error.code` (string, required) Example: "MISSING_AUTHENTICATION_TOKEN" - `error.title` (string, required) Example: "Unauthorised" - `error.detail` (string) Human readable explanation of the error Example: "Authentication token is missing or the requested endpoint does not exist" - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 500 fields (application/json): - `error` (object, required) - `error.status` (integer, required) Example: 500 - `error.code` (string, required) Example: "SERVER_ERROR" - `error.title` (string, required) Example: "Server Error" - `error.detail` (string) Human readable explanation of the error Example: "An unexpected error occurred while processing your request. Please try again in a few minutes. If it keeps happening, contact support with Request ID: 00000000-0000-0000-0000-000000000000." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000"