AlayaCare Medication API
The Medication API from AlayaCare — 5 operation(s) for medication.
The Medication API from AlayaCare — 5 operation(s) for medication.
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-medication-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:
title: Alayacare Medication API
version: '1.0'
description: 'Operations tagged Medication across 2 of this provider''s published API definitions: alayacare-clinical-openapi.yml, alayacare-medication-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://homecare.alayacare.ca/ext/api/v2/clinical
- url: https://homecare.alayacare.ca/ext/api/v3/clinical
tags:
- name: Medication
paths:
/medications:
get:
tags:
- Medication
summary: Get a list of medications
description: 'The fields `count_administered_today` and `last_administered_at` will NOT be populated.
'
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/count'
- name: client_id
description: The ID of a client.
in: query
schema:
type: integer
- name: external_client_id
description: The external ID of a client.
in: query
schema:
type: string
- name: status
description: The status of a medication.
in: query
schema:
type: string
- name: with_last_administration
description: The fields `count_administered_today` and `last_administered_at` will be populated.
in: query
schema:
type: boolean
responses:
200:
description: A list of medications
content:
application/json:
schema:
$ref: '#/components/schemas/MedicationList'
401:
$ref: '#/components/responses/AuthChallenge'
400:
$ref: '#/components/responses/InvalidRequest'
post:
tags:
- Medication
summary: Create a medication
responses:
201:
description: Medication created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSuccess'
401:
$ref: '#/components/responses/AuthChallenge'
400:
$ref: '#/components/responses/InvalidRequest'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MedicationCreate'
description: Medication data in JSON format
required: true
servers:
- url: https://homecare.alayacare.ca/ext/api/v2/clinical
/medications/{medication_id}:
parameters:
- description: Medication ID
name: medication_id
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Medication
summary: Get details of a medication
parameters:
- description: The fields `count_administered_today` and `last_administered_at` will be populated.
name: with_last_administration
in: query
schema:
type: boolean
responses:
200:
description: Medication details
content:
application/json:
schema:
$ref: '#/components/schemas/Medication'
401:
$ref: '#/components/responses/AuthChallenge'
400:
$ref: '#/components/responses/InvalidRequest'
404:
$ref: '#/components/responses/NotFound'
put:
tags:
- Medication
summary: Update a medication
responses:
200:
description: Medication updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSuccess'
401:
$ref: '#/components/responses/AuthChallenge'
400:
$ref: '#/components/responses/InvalidRequest'
404:
$ref: '#/components/responses/NotFound'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MedicationUpdate'
description: Medication data in JSON format
required: true
servers:
- url: https://homecare.alayacare.ca/ext/api/v2/clinical
/client/{client_id}/medications:
get:
tags:
- Medication
summary: Fetch a list of medications by client
responses:
'200':
$ref: '#/components/responses/MedicationList'
'400':
$ref: '#/components/responses/InvalidRequest_2'
'401':
$ref: '#/components/responses/AuthChallenge_2'
parameters:
- name: client_id
schema:
type: integer
in: path
required: true
description: Client ID to fetch the medications from
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/medications'
- $ref: '#/components/parameters/medication_ids'
- $ref: '#/components/parameters/exclude_medication_ids'
- $ref: '#/components/parameters/status'
- $ref: '#/components/parameters/frequency_setting'
- $ref: '#/components/parameters/administration_type'
- $ref: '#/components/parameters/discrepancy_type'
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/is_archived'
- $ref: '#/components/parameters/is_high_alert'
- $ref: '#/components/parameters/is_narcotic'
- $ref: '#/components/parameters/page_2'
- $ref: '#/components/parameters/count_2'
- $ref: '#/components/parameters/sort_by'
- $ref: '#/components/parameters/sort_order'
security:
- basicAuth: []
post:
tags:
- Medication
summary: Create a new medication for a specific client
parameters:
- name: client_id
in: path
required: true
description: Client ID to save the medications
schema:
type: integer
requestBody:
$ref: '#/components/requestBodies/CreateMedication'
responses:
'201':
$ref: '#/components/responses/Medication'
'400':
$ref: '#/components/responses/InvalidRequest_2'
'401':
$ref: '#/components/responses/AuthChallenge_2'
'409':
$ref: '#/components/responses/ValidationError'
security:
- basicAuth: []
servers:
- url: https://homecare.alayacare.ca/ext/api/v3/clinical
/client/by_id/{external_client_id}/medications:
get:
tags:
- Medication
summary: Fetch a medication by external client id
operationId: get_medication
responses:
'200':
$ref: '#/components/responses/MedicationList'
'400':
$ref: '#/components/responses/InvalidRequest_2'
'401':
$ref: '#/components/responses/AuthChallenge_2'
parameters:
- name: external_client_id
schema:
type: integer
in: path
required: true
description: External client ID to fetch the medications from
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/medications'
- $ref: '#/components/parameters/medication_ids'
- $ref: '#/components/parameters/exclude_medication_ids'
- $ref: '#/components/parameters/status'
- $ref: '#/components/parameters/frequency_setting'
- $ref: '#/components/parameters/administration_type'
- $ref: '#/components/parameters/discrepancy_type'
- $ref: '#/components/parameters/start_date'
- $ref: '#/components/parameters/end_date'
- $ref: '#/components/parameters/is_archived'
- $ref: '#/components/parameters/is_high_alert'
- $ref: '#/components/parameters/is_narcotic'
- $ref: '#/components/parameters/page_2'
- $ref: '#/components/parameters/count_2'
- $ref: '#/components/parameters/sort_by'
- $ref: '#/components/parameters/sort_order'
security:
- basicAuth: []
post:
tags:
- Medication
summary: Create a new medication for a specific client
parameters:
- name: external_client_id
schema:
type: integer
in: path
required: true
description: Client external ID to save the medications
requestBody:
$ref: '#/components/requestBodies/CreateMedication'
responses:
'201':
$ref: '#/components/responses/Medication'
'400':
$ref: '#/components/responses/InvalidRequest_2'
'401':
$ref: '#/components/responses/AuthChallenge_2'
'409':
$ref: '#/components/responses/ValidationError'
security:
- basicAuth: []
servers:
- url: https://homecare.alayacare.ca/ext/api/v3/clinical
/medications/{medication_id}/change_status/{new_status}:
post:
tags:
- Medication
summary: Update a medication status
operationId: update_status
responses:
'204':
description: Medication status updated successfully
'400':
$ref: '#/components/responses/InvalidRequest_2'
'401':
$ref: '#/components/responses/AuthChallenge_2'
'409':
$ref: '#/components/responses/ValidationError'
parameters:
- name: medication_id
schema:
type: integer
in: path
required: true
description: Medication id
- name: new_status
schema:
type: string
in: path
required: true
description: New medication status
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
reason:
type: string
edited_by:
type: string
edited_at:
type: string
archive:
type: boolean
default: false
is_discontinue_replacing_end_date:
type: boolean
default: false
security:
- basicAuth: []
servers:
- url: https://homecare.alayacare.ca/ext/api/v3/clinical
components:
schemas:
ErrorResponse:
description: Error response
type: object
properties:
code:
type: integer
description: Response code
message:
type: string
description: Detailed error message
required:
- code
- message
DiscrepancyStatus:
type:
- string
- 'null'
description: The status of the discrepancy.
enum:
- continue
- discharge
- hold
example: continue
InformationSource:
type: string
description: The information source for the medication.
enum:
- client
- family_caregiver
- rx_vials
- blister_packs
- physician_rx
- physician_samples
- pharmacist_list
- referral_source
- staff_nurse
- other
example: staff_nurse
MedicationList:
allOf:
- $ref: '#/components/schemas/PaginatedList'
description: Paginated list of the medications
properties:
items:
type: array
items:
$ref: '#/components/schemas/Medication'
DosageType:
type: string
description: The unit used for the dosage.
enum:
- li
- meq
- sol
- ung
- cap
- international_units
- millions_of_units
- mcg
- mg
- g
- ml
- units
- gtt
- tab
- oz
- fl_oz
- tsp
- tbsp
- gal
- pt
- other
example: mg
MedicationUpdate:
type: object
description: Update a Medication
required:
- id
- created_employee_id
- updated_employee_id
properties:
administered_by_nurse:
$ref: '#/components/schemas/AdministeredByNurse'
administrator:
type: string
description: Whether a health care professional has been notified.
example: true
basal_rate_range:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
bolus_frequency:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
bolus_rate_range:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
comments:
type: string
concentration:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
created_employee_id:
type: integer
description: The ID of the employee that created the entity.
delivery_mode:
$ref: '#/components/schemas/DeliveryMode'
delivery_mode_other:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_other`.
example: ambulatory_pump_pca
discrepancy:
$ref: '#/components/schemas/Discrepancy'
discrepancy_note:
type: string
discrepancy_status:
$ref: '#/components/schemas/DiscrepancyStatus'
external_client_id:
type: string
description: The external ID of the client.
example: client_1234
high_alert:
type: boolean
description: Whether the medication has been flagged as a high alert.
example: true
information_source:
$ref: '#/components/schemas/InformationSource'
max_boluses:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
special_instructions:
type: string
description: Special instructions if required.
status:
$ref: '#/components/schemas/Status'
updated_employee_id:
type: integer
description: The ID of the employee that last updated the entity.
DeliveryMode:
type:
- string
- 'null'
description: The delivery mode of the medication.
enum:
- ambulatory_pump_continuous
- ambulatory_pump_intermittent
- ambulatory_pump_pca
- ambulatory_pump_taper
- ambulatory_pump_other
- iv_pump
- iv_push
- gravity
example: ambulatory_pump_continuous
Medication:
type: object
description: Medication details
required:
- administered_by_nurse
- created_at
- created_employee_id
- dose
- dosage_type
- id
- information_source
- medication
- medication_type
- route
- status
- time_instruction
- updated_at
- updated_employee_id
properties:
administered_by_nurse:
$ref: '#/components/schemas/AdministeredByNurse'
administration_times:
type:
- string
- 'null'
description: The times that the medication should be administered.
example: In the mornings or evenings
administrator:
type:
- string
- 'null'
description: Whether a health care professional has been notified.
example: true
basal_rate_range:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
bolus_frequency:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
bolus_rate_range:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
comments:
type:
- string
- 'null'
concentration:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
created_at:
type: string
description: The created date using ISO 8601 date-time formatting.
example: '2018-01-01T00:30:00+00:00'
created_employee_id:
type: integer
description: The ID of the employee that created the entity.
count_administered_today:
type: integer
description: The number of times today that the medication has been administered. This is only populated when specifying `with_last_administration`.
example: 3
delivery_mode:
$ref: '#/components/schemas/DeliveryMode'
delivery_mode_other:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_other`.
example: ambulatory_pump_pca
discrepancy:
$ref: '#/components/schemas/Discrepancy'
discrepancy_note:
type:
- string
- 'null'
discrepancy_status:
$ref: '#/components/schemas/DiscrepancyStatus'
dosage_type:
$ref: '#/components/schemas/DosageType'
dose:
type: string
description: The dosage of the medication to administer.
example: 2
end_date:
type:
- string
- 'null'
description: The end date of the medication using ISO 8601 date formatting.
example: '2018-01-01'
end_date_unknown:
type: boolean
description: Whether the end date is unknown.
example: false
episode_id:
type:
- integer
- 'null'
description: The ID of the episode.
example: 1
external_client_id:
type:
- string
- 'null'
description: The external ID of the client.
example: client_1234
high_alert:
type: boolean
description: Whether the medication has been flagged as a high alert.
example: true
id:
type: string
format: uuid
description: The ID of the medication.
example: 445e1b60-7287-47fb-ae00-2ca35fb4d58e
information_source:
$ref: '#/components/schemas/InformationSource'
last_administered_at:
type:
- string
- 'null'
description: The last administration date using ISO 8601 date-time formatting. This is only populated when specifying `with_last_administration`.
example: '2018-01-01T00:30:00+00:00'
max_boluses:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
medication:
type: string
description: The medication name.
example: Ibuprofen
medication_type:
$ref: '#/components/schemas/Type'
ordering_physician:
type:
- string
- 'null'
client_id:
type: integer
description: The ID of the client.
pca_special_instructions:
type:
- string
- 'null'
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
route:
$ref: '#/components/schemas/Route'
special_instructions:
type:
- string
- 'null'
description: Special instructions if required.
start_date:
type:
- string
- 'null'
description: The start date of the medication using ISO 8601 date formatting.
example: '2018-01-01'
start_date_unknown:
type:
- boolean
- 'null'
description: Whether the start date is unknown.
example: false
status:
$ref: '#/components/schemas/Status'
time_instruction:
$ref: '#/components/schemas/TimeInstruction'
updated_at:
type: string
description: The last updated date using ISO 8601 date-time formatting.
example: '2018-01-01T00:30:00+00:00'
updated_employee_id:
type: integer
description: The ID of the employee that last updated the entity.
AdministeredByNurse:
type: string
description: Whether the medication is administered by a nurse or whether it is self-administered.
enum:
- assisted
- not_assisted
example: assisted
Route:
type: string
description: The route that the medication is administered.
enum:
- po_oral
- im_intramuscular
- sq_subcutaneous
- iv_intraveneous
- bu_buccal
- ep_epidural
- ex_external
- id_intradermal
- in_inhalation
- na_nasal
- op_ophthalmic
- ot_optic
- re_rectal
- sl_sublingual
- transdermal
- ur_urethral
- v_vaginal
- topical
- reg_percutaneous_end_gastro_tube
- it_intrathecal
- au_ear
- ad_right_ear
- as_left_ear
- au_both_ears
- eye_right
- eye_left
- eye_both
- ngt_nasal_gastric
- g_gastronomy_tube
- jejunostomy_tube
- g_j_tube
example: po_oral
PaginatedList:
description: Base model of all paginated lists
type: object
properties:
count:
type: integer
description: Number of items in the response
example: 1
page:
type: integer
description: Current page number
example: 1
total_pages:
type: integer
description: Total number of pages availbale
example: 1
items:
type: array
items:
type: object
required:
- count
- page
- total_pages
- items
Type:
type: string
description: The medication type.
enum:
- prescriptions
- over_the_counter
- supplements
- herbals
- patches
- inhalers
- eye_drops
- ointments
- physician_samples
- chelation
- nutriceuticals
- other
example: prescriptions
CreateSuccess:
type: object
description: Success returned from the API when creating or updating an entity.
properties:
id:
type: string
description: The entity ID.
example: 70ad613a-376c-4389-bb45-78374dddd03e
type:
type: string
description: The clinical document type.
example: medication
uri:
type: string
description: The entity URI.
example: /medication/70ad613a-376c-4389-bb45-78374dddd03e
TimeInstruction:
type: array
description: A list of time instructions for the medication administration.
items:
type: string
enum:
- daily
- qam_once_a_day_am
- qhs_once_a_day_bedtime
- bid_twice_a_day
- tid_three_times_a_day
- qid_four_times_a_day
- ac_before_meals
- pc_after_meals
- prn_as_required
- other_use_note
- q1h
- q2h
- q3h
- q4h
- q6h
- q8h
- q12h
- q24h
- q72h
example: daily
MedicationCreate:
allOf:
- $ref: '#/components/schemas/MedicationUpdate'
type: object
description: Create a Medication
required:
- administered_by_nurse
- client_id
- external_client_id
- dose
- dosage_type
- information_source
- medication
- medication_type
- route
- status
- time_instruction
- created_employee_id
- updated_employee_id
properties:
administration_times:
type: string
description: The times that the medication should be administered.
example: In the mornings or evenings
dosage_type:
$ref: '#/components/schemas/DosageType'
dose:
type: string
description: The dosage of the medication to administer.
example: '2'
end_date:
type: string
description: The end date of the medication using ISO 8601 date formatting.
example: '2018-01-01'
end_date_unknown:
type: boolean
description: Whether the end date is unknown.
example: false
medication:
type: string
description: The medication name.
example: Ibuprofen
medication_type:
$ref: '#/components/schemas/Type'
ordering_physician:
type: string
client_id:
type: integer
description: The ID of the client.
example: 1234
external_client_id:
type: string
description: The external ID of the client.
example: client_1234
pca_special_instructions:
type: string
description: Set only if `delivery_mode` is `ambulatory_pump_pca`.
route:
$ref: '#/components/schemas/Route'
start_date:
type: string
description: The start date of the medication using ISO 8601 date formatting.
example: '2018-01-01'
start_date_unknown:
type: boolean
description: Whether the start date is unknown.
example: false
time_instruction:
$ref: '#/components/schemas/TimeInstruction'
Status:
type: string
description: The medication status.
enum:
- active
- on_hold
- completed
- discontinued
example: active
Discrepancy:
type:
- string
- 'null'
description: The discrepancy code.
enum:
- none
- dose_different
- route_different
- frequency_different
- medication_not_currently_prescribed
- client_no_longer_taking_medication
- otc_not_taken_as_prescribed
- allergy_to_prescribed_medication
- duplicate_of_medication
- drug_interaction
- formulation_incorrect_or_omitted
- expired_medication
- other
example: dose_different
MedicationList_2:
properties:
items:
$ref: '#/components/schemas/Medication_2'
count:
type: integer
items_per_page:
type: integer
page:
type: integer
total_pages:
type: integer
Medication_2:
type: object
allOf:
- type: object
properties:
name:
type: string
brand_name:
type: string
status:
type: string
code:
type: string
ingredient_strength:
type: string
example: '350'
ingredient_strength_unit:
type: string
example: mg
description: Options are the response of GET "/medication_settings/{branch_id}/medication_unit_setting?is_ingredient_strength=true"
dosage:
type: string
example: '350'
dosage_unit:
type: string
example: mg
description: Options are the response of GET "/medication_settings/{branch_id}/medication_unit_setting?is_dosage_quantity=true"
dosage_form:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_unit_setting?is_dosage_form=true"
drug_info_number:
type: string
drug_family:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_drug_family_setting"
route:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_medication_route_setting"
administration_type:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_administration_type_setting
prn_reason:
type: string
description: Its only accepted when prn_as_needed is true
prn_as_needed:
type: boolean
purpose:
type: string
types:
type: array
items:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_medication_type_setting
website:
type: string
high_alert:
type: boolean
narcotic:
type: boolean
ordering_physician:
type: string
status_reason:
type: string
frequency_setting:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_frequency_setting"
start_date:
type: string
description: 'Format: YYYY-MM-DD'
start_time:
type: string
description: 'Format: HH:mm:ss'
end_date:
type: string
description: 'Format: YYYY-MM-DD'
end_time:
type: string
description: 'Format: HH:mm:ss'
start_date_unknown:
type: boolean
default: false
end_date_unknown:
type: boolean
default: false
administration_instructions:
type: string
timing_notes:
type: string
administration_site_details:
type: array
items:
type: string
description: Options are the response of GET "/medication_settings/{branch_id}/medication_administration_site_details_setting"
healthcare_professional_notified:
type: string
needs_education:
type: boolean
frequency:
type: integer
example: 2
frequency_max:
type: integer
period:
type: integer
example: 1
period_max:
type: integer
period_unit:
type: string
duration:
type: integer
duration_unit:
type: string
timings:
type: array
items:
type: string
weekdays:
type: array
items:
type: string
example: MO, TU, WE, TH, FR, SA, SU
count:
type: integer
time_of_day:
type: string
description: 'Options are '
days_of_month:
type: array
items:
type: string
description: Options are from 01 to 31
when:
type: string
strict:
type: boolean
create_user_id:
type: integer
update_user_id:
type: integer
created_at:
type: string
updated_at:
type: string
- type: object
properties:
delivery_mode:
type: string
description: Required for infusion routes.
concentration:
type: number
format: float
concentration_unit:
type: string
infusion_fluid:
type: string
ongoing:
type: boolean
infusion_duration:
type: integer
infusion_duration_unit:
type: string
infusion_volume:
type: number
format: float
infusion_volume_unit:
type: string
infusion_rate:
type: number
format: float
infusion_rate_unit:
type: string
is_simplified_infusion:
type: boolean
description: Required for infusion routes.
pre_infusion_flush_fluid:
type: string
pre_infusion_flush_volume:
type: number
format: float
pre_infusion_flush_volume_max:
type: number
format: float
pre_infusion_flush_volume_unit:
type: string
post_infusion_flush_fluid:
type: string
post_infusion_flush_volume:
type: number
format: float
post_infusion_flush_volume_max:
type: number
format: float
post_infusion_flush_volume_unit:
type: string
basal_rate:
type: number
format: float
basal_rate_max:
type: number
format: float
basal_rate_unit:
type: str
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alayacare/refs/heads/main/openapi/alayacare-medication-api-openapi.yml