AlayaCare Care plan API
The Care plan API from AlayaCare — 10 operation(s) for care plan.
The Care plan API from AlayaCare — 10 operation(s) for care plan.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/alayacare-care-plan-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.2
title: 2.0 Care plan API
description: "External Clinical API\n\n**Internal IDs**\nThe following terms are used to reference IDs that identify resources in AlayaCare:\n- id\n- created_by\n- client_id\n- employee_id\n- plan_id\n- diagnosis_id\n- goal_id\n- intervention_id\n\n\n**External IDs**\nThe following terms are used to reference IDs that identify resources systems external to AlayaCare:\n- external_employee_id\n- external_client_id\n- external_service_id\n\nExternal IDs are required to be unique.\nNo other assumptions are made regarding their format they are treated as strings.\n\n**Remarks**\n- All dates must be in ISO 8601 format.\n- Required fields marked with `*` cannot be null.\n \n"
servers:
- url: https://homecare.alayacare.ca/ext/api/v2/clinical
tags:
- name: Care plan
paths:
/client/{client_id}/careplans:
parameters:
- description: Send request using the client Alayacare ID
name: client_id
in: path
required: true
schema:
type: integer
get:
tags:
- Care plan
summary: Get a list of care plan base information using the client Alayacare ID
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/count'
- description: Filter by careplan status
name: status
in: query
schema:
type: string
enum:
- active
- completed
- archived
- name: start_date_from
in: query
required: false
description: 'Filter by care plan start date time greater or equal than specified value.
If not specified will default to now.
Expected format is ISO 8601 converted to UTC timezone.
`start_date_from` can be used as this filter name.
Ex: `2018-02-03T08:00:00-05:00`
'
schema:
type: string
format: date-time
default: utcnow()
- name: start_date_to
in: query
required: false
description: 'Filter by care plan start date time less than or equal than specified value.
If not specified will default to 7 days from now.
Expected format is ISO 8601 converted to UTC timezone.
`start_date_to` can be used as this filter name
Ex: `2019-02-18T08:00:00-05:00`
'
schema:
type: string
format: date-time
default: utcnow() + 7 days
- name: end_date_from
in: query
required: false
description: "Filter by care plan end date time greater or equal than specified value. \nExpected format is ISO 8601 converted to UTC timezone.\nEx: `2019-02-03T08:00:00-05:00`\n"
schema:
type: string
format: date-time
- name: end_date_to
in: query
required: false
description: "Filter by care plan date time less than or equal than specified value. \nExpected format is ISO 8601 converted to UTC timezone.\nEx: `2018-02-18T08:00:00-05:00` \n"
schema:
type: string
format: date-time
- description: Filter by careplan name
name: name
in: query
schema:
type: string
- description: Define the field for sorting
name: sort_by
in: query
schema:
type: string
- description: Define the type of sorting (asc/desc)
name: order
in: query
schema:
type: string
responses:
'200':
description: A list of care plans
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanList'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
post:
tags:
- Care plan
summary: Create a care plan using the client Alayacare ID
responses:
'201':
description: Success response
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanSummary'
'400':
$ref: '#/components/responses/ErrorResponseInvalidRequest'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanCreate'
description: Care plan
required: true
/client/by_id/{external_client_id}/careplans:
parameters:
- description: Send request using the client external ID
name: external_client_id
in: path
required: true
schema:
type: integer
get:
tags:
- Care plan
summary: Get a list of care plan base information using the client external ID
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/count'
- description: Filter by careplan status
name: status
in: query
schema:
type: string
enum:
- active
- completed
- archived
- name: start_date_from
in: query
required: false
description: 'Filter by careplan start date time greater or equal than specified value.
If not specified will default to now.
Expected format is ISO 8601 converted to UTC timezone.
`start_at` can be used as this filter name.
Ex: `2018-02-03T08:00:00-05:00`
'
schema:
type: string
format: date-time
default: utcnow()
- name: start_date_to
in: query
required: false
description: 'Filter by careplan start date time less than or equal than specified value.
If not specified will default to 7 days from now.
Expected format is ISO 8601 converted to UTC timezone.
`end_at` can be used as this filter name
Ex: `2019-02-18T08:00:00-05:00`
'
schema:
type: string
format: date-time
default: utcnow() + 7 days
- name: end_date_from
in: query
required: false
description: "Filter by visit end date time greater or equal than specified value. \nExpected format is ISO 8601 converted to UTC timezone.\nEx: `2019-02-03T08:00:00-05:00`\n"
schema:
type: string
format: date-time
- name: end_date_to
in: query
required: false
description: "Filter by visit end date time less than or equal than specified value. \nExpected format is ISO 8601 converted to UTC timezone.\nEx: `2018-02-18T08:00:00-05:00` \n"
schema:
type: string
format: date-time
- description: Filter by careplan name
name: name
in: query
schema:
type: string
- description: Define the field for sorting
name: sort_by
in: query
schema:
type: string
- description: Define the type of sorting (asc/desc)
name: order
in: query
schema:
type: string
responses:
'200':
description: A list of care plans
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanList'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
post:
tags:
- Care plan
summary: Create a care plan using the client external ID
responses:
'201':
description: Success response
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanSummary'
'400':
$ref: '#/components/responses/ErrorResponseInvalidRequest'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanCreate'
description: Care plan
required: true
/client/{client_id}/careplans/active:
parameters:
- description: Send request using Alayacare client DB ID
name: client_id
in: path
required: true
schema:
type: integer
get:
deprecated: true
tags:
- Care plan
summary: Get the detailed information of the active care plan using Alayacare client ID
description: "Deprecated. Use /careplans/currently-active instead.\nReturns the detailed information of the active careplan, including all sub entities referenced as `root_item` (`diagnosis`, `goal` and `intervention`)\n\n- Specifying `root_item_id` and `root_item_type` filters will return the `root_item` and any item linked to it. Both filters must be valid and specified together or an error will be returned.\n- For example, if a specific `diagnosis_id` is linked to 2 goals then the 3 entities will be returned when filtering on the type `diagnosis` and the specific `diagnosis_id` \n"
parameters:
- description: 'Only return the details for the specified root item ID (`diagnosis`, `goal` and `intervention` IDs)
'
name: root_item_id
in: query
schema:
type: integer
- description: Only return the details for the specified root items type (`diagnosis`, `goal` or `intervention`)
name: root_item_type
in: query
schema:
type: string
enum:
- diagnosis
- goal
- intervention
- description: Set the start date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: from
in: query
schema:
type: string
- description: Set the end date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: to
in: query
schema:
type: string
- description: Filter root items by tags
name: tags
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by services
name: services
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by departments
name: departments
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by status
name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- active
- completed
- archived
responses:
'200':
description: The care plan
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanDetails'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
/client/{client_id}/careplans/currently-active:
parameters:
- description: Send request using Alayacare client DB ID
name: client_id
in: path
required: true
schema:
type: integer
get:
tags:
- Care plan
summary: Get the detailed information of the active care plan using Alayacare client ID
description: "Returns the detailed information of the active careplan, including all sub entities referenced as `root_item` (`diagnosis`, `goal` and `intervention`)\n\n- Specifying `root_item_id` and `root_item_type` filters will return the `root_item` and any item linked to it. Both filters must be valid and specified together or an error will be returned.\n- For example, if a specific `diagnosis_id` is linked to 2 goals then the 3 entities will be returned when filtering on the type `diagnosis` and the specific `diagnosis_id` \n"
parameters:
- description: 'Only return the details for the specified root item ID (`diagnosis`, `goal` and `intervention` IDs)
'
name: root_item_id
in: query
schema:
type: integer
- description: Only return the details for the specified root items type (`diagnosis`, `goal` or `intervention`)
name: root_item_type
in: query
schema:
type: string
enum:
- diagnosis
- goal
- intervention
- description: Set the start date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: from
in: query
schema:
type: string
- description: Set the end date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: to
in: query
schema:
type: string
- description: Filter root items by tags
name: tags
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by services
name: services
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by departments
name: departments
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by status
name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- active
- completed
- archived
responses:
'200':
description: The care plan
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanDetails'
'204':
description: No active care plan
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
/client/by_id/{external_client_id}/careplans/active:
parameters:
- description: Send request using Alayacare client external ID
name: external_client_id
in: path
required: true
schema:
type: integer
get:
deprecated: true
tags:
- Care plan
summary: Get the detailed information of the active care plan using client external ID
description: "Deprecated. Use /careplans/currently-active instead.\nReturns the detailed information of the active careplan, including all sub entities referenced as `root_item` (`diagnosis`, `goal` and `intervention`)\n\n- Specifying `root_item_id` and `root_item_type` filters will return the `root_item` and any item linked to it. Both filters must be valid and specified together or an error will be returned.\n- For example, if a specific `diagnosis_id` is linked to 2 goals then the 3 entities will be returned when filtering on the type `diagnosis` and the specific `diagnosis_id` \n"
parameters:
- description: 'Only return the details for the specified root item ID (`diagnosis`, `goal` and `intervention` IDs)
'
name: root_item_id
in: query
schema:
type: integer
- description: Only return the details for the specified root items type (`diagnosis`, `goal` or `intervention`)
name: root_item_type
in: query
schema:
type: string
enum:
- diagnosis
- goal
- intervention
- description: Set the start date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: from
in: query
schema:
type: string
- description: Set the end date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: to
in: query
schema:
type: string
- description: Filter root items by tags
name: tags
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by services
name: services
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by departments
name: departments
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by status
name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- active
- completed
- archived
responses:
'200':
description: The care plan
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanDetails'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseClientNotFound'
/client/by_id/{external_client_id}/careplans/currently-active:
parameters:
- description: Send request using Alayacare client external ID
name: external_client_id
in: path
required: true
schema:
type: integer
get:
tags:
- Care plan
summary: Get the detailed information of the active care plan using client external ID
description: "Returns the detailed information of the active careplan, including all sub entities referenced as `root_item` (`diagnosis`, `goal` and `intervention`)\n\n- Specifying `root_item_id` and `root_item_type` filters will return the `root_item` and any item linked to it. Both filters must be valid and specified together or an error will be returned.\n- For example, if a specific `diagnosis_id` is linked to 2 goals then the 3 entities will be returned when filtering on the type `diagnosis` and the specific `diagnosis_id` \n"
parameters:
- description: 'Only return the details for the specified root item ID (`diagnosis`, `goal` and `intervention` IDs)
'
name: root_item_id
in: query
schema:
type: integer
- description: Only return the details for the specified root items type (`diagnosis`, `goal` or `intervention`)
name: root_item_type
in: query
schema:
type: string
enum:
- diagnosis
- goal
- intervention
- description: Set the start date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: from
in: query
schema:
type: string
- description: Set the end date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: to
in: query
schema:
type: string
- description: Filter root items by tags
name: tags
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by services
name: services
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by departments
name: departments
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by status
name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- active
- completed
- archived
responses:
'200':
description: The care plan
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanDetails'
'204':
description: No active care plan
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
/careplans/{plan_id}:
parameters:
- description: ID of care plan
name: plan_id
in: path
required: true
schema:
type: integer
get:
tags:
- Care plan
summary: Get detailed information about a care plan using the care plan ID
description: 'Returns the detailed information of the careplan, including all sub entities referenced as `root_item` (`diagnosis`, `goal` and `intervention`)
'
parameters:
- description: 'Only return the details for the specified root item ID (`diagnosis`, `goal` and `intervention` IDs)
'
name: root_item_id
in: query
schema:
type: integer
- description: Only return the details for the specified root items type (`diagnosis`, `goal` or `intervention`)
name: root_item_type
in: query
schema:
type: string
enum:
- diagnosis
- goal
- intervention
- description: Set the start date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: from
in: query
schema:
type: string
- description: Set the end date of the search period for the root items (`diagnosis`, `goal` and `intervention`) (YYYY-MM-DD)
name: to
in: query
schema:
type: string
- description: Filter root items by tags
name: tags
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by services
name: services
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by departments
name: departments
in: query
schema:
type: array
items:
type: integer
- description: Filter root items by status
name: statuses
in: query
schema:
type: array
items:
type: string
enum:
- active
- completed
- archived
responses:
'200':
description: The care plan
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanDetails'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseCarePlanNotFound'
put:
tags:
- Care plan
summary: Update care plan base information using the care plan ID
responses:
'204':
description: Careplan updated
'400':
$ref: '#/components/responses/ErrorResponseInvalidRequest'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseCarePlanNotFound'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CarePlanUpdate'
description: Updated care plan
required: true
/careplans/{plan_id}/status/active:
parameters:
- description: ID of care plan
name: plan_id
in: path
required: true
schema:
type: integer
put:
tags:
- Care plan
summary: Change status of care plan to active using the care plan ID
description: '- If a care plan is in `completed` or `archived` status, then the care plan cannot be re-activated again.
- Only `one` care plan can be active at a time.
- If an existing care plan is currently active, and you wish to create and activate a new care plan, then the `start_date` of the new care plan must be `after` the `start _date` of the currently active care plan.
'
responses:
'204':
description: Status of Careplan was updated to active
'400':
$ref: '#/components/responses/ErrorResponseInvalidStatusUpdate'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseCarePlanNotFound'
/careplans/{plan_id}/status/archived:
parameters:
- description: ID of care plan
name: plan_id
in: path
required: true
schema:
type: integer
put:
tags:
- Care plan
summary: Change status of care plan to archived using the care plan ID
description: '- Care plans in active status must be completed before they can be archived.
'
responses:
'204':
description: Status of Careplan was updated to archived
'400':
$ref: '#/components/responses/ErrorResponseInvalidStatusUpdate'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseCarePlanNotFound'
/careplans/{plan_id}/status/completed:
parameters:
- description: ID of care plan
name: plan_id
in: path
required: true
schema:
type: integer
put:
tags:
- Care plan
summary: Change status of care plan to completed using the care plan ID
responses:
'204':
description: Status of Careplan was updated to completed
'400':
$ref: '#/components/responses/ErrorResponseInvalidStatusUpdate'
'401':
$ref: '#/components/responses/AuthChallenge'
'403':
$ref: '#/components/responses/ErrorInsufficientAccess'
'404':
$ref: '#/components/responses/ErrorResponseCarePlanNotFound'
requestBody:
content:
application/json:
schema:
type: object
properties:
end_date:
type: string
example: '2020-02-01'
description: Related information
components:
schemas:
ErrorResponse:
description: Error response
type: object
properties:
status_code:
type: integer
description: Response code
message:
type: string
description: Detailed error message
required:
- code
- message
CarePlanList:
allOf:
- $ref: '#/components/schemas/PaginatedList'
description: A list of Care Plans
type: object
properties:
total_pages:
description: Totalnumber of pages available
type: integer
example: 10
items:
type: array
items:
$ref: '#/components/schemas/CarePlanSummary'
InterventionModule:
description: Alayacare module attached to care plan intervention. If not set no alayacare module will be linked to the intervention.
type: object
properties:
name:
description: Alayacare module name linked to the intervention
type:
- string
- 'null'
enum:
- form
- medication
- vital
id:
description: '`id` is the ID on the entity selected in the module and assigned to the client
- Form ID of the linked form. Is required to be set if `form` module is selected.
- vital ID of the linked vital. Can only be set if `vital` module is selected. Will be defaulted to `all` if no `vital_id` is sent.
- Medication ID of the linked medication. Can only be set if `medication` module is selected. Will be defaulted to `all` if no `medication_id` is sent.
'
type: string
example: 3948
EntitySummaryList:
type: array
items:
$ref: '#/components/schemas/EntitySummary'
GoalProgress:
description: Goal progress information
properties:
comment:
type: string
percentage:
type: integer
completed:
type: boolean
example:
comment: That was hard
completed: false
CarePlanCreate:
description: Create a Care Plan
type: object
required:
- name
- start_date
properties:
name:
description: The title of the care plan
type: string
example: Test care plan
start_date:
description: The start date of the care plan
type: string
example: '2018-01-10'
end_date:
description: The end date of the care plan
type: string
example: '2018-01-10'
ExternalLink:
type: object
required:
- label
- url
properties:
label:
type: string
example: How to use a catheter
url:
type: string
example: www.youtube.com/catheter
EntitySummary:
type: object
required:
- id
- name
properties:
id:
type: integer
description: AlayaCare entity ID
example: 1001
name:
type: string
description: Alayacare entity name
example: entity name
CarePlanDiagnosis:
description: Care plan diagnosis
type: object
properties:
id:
description: Care Plan Diagnosis ID
type: integer
example: 100
plan_id:
description: Care Plan ID
type: integer
example: 345
plan_name:
description: Care plan name
type: string
example: 'Episode #4'
name:
description: A title of care plan diagnosis
type: string
example: Title example
start_date:
description: A start date of diagnosis
type: string
example: '2018-01-10'
end_date:
description: A end date of diagnosis
type: string
example: '2018-01-10'
description:
description: A description of care plan diagnosis
type: string
example: Description of diagnosis
is_primary:
description: Define that this diagnosis is primary
type: boolean
example: true
rank:
description: Used for ordering of diagnoses in list. The smaller, the higher ranked will the diagnosis be returned
type: integer
example: 0
status:
$ref: '#/components/schemas/CareplanItemStatus'
department:
$ref: '#/components/schemas/EntitySummary'
updated_at:
description: Datetime for the last update of the diagnosis
type: string
example: '2018-01-23T23:56:13+00:00'
updated_by:
$ref: '#/components/schemas/User'
created_at:
description: Datetime of the creation of the diagnosis
type: string
example: '2017-12-20T23:56:13+00:00'
created_by:
$ref: '#/components/schemas/User'
completed_at:
description: Datetime when the diagnosis was completed
type:
- string
- 'null'
example: '2017-12-20T23:56:13+00:00'
completed_by:
$ref: '#/components/schemas/User'
completion_note:
description: Completion note of the diagnosis
type:
- string
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alayacare/refs/heads/main/openapi/alayacare-care-plan-api-openapi.yml