The Canvas Medical connector lets your AI agent act in each user's Canvas Medical account. Each user signs in to Canvas Medical once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 74 tools.
- Tools
- 74
- What they doRead · write · destructive
- 58 · 16 · 058 read16 write0 destructive
- Users sign in with
- SMART on FHIR
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Canvas Medical connection
In AgentKit > Connections, create a Canvas Medical connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Console steps with screenshots
Canvas Medical connections use SMART on FHIR and act as the signed-in Canvas staff user. Each Canvas customer runs its own instance: sign-in happens on
<instance>.canvasmedical.comand the FHIR API is onfumage-<instance>.canvasmedical.com. Each connection carries that instance’s endpoints, audience (aud) and FHIR server domain, the client ID and secret of an OAuth app on the instance, and one extra authorization parameter.-
Create the connection and copy the redirect URI
In the Scalekit dashboard, go to AgentKit > Connections > Create Connection, find Canvas Medical and click Create. Copy the Redirect URI.
-
Register an OAuth app on the Canvas instance
Open
https://<instance>.canvasmedical.com/auth/applications/and add an application:- Client type: Confidential
- Authorization grant type: Authorization code
- Redirect URIs: the redirect URI you copied
Note the client ID and client secret.
-
Enter the values on the connection
Back on the Canvas Medical connection, enter these values, replacing
<instance>with your instance name:Field Value Client ID the client ID from step 2 Client Secret the client secret from step 2 Authorization Endpoint https://<instance>.canvasmedical.com/auth/authorize/Token Endpoint https://<instance>.canvasmedical.com/auth/token/Audience (aud) https://fumage-<instance>.canvasmedical.comFHIR Server Domain fumage-<instance>.canvasmedical.comCanvas publishes the same endpoints at
https://fumage-<instance>.canvasmedical.com/.well-known/smart-configuration.Select
openid,fhirUser,offline_accessandlaunch, plususer/*.*or narrower scopes for the resources your agent uses. Click Save. -
Ask Scalekit to add the
launchauthorization parameterEmail support@scalekit.com with the connection’s ID and ask for the extra authorization parameter
launchset toe30K. The dashboard has no field for it. Connect accounts only after support confirms the change.Canvas denies a staff user’s sign-in with
error=access_deniedunless the authorization request carries alaunchparameter.e30Kis an empty launch context; it leaves the patient out, because Canvas refuses staff API calls from a token whose launch context names a patient.
-
Tools
Pass the exact name toexecute_toolcanvasmedical_allergen_searchSearch the Canvas (FDB) allergen catalog by text or code.Read-onlySearch Allergens
Search the Canvas (FDB) allergen catalog by text or code. Returns a FHIR Bundle of Allergen resources with id and FDB, RxNorm and SNOMED codings. Use it to get the FDB allergen code that canvasmedical_allergy_intolerance_create needs. Canvas requires text or code. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
codestring- Allergen code as system|code, with system http://www.nlm.nih.gov/research/umls/rxnorm or http://snomed.info/sct, e.g. http://snomed.info/sct|373270004. Provide this or text.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
textstring- Case-insensitive partial match on the allergen name, e.g. penicillin. Provide this or code.
canvasmedical_allergy_intolerance_readGet one allergy or intolerance record by Canvas ID.Read-onlyGet Allergy or Intolerance
Get one allergy or intolerance record by Canvas ID. Returns the AllergyIntolerance resource with allergen code, type, clinical and verification status, onset, reaction and notes. Use it before canvasmedical_allergy_intolerance_mark_entered_in_error, which needs the current record.
Inputs
allergy_intolerance_idstringrequired- Canvas ID of the AllergyIntolerance to fetch, as returned by canvasmedical_allergy_intolerance_search, e.g. 12345.
canvasmedical_allergy_intolerance_searchSearch a patient's allergies and intolerances.Read-onlySearch Allergies and Intolerances
Search a patient's allergies and intolerances. Returns a FHIR Bundle of AllergyIntolerance resources with id, allergen code, type, clinical and verification status, reaction and severity. Use it to review a patient's allergies or check for a duplicate before canvasmedical_allergy_intolerance_create. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the AllergyIntolerance to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose AllergyIntolerance records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_appointment_readGet one appointment by Canvas ID.Read-onlyGet Appointment
Get one appointment by Canvas ID. Returns the Appointment resource with status, appointment type, reason, start and end times, location, meeting link and participants. Use it before canvasmedical_appointment_update to copy the fields you keep. Use canvasmedical_appointment_search to find the ID.
Inputs
appointment_idstringrequired- Canvas ID of the Appointment to fetch, as returned by canvasmedical_appointment_search, e.g. 12345.
canvasmedical_appointment_searchSearch appointments by patient, practitioner, location, status or start date.Read-onlySearch Appointments
Search appointments by patient, practitioner, location, status or start date. Returns a FHIR Bundle of Appointment resources with id, status, appointment type, reason, start and end times, location and participants. Use it to review a schedule or find an appointment to change. Use canvasmedical_slot_search to find open times instead. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
appointment_typestring- Appointment type code, or system|code, e.g. http://snomed.info/sct|308335008.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
datearray- Filter by the appointment start time. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
idstring- Canvas ID of the Appointment to match. Use it to fetch specific records through search, e.g. 12345.
identifierstring- External identifier stored on the appointment, as value or system|value, e.g. MyScheduler|abc123.
locationstring- Practice location of the appointment as a FHIR reference in the form Location/<id>, e.g. Location/24680.
patientstring- Patient whose Appointment records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
practitionerstring- Practitioner involved in the appointment as a FHIR reference in the form Practitioner/<id>, e.g. Practitioner/67890.
statusstring- Appointment status. Accepts one value per request: proposed, pending, booked, arrived, checked-in, fulfilled, noshow or cancelled.one of
proposedpendingbookedarrivedchecked-infulfillednoshowcancelled
canvasmedical_care_plan_readGet one care plan by Canvas ID.Read-onlyGet Care Plan
Get one care plan by Canvas ID. Returns the CarePlan resource with status, intent, category, subject and narrative text. Use canvasmedical_care_plan_search to list a patient's care plans.
Inputs
care_plan_idstringrequired- Canvas ID of the CarePlan to fetch, as returned by canvasmedical_care_plan_search, e.g. 12345.
canvasmedical_care_plan_searchSearch a patient's care plans.Read-onlySearch Care Plans
Search a patient's care plans. Returns a FHIR Bundle of CarePlan resources with id, status, intent, category and subject. Use it to review a patient's plan of care. Use canvasmedical_goal_search for goals. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
categorystring- Category as system|code, e.g. http://hl7.org/fhir/us/core/CodeSystem/careplan-category|assess-plan.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the CarePlan to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose CarePlan records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_care_team_readGet one care team by Canvas ID.Read-onlyGet Care Team
Get one care team by Canvas ID. Returns the CareTeam resource with status, subject and participants with their roles. Use canvasmedical_care_team_search to find a patient's care team.
Inputs
care_team_idstringrequired- Canvas ID of the CareTeam to fetch, as returned by canvasmedical_care_team_search, e.g. 12345.
canvasmedical_care_team_searchSearch patients' care teams by patient, member or status.Read-onlySearch Care Teams
Search patients' care teams by patient, member or status. Returns a FHIR Bundle of CareTeam resources with id, status, subject and participants with their roles. Use it to see who cares for a patient, or every patient a practitioner is on the care team for. Use canvasmedical_care_team_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
participantstring- Care team member as Practitioner/<id> or Organization/<id>, e.g. Practitioner/67890.
patientstring- Patient whose CareTeam records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
statusstring- Participant status: proposed, active, suspended, inactive or entered-in-error.one of
proposedactivesuspendedinactiveentered-in-error
canvasmedical_communication_readGet one practitioner-patient message by Canvas ID.Read-onlyGet Message
Get one practitioner-patient message by Canvas ID. Returns the Communication resource with status, sender, recipient, sent and received times and the message text. Use canvasmedical_communication_search to list a patient's messages.
Inputs
communication_idstringrequired- Canvas ID of the Communication to fetch, as returned by canvasmedical_communication_search, e.g. 12345.
canvasmedical_communication_searchSearch messages between practitioners and patients.Read-onlySearch Messages
Search messages between practitioners and patients. Returns a FHIR Bundle of Communication resources with id, status, sender, recipient, sent and received times and the message text. Use it to read a patient's message thread. Use canvasmedical_communication_create to send a message. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Communication to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Communication records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
recipientstring- Recipient as Patient/<id> or Practitioner/<id>, e.g. Patient/12345.
senderstring- Sender as Patient/<id> or Practitioner/<id>, e.g. Practitioner/67890.
canvasmedical_condition_readGet one condition, problem or diagnosis by Canvas ID.Read-onlyGet Condition
Get one condition, problem or diagnosis by Canvas ID. Returns the Condition resource with code, clinical and verification status, category, subject, onset, abatement and notes. Use it before canvasmedical_condition_mark_entered_in_error, which needs the current record.
Inputs
condition_idstringrequired- Canvas ID of the Condition to fetch, as returned by canvasmedical_condition_search, e.g. 12345.
canvasmedical_condition_searchSearch a patient's conditions, problems and diagnoses.Read-onlySearch Conditions
Search a patient's conditions, problems and diagnoses. Returns a FHIR Bundle of Condition resources with id, code (usually ICD-10), clinical and verification status, category, onset and notes. Use it to review the problem list or check for a duplicate before canvasmedical_condition_create. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
categorystring- Category code, or system|code, e.g. problem-list-item or encounter-diagnosis.
clinical_statusstring- Clinical status: active or resolved.one of
activeresolved countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Condition to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Condition records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
verification_statusstring- Verification status: confirmed, provisional or entered-in-error.one of
confirmedprovisionalentered-in-error
canvasmedical_coverage_readGet one insurance coverage by Canvas ID.Read-onlyGet Coverage
Get one insurance coverage by Canvas ID. Returns the Coverage resource with status, payor, subscriber, member ID, relationship, plan class, order and period. Use canvasmedical_coverage_search to list a patient's coverages.
Inputs
coverage_idstringrequired- Canvas ID of the Coverage to fetch, as returned by canvasmedical_coverage_search, e.g. 12345.
canvasmedical_coverage_searchSearch insurance coverages by patient, member ID, subscriber ID or status.Read-onlySearch Coverages
Search insurance coverages by patient, member ID, subscriber ID or status. Returns a FHIR Bundle of Coverage resources with id, status, payor, subscriber, member ID, relationship, plan class and period. Use it to check a patient's insurance. Use canvasmedical_coverage_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Coverage to match. Use it to fetch specific records through search, e.g. 12345.
identifierstring- Insurance member ID on the coverage, e.g. MBR12345.
patientstring- Patient whose Coverage records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
statusstring- Coverage status: active or cancelled.one of
activecancelled subscriberidstring- Subscriber ID on the coverage, e.g. SUB12345.
canvasmedical_device_readGet one implantable device record by Canvas ID.Read-onlyGet Device
Get one implantable device record by Canvas ID. Returns the Device resource with status, UDI, device type, dates and patient. Use canvasmedical_device_search to list a patient's devices.
Inputs
device_idstringrequired- Canvas ID of the Device to fetch, as returned by canvasmedical_device_search, e.g. 12345.
canvasmedical_device_searchSearch a patient's implantable devices.Read-onlySearch Devices
Search a patient's implantable devices. Returns a FHIR Bundle of Device resources with id, status, UDI, device type and patient. Use it to review a patient's implants. Use canvasmedical_device_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Device to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Device records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_diagnostic_report_readGet one diagnostic report (lab or imaging report) by Canvas ID.Read-onlyGet Diagnostic Report
Get one diagnostic report (lab or imaging report) by Canvas ID. Returns the DiagnosticReport resource with status, category, code, effective date, result references and presented forms. Use canvasmedical_diagnostic_report_search to list a patient's reports.
Inputs
diagnostic_report_idstringrequired- Canvas ID of the DiagnosticReport to fetch, as returned by canvasmedical_diagnostic_report_search, e.g. 12345.
canvasmedical_diagnostic_report_searchSearch a patient's diagnostic reports, such as lab and imaging reports.Read-onlySearch Diagnostic Reports
Search a patient's diagnostic reports, such as lab and imaging reports. Returns a FHIR Bundle of DiagnosticReport resources with id, status, category, code, effective date, result references and attached documents. Use it to find lab or imaging reports. Use canvasmedical_observation_search for individual result values. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
categorystring- Report category code, or system|code, e.g. http://terminology.hl7.org/CodeSystem/v2-0074|LAB.
codestring- Report code, or system|code, e.g. http://loinc.org|24323-8.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
datearray- Filter by the report effective date. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
idstring- Canvas ID of the DiagnosticReport to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose DiagnosticReport records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_document_reference_readGet one document reference by Canvas ID.Read-onlyGet Document Reference
Get one document reference by Canvas ID. Returns the DocumentReference resource with status, type, category, subject, date, author and attachment URLs. Use canvasmedical_document_reference_search to list a patient's documents.
Inputs
document_reference_idstringrequired- Canvas ID of the DocumentReference to fetch, as returned by canvasmedical_document_reference_search, e.g. 12345.
canvasmedical_document_reference_searchSearch a patient's documents, such as clinical notes, lab reports and uploaded files.Read-onlySearch Document References
Search a patient's documents, such as clinical notes, lab reports and uploaded files. Returns a FHIR Bundle of DocumentReference resources with id, status, type, category, date and attachment links. Use it to find documents in a patient's chart. Use canvasmedical_document_reference_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
categorystring- Document category code, or system|code, e.g. http://schemas.canvasmedical.com/fhir/document-reference-category|labreport.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
datearray- Filter by the document creation date. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
idstring- Canvas ID of the DocumentReference to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose DocumentReference records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
statusstring- Document status: current, superseded or entered-in-error.one of
currentsupersededentered-in-error subjectstring- Patient the document is about (same as patient) as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
typestring- Document type (usually LOINC), as code or system|code, e.g. http://loinc.org|11502-2.
canvasmedical_encounter_readGet one encounter (visit) by Canvas ID.Read-onlyGet Encounter
Get one encounter (visit) by Canvas ID. Returns the Encounter resource with status, class, type, period, participants, reason and location. Use canvasmedical_encounter_search to list a patient's encounters.
Inputs
encounter_idstringrequired- Canvas ID of the Encounter to fetch, as returned by canvasmedical_encounter_search, e.g. 12345.
canvasmedical_encounter_searchSearch a patient's encounters (visits), optionally by date or the appointment that scheduled them.Read-onlySearch Encounters
Search a patient's encounters (visits), optionally by date or the appointment that scheduled them. Returns a FHIR Bundle of Encounter resources with id, status, class, type, period, participants and location. Use it to find the encounter to attach a new condition, allergy, medication or immunization to. Use canvasmedical_encounter_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
appointmentstring- Appointment that scheduled the encounter as a FHIR reference in the form Appointment/<id>, e.g. Appointment/13579.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
datearray- Filter by the encounter start time (period.start). A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
idstring- Canvas ID of the Encounter to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Encounter records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
subjectstring- Patient who is the subject of the encounter as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_goal_readGet one goal by Canvas ID.Read-onlyGet Goal
Get one goal by Canvas ID. Returns the Goal resource with lifecycle and achievement status, description, priority, start date, targets and notes. Use canvasmedical_goal_search to list a patient's goals.
Inputs
goal_idstringrequired- Canvas ID of the Goal to fetch, as returned by canvasmedical_goal_search, e.g. 12345.
canvasmedical_goal_searchSearch a patient's goals.Read-onlySearch Goals
Search a patient's goals. Returns a FHIR Bundle of Goal resources with id, lifecycle and achievement status, description, priority, start date and targets. Use it to review a patient's goals. Use canvasmedical_care_plan_search for care plans. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Goal to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Goal records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_immunization_readGet one immunization record by Canvas ID.Read-onlyGet Immunization
Get one immunization record by Canvas ID. Returns the Immunization resource with status, vaccine code, patient, occurrence date, primary source flag and notes. Use it before canvasmedical_immunization_mark_entered_in_error, which needs the current record.
Inputs
immunization_idstringrequired- Canvas ID of the Immunization to fetch, as returned by canvasmedical_immunization_search, e.g. 12345.
canvasmedical_immunization_searchSearch a patient's immunization records.Read-onlySearch Immunizations
Search a patient's immunization records. Returns a FHIR Bundle of Immunization resources with id, status, vaccine code (CVX or CPT), occurrence date and notes. Use it to review vaccination history or check before canvasmedical_immunization_create. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Immunization to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Immunization records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_location_readGet one practice location by Canvas ID.Read-onlyGet Location
Get one practice location by Canvas ID. Returns the Location resource with name, status, address, contact details and managing organization. Use canvasmedical_location_search to list locations.
Inputs
location_idstringrequired- Canvas ID of the Location to fetch, as returned by canvasmedical_location_search, e.g. 12345.
canvasmedical_location_searchList the practice locations in the Canvas instance.Read-onlySearch Locations
List the practice locations in the Canvas instance. Returns a FHIR Bundle of Location resources with id, name, status, address and contact details. Use it to get the location ID that canvasmedical_appointment_create needs. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Location to match. Use it to fetch specific records through search, e.g. 12345.
canvasmedical_medication_readGet one medication from the Canvas (FDB) catalog by ID.Read-onlyGet Medication
Get one medication from the Canvas (FDB) catalog by ID. Returns the Medication resource with its RxNorm and FDB codings. Use canvasmedical_medication_search to find the ID by name.
Inputs
medication_idstringrequired- Canvas ID of the Medication to fetch, as returned by canvasmedical_medication_search, e.g. 12345.
canvasmedical_medication_request_readGet one prescription (medication request) by Canvas ID.Read-onlyGet Medication Request
Get one prescription (medication request) by Canvas ID. Returns the MedicationRequest resource with status, intent, medication, dosage instructions, dispense request and requester. Use canvasmedical_medication_request_search to list a patient's prescriptions.
Inputs
medication_request_idstringrequired- Canvas ID of the MedicationRequest to fetch, as returned by canvasmedical_medication_request_search, e.g. 12345.
canvasmedical_medication_request_searchSearch prescriptions (medication requests) by patient, prescriber, status or intent.Read-onlySearch Medication Requests
Search prescriptions (medication requests) by patient, prescriber, status or intent. Returns a FHIR Bundle of MedicationRequest resources with id, status, intent, medication, dosage instructions, dispense request and requester. Use it to review prescriptions. Use canvasmedical_medication_statement_search for the patient's medication list. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the MedicationRequest to match. Use it to fetch specific records through search, e.g. 12345.
intentstring- Request intent: order or filler-order.one of
orderfiller-order patientstring- Patient whose MedicationRequest records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
requesterstring- Prescriber who wrote the request as a FHIR reference in the form Practitioner/<id>, e.g. Practitioner/67890.
statusstring- Prescription status: active, cancelled, stopped or entered-in-error.one of
activecancelledstoppedentered-in-error
canvasmedical_medication_searchSearch the Canvas (FDB) medication catalog by text or RxNorm code.Read-onlySearch Medications
Search the Canvas (FDB) medication catalog by text or RxNorm code. Returns a FHIR Bundle of Medication resources with id (e.g. fdb-449732) and RxNorm and FDB codings. Use it to get the medication ID that canvasmedical_medication_statement_create needs. Canvas requires text or code. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
codestring- RxNorm code as http://www.nlm.nih.gov/research/umls/rxnorm|<code>, e.g. http://www.nlm.nih.gov/research/umls/rxnorm|860975. Provide this or text.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
textstring- Case-insensitive partial match on the medication name, e.g. metformin. Provide this or code.
canvasmedical_medication_statement_readGet one medication statement (medication list entry) by Canvas ID.Read-onlyGet Medication Statement
Get one medication statement (medication list entry) by Canvas ID. Returns the MedicationStatement resource with status, medication coding, subject, effective period and dosage text. Use it before canvasmedical_medication_statement_mark_entered_in_error, which needs the current record.
Inputs
medication_statement_idstringrequired- Canvas ID of the MedicationStatement to fetch, as returned by canvasmedical_medication_statement_search, e.g. 12345.
canvasmedical_medication_statement_searchSearch a patient's medication list (medication statements).Read-onlySearch Medication Statements
Search a patient's medication list (medication statements). Returns a FHIR Bundle of MedicationStatement resources with id, status, medication coding (RxNorm and FDB), effective period and dosage text. Use it to review what a patient takes. Use canvasmedical_medication_request_search for prescriptions. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the MedicationStatement to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose MedicationStatement records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_next_pageFetch the next page of results from an earlier Canvas Medical search tool by following its `next` link.Read-onlyGet Next Page of Search Results
Fetch the next page of results from an earlier Canvas Medical search tool by following its `next` link. Returns a FHIR Bundle in the same shape as the original search. Use it after any canvasmedical_*_search result that has a link with relation `next`; no `next` link means you already have the last page.
Inputs
next_page_pathstringrequired- The `url` of the search Bundle's `link` entry whose `relation` is `next`, without the leading slash. Canvas returns a relative link such as `/Observation?_count=10&_offset=10`; pass `Observation?_count=10&_offset=10`. If the link is absolute (https://fumage-<instance>.canvasmedical.com/Observation?...), drop everything up to and including the host and the slash after it. Pass the rest unchanged, starting with the resource type.
canvasmedical_observation_readGet one observation (vital sign, lab result or score) by Canvas ID.Read-onlyGet Observation
Get one observation (vital sign, lab result or score) by Canvas ID. Returns the Observation resource with status, category, code, value, effective time, members and derived-from links. Use canvasmedical_observation_search to list a patient's observations.
Inputs
observation_idstringrequired- Canvas ID of the Observation to fetch, as returned by canvasmedical_observation_search, e.g. 12345.
canvasmedical_observation_searchSearch a patient's observations: vital signs, lab results and questionnaire scores.Read-onlySearch Observations
Search a patient's observations: vital signs, lab results and questionnaire scores. Returns a FHIR Bundle of Observation resources with id, status, category, LOINC code, value, effective time and panel links. Use it to review vitals or lab values. Use canvasmedical_diagnostic_report_search for whole lab reports. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
categorystring- Category code, or system|code, e.g. vital-signs or laboratory.
codestring- Observation code, or system|code, e.g. http://loinc.org|85353-1 for a vital signs panel.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
datearray- Filter by the observation effective time. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
derived_fromstring- Return observations that belong to this vital signs panel or questionnaire response, e.g. Observation/12345 or QuestionnaireResponse/12345.
idstring- Canvas ID of the Observation to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Observation records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_organization_readGet one organization by Canvas ID.Read-onlyGet Organization
Get one organization by Canvas ID. Returns the Organization resource with name, type, identifiers, address and contact details. Use canvasmedical_organization_search to find the ID.
Inputs
organization_idstringrequired- Canvas ID of the Organization to fetch, as returned by canvasmedical_organization_search, e.g. 12345.
canvasmedical_organization_searchSearch organizations such as the practice, payers and other providers by name, address or type.Read-onlySearch Organizations
Search organizations such as the practice, payers and other providers by name, address or type. Returns a FHIR Bundle of Organization resources with id, name, type, address and contact details. Use it to look up a payer or practice organization. Use canvasmedical_organization_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
addressstring- Text matched against any address field (line, city, state or postal code), e.g. Boston.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Organization to match. Use it to fetch specific records through search, e.g. 12345.
namestring- Part of the organization name, e.g. Health.
typestring- Organization type: prov (provider), pay (payer) or other.one of
provpayother
canvasmedical_patient_readGet one patient's demographics by Canvas ID.Read-onlyGet Patient
Get one patient's demographics by Canvas ID. Returns the Patient resource with name, birth date, gender, telecom, address, identifiers, contacts and Canvas extensions. Use it before canvasmedical_patient_update, which needs the full current record. Use canvasmedical_patient_search to find the ID.
Inputs
patient_idstringrequired- Canvas ID of the Patient to fetch, as returned by canvasmedical_patient_search, e.g. 12345.
canvasmedical_patient_searchSearch patients in the Canvas instance by name, birth date, contact details or identifier.Read-onlySearch Patients
Search patients in the Canvas instance by name, birth date, contact details or identifier. Returns a FHIR Bundle of Patient resources with id, name, birth date, gender, contact points and identifiers. Use it to find a patient's Canvas ID. Use canvasmedical_patient_read when you already have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
activeboolean- true returns only active patients and false only inactive ones. Leave empty for both.
birthdatestring- Patient's date of birth as YYYY-MM-DD, e.g. 1980-01-01.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
emailstring- Patient email address, e.g. patient@example.com.
familystring- Patient's last (family) name, e.g. Smith.
genderstring- Administrative gender: male, female, other or unknown.one of
malefemaleotherunknown givenstring- Patient's first (given) name, e.g. Alex.
idstring- Canvas ID of the Patient to match. Use it to fetch specific records through search, e.g. 12345.
identifierstring- Canvas MRN or an external identifier. Use value alone, or system|value, e.g. http://canvasmedical.com|012345 for a Canvas MRN.
namestring- Part of the patient's first or last name, e.g. Smith.
nicknamestring- Patient's preferred or alternate name, e.g. Lex.
phonestring- Patient phone number as 10 digits, e.g. 5550100123.
canvasmedical_practitioner_readGet one Canvas staff member (practitioner) by Canvas ID.Read-onlyGet Practitioner
Get one Canvas staff member (practitioner) by Canvas ID. Returns the Practitioner resource with name, NPI and other identifiers, contact details and qualifications. Use canvasmedical_practitioner_search to find the ID by name, email or NPI.
Inputs
practitioner_idstringrequired- Canvas ID of the Practitioner to fetch, as returned by canvasmedical_practitioner_search, e.g. 12345.
canvasmedical_practitioner_searchSearch staff members (practitioners) in the Canvas instance by name, email or NPI.Read-onlySearch Practitioners
Search staff members (practitioners) in the Canvas instance by name, email or NPI. Returns a FHIR Bundle of Practitioner resources with id, name, NPI, contact details and qualifications. Use it to find practitioner IDs for appointments, tasks and messages. By default Canvas returns only active, schedulable practitioners. Use canvasmedical_practitioner_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
activeboolean- true (the default) returns active practitioners and false returns inactive ones.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
emailstring- Practitioner's user email, e.g. clinician@example.com.
idstring- Canvas ID of the Practitioner to match. Use it to fetch specific records through search, e.g. 12345.
include_non_schedulable_practitionersboolean- Set true to also return practitioners who cannot be scheduled. By default only schedulable practitioners are returned.
namestring- Any part of the practitioner's name, e.g. Lee. Partial matches work.
npi_numberstring- Practitioner's 10-digit National Provider Identifier, e.g. 1234567890.
canvasmedical_procedure_readGet one procedure by Canvas ID.Read-onlyGet Procedure
Get one procedure by Canvas ID. Returns the Procedure resource with status, code, subject, performed date and performer. Use canvasmedical_procedure_search to list a patient's procedures.
Inputs
procedure_idstringrequired- Canvas ID of the Procedure to fetch, as returned by canvasmedical_procedure_search, e.g. 12345.
canvasmedical_procedure_searchSearch a patient's procedures.Read-onlySearch Procedures
Search a patient's procedures. Returns a FHIR Bundle of Procedure resources with id, status, code, performed date and performer. Use it to review procedure history. Use canvasmedical_procedure_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Procedure to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose Procedure records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_questionnaire_readGet one questionnaire (form or screener) by Canvas ID.Read-onlyGet Questionnaire
Get one questionnaire (form or screener) by Canvas ID. Returns the Questionnaire resource with name, status, code and question items with answer options. Use canvasmedical_questionnaire_search to find the ID.
Inputs
questionnaire_idstringrequired- Canvas ID of the Questionnaire to fetch, as returned by canvasmedical_questionnaire_search, e.g. 12345.
canvasmedical_questionnaire_response_readGet one completed questionnaire (questionnaire response) by Canvas ID.Read-onlyGet Questionnaire Response
Get one completed questionnaire (questionnaire response) by Canvas ID. Returns the QuestionnaireResponse resource with questionnaire, status, subject, authored date, author and answers. Use canvasmedical_questionnaire_response_search to list a patient's responses.
Inputs
questionnaire_response_idstringrequired- Canvas ID of the QuestionnaireResponse to fetch, as returned by canvasmedical_questionnaire_response_search, e.g. 12345.
canvasmedical_questionnaire_response_searchSearch a patient's completed questionnaires (questionnaire responses).Read-onlySearch Questionnaire Responses
Search a patient's completed questionnaires (questionnaire responses). Returns a FHIR Bundle of QuestionnaireResponse resources with id, questionnaire, status, authored date, author and answers. Use it to review screener answers. Use canvasmedical_questionnaire_search for the form definitions. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
authoredarray- Filter by the date the answers were recorded. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the QuestionnaireResponse to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose QuestionnaireResponse records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
questionnairestring- Questionnaire the answers belong to, as its full URL, e.g. https://fumage-example.canvasmedical.com/Questionnaire/12345.
canvasmedical_questionnaire_searchSearch the questionnaires (forms and screeners) configured in the Canvas instance.Read-onlySearch Questionnaires
Search the questionnaires (forms and screeners) configured in the Canvas instance. Returns a FHIR Bundle of Questionnaire resources with id, name, status, code and question items with their answer options. Use it to find a form and its questions. Use canvasmedical_questionnaire_response_search for a patient's answers. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
codestring- Return questionnaires that contain a question with this code, e.g. 44250-9.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the Questionnaire to match. Use it to fetch specific records through search, e.g. 12345.
namestring- Questionnaire name, e.g. PHQ-9.
questionnaire_codestring- The questionnaire's own code, e.g. 44249-1.
statusstring- Questionnaire status, e.g. active.
canvasmedical_schedule_searchList the bookable schedules in the Canvas instance; each is a practitioner and location combination.Read-onlySearch Schedules
List the bookable schedules in the Canvas instance; each is a practitioner and location combination. Returns a FHIR Bundle of Schedule resources with the schedule id and the practitioner and location it covers. Use it to get the schedule ID that canvasmedical_slot_search needs. This search takes no filters. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
This tool takes no inputs.
canvasmedical_service_request_readGet one order (service request) by Canvas ID.Read-onlyGet Service Request
Get one order (service request) by Canvas ID. Returns the ServiceRequest resource with status, intent, category, code, subject, authored date, requester and performer. Use canvasmedical_service_request_search to list a patient's orders.
Inputs
service_request_idstringrequired- Canvas ID of the ServiceRequest to fetch, as returned by canvasmedical_service_request_search, e.g. 12345.
canvasmedical_service_request_searchSearch a patient's orders (service requests) such as lab, imaging and referral orders.Read-onlySearch Service Requests
Search a patient's orders (service requests) such as lab, imaging and referral orders. Returns a FHIR Bundle of ServiceRequest resources with id, status, intent, category, code, authored date, requester and performer. Use it to review a patient's orders and referrals. Use canvasmedical_service_request_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
authoredarray- Filter by the order date (authoredOn). A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
categorystring- Order category as SNOMED code or system|code, e.g. http://snomed.info/sct|108252007 (laboratory procedure).
codestring- Requested service code (usually LOINC), as code or system|code, e.g. http://loinc.org|24323-8.
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
idstring- Canvas ID of the ServiceRequest to match. Use it to fetch specific records through search, e.g. 12345.
patientstring- Patient whose ServiceRequest records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
canvasmedical_slot_searchFind open appointment slots on one schedule between two dates.Read-onlySearch Open Slots
Find open appointment slots on one schedule between two dates. Returns a FHIR Bundle of free Slot resources with start and end times. Use it before canvasmedical_appointment_create to pick a free time. Use canvasmedical_appointment_search for existing bookings. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
schedulestringrequired- Schedule to search, from canvasmedical_schedule_search. Required by Canvas, e.g. Location.1-Staff.67890.
appointment_typestring- Only slots allowed for this appointment type, as system|code, e.g. http://snomed.info/sct|185418009.
durationinteger- Slot length in minutes. Defaults to 20, e.g. 30.
endstring- Last date to look for slots, YYYY-MM-DD. Defaults to 7 days after the start, e.g. 2024-06-10.
startstring- First date to look for slots, YYYY-MM-DD. Defaults to today (UTC), e.g. 2024-06-03.
canvasmedical_task_readGet one task by Canvas ID.Read-onlyGet Task
Get one task by Canvas ID. Returns the Task resource with status, priority, description, patient, requester, owner, due date, labels and comments. Use it before canvasmedical_task_update, which clears any description, owner, due date or labels you leave out.
Inputs
task_idstringrequired- Canvas ID of the Task to fetch, as returned by canvasmedical_task_search, e.g. 12345.
canvasmedical_task_searchSearch tasks by patient, assignee, requester, status, priority, label or due date.Read-onlySearch Tasks
Search tasks by patient, assignee, requester, status, priority, label or due date. Returns a FHIR Bundle of Task resources with id, status, priority, description, patient, requester, owner, due date, labels and comments. Use it to review a work queue or find a task to change. Use canvasmedical_task_read when you have the ID. If the result has a `next` link, use `canvasmedical_next_page` to get more.
Inputs
countinteger- Maximum number of results per page. Canvas defaults to 10 and caps it at 100, e.g. 50.
descriptionstring- Match on the task description text, e.g. Call patient.
duearray- Filter by the task due date. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
idstring- Canvas ID of the Task to match. Use it to fetch specific records through search, e.g. 12345.
labelstring- Return tasks with this label, e.g. Billing.
modifiedarray- Filter by when the task was last modified. A list of one or two values, each a date with an optional FHIR prefix (ge, gt, le, lt, eq). Two values make a range, e.g. ["ge2024-04-11", "le2024-04-20"].
ownerstring- Staff member the task is assigned to as a FHIR reference in the form Practitioner/<id>, e.g. Practitioner/67890.
patientstring- Patient whose Task records to return as a FHIR reference in the form Patient/<id>, e.g. Patient/12345.
prioritystring- Task priority: stat, urgent or routine.one of
staturgentroutine requesterstring- Staff member who requested the task as a FHIR reference in the form Practitioner/<id>, e.g. Practitioner/67890.
statusstring- Task status: requested (open), completed or cancelled (closed).one of
requestedcompletedcancelled
canvasmedical_allergy_intolerance_createAdd an allergy or intolerance to a patient's chart as an Allergy command.WriteCreate Allergy or Intolerance
Add an allergy or intolerance to a patient's chart as an Allergy command. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to record a new allergy. Get the FDB allergen code from canvasmedical_allergen_search first, and check canvasmedical_allergy_intolerance_search for duplicates.
Inputs
allergen_codestringrequired- FDB allergen code from canvasmedical_allergen_search (the coding with system http://www.fdbhealth.com/), e.g. 1-12345. Canvas requires an FDB coding.
clinical_statusstringrequired- Clinical status: active or inactive.one of
activeinactive patient_idstringrequired- Canvas ID of the patient who has the allergy, e.g. 12345.
typestringrequired- allergy or intolerance.one of
allergyintolerance allergen_displaystring- Allergen name for the FDB coding, e.g. penicillin.
encounter_idstring- Canvas ID of an existing encounter (note) to add this to, e.g. 12345. If omitted, Canvas creates a new Data Import note. Avoid concurrent writes that reference the same encounter.
last_occurrencestring- Date of the last known reaction, YYYY-MM-DD, e.g. 2023-09-10. Stored but not shown in the Canvas UI.
onset_datestring- When the allergy was identified, YYYY-MM-DD, e.g. 2020-03-01.
reaction_notestring- Free-text reaction description. Canvas shows it in the command's reaction field, e.g. Hives.
recorder_idstring- Canvas ID of the practitioner recording the allergy, e.g. 67890. They become the command's originator and committer.
severitystring- Reaction severity: mild, moderate or severe.one of
mildmoderatesevere
canvasmedical_allergy_intolerance_mark_entered_in_errorMark an existing allergy or intolerance as entered in error, flagging it as recorded by mistake.WriteMark Allergy or Intolerance Entered in Error
Mark an existing allergy or intolerance as entered in error, flagging it as recorded by mistake. Returns an empty body on success. Use it to retract an allergy or intolerance recorded in error; Canvas ignores every other change on update. Run canvasmedical_allergy_intolerance_read first and pass the result unchanged.
- Idempotent
Inputs
allergy_intolerance_idstringrequired- Canvas ID of the AllergyIntolerance to mark as entered in error, e.g. 12345.
resourceobjectrequired- The current AllergyIntolerance exactly as canvasmedical_allergy_intolerance_read returned it. Canvas requires every required field on an update, so pass the whole record unchanged; the tool sets the id and verificationStatus to entered-in-error for you.
canvasmedical_appointment_createBook an appointment for a practitioner at a practice location, usually with a patient.WriteCreate Appointment
Book an appointment for a practitioner at a practice location, usually with a patient. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it after canvasmedical_slot_search to book a free time. Use canvasmedical_appointment_update to reschedule or cancel. Canvas returns 422 if the instance blocks double booking and the time is taken.
Inputs
endstringrequired- End time in FHIR instant format, after start, e.g. 2024-06-03T14:00:00Z.
location_idstringrequired- Canvas ID of the practice location, from canvasmedical_location_search, e.g. 24680.
practitioner_idstringrequired- Canvas ID of the practitioner for the appointment, e.g. 67890. Every appointment needs one.
startstringrequired- Start time in FHIR instant format, e.g. 2024-06-03T13:30:00Z (YYYY-MM-DDTHH:MM is required).
statusstringrequired- Appointment status: proposed (unconfirmed), pending (attempted), booked (confirmed), arrived, checked-in (roomed), fulfilled (exited), noshow or cancelled.one of
proposedpendingbookedarrivedchecked-infulfillednoshowcancelled appointment_type_codestring- Code of a schedulable appointment (note) type configured in Canvas, e.g. 448337001 (telemedicine). Omit to use the instance's default type.
appointment_type_systemstring- Code system of appointment_type_code: http://snomed.info/sct (default) or INTERNAL.one of
http://snomed.info/sctINTERNAL meeting_linkstring- Video meeting URL for a telehealth appointment, e.g. https://video.example.com/room/123. Defaults to the practitioner's meeting room.
patient_idstring- Canvas ID of the patient, e.g. 12345. Leave empty only for appointment types without a patient.
reason_codestring- Code of a structured reason for visit configured in Canvas, e.g. INIV. Leave empty unless the instance uses structured reasons.
reason_textstring- Reason for visit text, e.g. Follow-up on blood pressure. With a structured reason code this becomes its comment.
canvasmedical_appointment_updateUpdate an appointment in place: reschedule it, change its status (for example cancel or check in), or change its type, reason or location.WriteUpdate Appointment
Update an appointment in place: reschedule it, change its status (for example cancel or check in), or change its type, reason or location. Returns an empty body on success. Use it to change an existing appointment; use canvasmedical_appointment_create for a new one. Send every required field, even unchanged ones; omitted optional fields keep their values. Run canvasmedical_appointment_read first to copy the current values.
- Idempotent
Inputs
appointment_idstringrequired- Canvas ID of the appointment to update, e.g. 12345.
endstringrequired- End time in FHIR instant format, after start, e.g. 2024-06-03T14:00:00Z.
location_idstringrequired- Canvas ID of the practice location, from canvasmedical_location_search, e.g. 24680.
practitioner_idstringrequired- Canvas ID of the practitioner for the appointment, e.g. 67890. Every appointment needs one.
startstringrequired- Start time in FHIR instant format, e.g. 2024-06-03T13:30:00Z (YYYY-MM-DDTHH:MM is required).
statusstringrequired- Appointment status: proposed (unconfirmed), pending (attempted), booked (confirmed), arrived, checked-in (roomed), fulfilled (exited), noshow or cancelled.one of
proposedpendingbookedarrivedchecked-infulfillednoshowcancelled appointment_type_codestring- Code of a schedulable appointment (note) type configured in Canvas, e.g. 448337001 (telemedicine). Omit to use the instance's default type.
appointment_type_systemstring- Code system of appointment_type_code: http://snomed.info/sct (default) or INTERNAL.one of
http://snomed.info/sctINTERNAL meeting_linkstring- Video meeting URL for a telehealth appointment, e.g. https://video.example.com/room/123. Defaults to the practitioner's meeting room.
patient_idstring- Canvas ID of the patient, e.g. 12345. Leave empty only for appointment types without a patient. Canvas does not let an update change the patient; cancel and rebook instead.
reason_codestring- Code of a structured reason for visit configured in Canvas, e.g. INIV. Leave empty unless the instance uses structured reasons.
reason_textstring- Reason for visit text, e.g. Follow-up on blood pressure. With a structured reason code this becomes its comment.
canvasmedical_communication_createSend a message between a practitioner and a patient; it appears on the patient's timeline and in the patient app.WriteSend Message
Send a message between a practitioner and a patient; it appears on the patient's timeline and in the patient app. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to message a patient as a practitioner, or to log a patient's message to a practitioner. One side must be a Patient and the other a Practitioner. Use canvasmedical_communication_search to read the thread.
Inputs
messagestringrequired- Message text, e.g. Your lab results are ready to review.
recipientstringrequired- Who receives the message, as Patient/<id> or Practitioner/<id>, e.g. Patient/12345. Must be the other type from the sender.
senderstringrequired- Who sends the message, as Practitioner/<id> or Patient/<id>, e.g. Practitioner/67890.
receivedstring- When the message was received, ISO 8601. If the recipient is a practitioner and this is empty, the message shows as unread, e.g. 2024-06-01T10:31:00Z.
sentstring- When the message was sent, ISO 8601, e.g. 2024-06-01T10:30:00Z. Defaults to now.
canvasmedical_condition_createAdd a condition to a patient's chart: an active diagnosis or a resolved past medical history item.WriteCreate Condition
Add a condition to a patient's chart: an active diagnosis or a resolved past medical history item. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to record a new problem or diagnosis. Canvas does not block duplicates, so run canvasmedical_condition_search first.
Inputs
categorystringrequired- Condition category: problem-list-item, encounter-diagnosis or health-concern.one of
problem-list-itemencounter-diagnosishealth-concern clinical_statusstringrequired- active adds the condition as a Diagnose command; resolved adds it as Past Medical History.one of
activeresolved codestringrequired- Diagnosis code, usually ICD-10-CM, e.g. E11.9. Canvas saves the code as given without validating it.
patient_idstringrequired- Canvas ID of the patient who has the condition, e.g. 12345.
abatement_datestring- Date the condition resolved, YYYY-MM-DD, e.g. 2023-06-17. Use with a resolved status.
code_displaystring- Human-readable name of the diagnosis, e.g. Type 2 diabetes mellitus without complications.
code_systemstring- Code system of the diagnosis code. Canvas recommends ICD-10-CM: http://hl7.org/fhir/sid/icd-10-cm. Defaults to that system.
encounter_idstring- Canvas ID of an existing encounter (note) to add this to, e.g. 12345. If omitted, Canvas creates a new Data Import note. Avoid concurrent writes that reference the same encounter.
notestring- Free-text note about the condition. Canvas shows it only for resolved conditions, e.g. Resolved after treatment.
onset_datestring- Estimated or actual onset date, YYYY-MM-DD, e.g. 2023-06-15.
recorded_datestring- When the condition was first recorded, ISO 8601, e.g. 2023-06-18T15:00:00-04:00. Defaults to now.
recorder_idstring- Canvas ID of the practitioner recording the condition, e.g. 67890. Defaults to Canvas Bot.
canvasmedical_condition_mark_entered_in_errorMark an existing condition as entered in error, flagging it as recorded by mistake.WriteMark Condition Entered in Error
Mark an existing condition as entered in error, flagging it as recorded by mistake. Returns an empty body on success. Use it to retract a condition recorded in error; Canvas ignores every other change on update. Run canvasmedical_condition_read first and pass the result unchanged.
- Idempotent
Inputs
condition_idstringrequired- Canvas ID of the Condition to mark as entered in error, e.g. 12345.
resourceobjectrequired- The current Condition exactly as canvasmedical_condition_read returned it. Canvas requires every required field on an update, so pass the whole record unchanged; the tool sets the id and nothing else (Canvas treats any Condition update as entered-in-error) for you.
recorder_idstring- Canvas ID of the practitioner marking the condition as entered in error, e.g. 67890. Defaults to Canvas Bot.
canvasmedical_immunization_createRecord a past immunization on a patient's chart as an Immunization Statement command.WriteCreate Immunization
Record a past immunization on a patient's chart as an Immunization Statement command. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to document a vaccine given elsewhere or reported by the patient. Check canvasmedical_immunization_search for duplicates first.
Inputs
occurrence_datestringrequired- Date or datetime the vaccine was given, e.g. 2023-10-01.
patient_idstringrequired- Canvas ID of the patient who received the vaccine, e.g. 12345.
vaccine_codestringrequired- Vaccine code, CVX by default, e.g. 140 (influenza, seasonal, injectable).
encounter_idstring- Canvas ID of an existing encounter (note) to add this to, e.g. 12345. If omitted, Canvas creates a new Data Import note. Avoid concurrent writes that reference the same encounter.
notestring- Comment shown on the immunization statement, e.g. Given at local pharmacy.
vaccine_displaystring- Vaccine name, e.g. Influenza, seasonal, injectable, preservative free.
vaccine_systemstring- Code system of the vaccine code: http://hl7.org/fhir/sid/cvx (default) or http://www.ama-assn.org/go/cpt.one of
http://hl7.org/fhir/sid/cvxhttp://www.ama-assn.org/go/cpt
canvasmedical_immunization_mark_entered_in_errorMark an existing immunization as entered in error, flagging it as recorded by mistake.WriteMark Immunization Entered in Error
Mark an existing immunization as entered in error, flagging it as recorded by mistake. Returns an empty body on success. Use it to retract an immunization recorded in error; Canvas ignores every other change on update. Run canvasmedical_immunization_read first and pass the result unchanged.
- Idempotent
Inputs
immunization_idstringrequired- Canvas ID of the Immunization to mark as entered in error, e.g. 12345.
resourceobjectrequired- The current Immunization exactly as canvasmedical_immunization_read returned it. Canvas requires every required field on an update, so pass the whole record unchanged; the tool sets the id and status to entered-in-error for you.
canvasmedical_medication_statement_createAdd a medication to a patient's medication list.WriteCreate Medication Statement
Add a medication to a patient's medication list. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to record a medication the patient takes. Find the medication ID with canvasmedical_medication_search first. It does not prescribe.
Inputs
medication_displaystringrequired- Display name of the medication, as returned by the medication search, e.g. metformin 500 mg tablet.
medication_idstringrequired- Medication ID from canvasmedical_medication_search, without the Medication/ prefix, e.g. fdb-449732.
patient_idstringrequired- Canvas ID of the patient who takes the medication, e.g. 12345.
statusstringrequired- Medication status: active or stopped.one of
activestopped encounter_idstring- Canvas ID of an existing encounter (note) to add this to, e.g. 12345. If omitted, Canvas creates a new Data Import note. Avoid concurrent writes that reference the same encounter.
endstring- When the patient stopped or will stop the medication, ISO 8601, e.g. 2024-09-19T00:00:00+00:00.
sigstring- Dosage instructions (SIG), e.g. Take 1 tablet by mouth twice daily.
startstring- When the patient started the medication, ISO 8601, e.g. 2024-03-19T14:54:12+00:00. Defaults to now.
canvasmedical_medication_statement_mark_entered_in_errorMark an existing medication statement as entered in error, flagging it as recorded by mistake.WriteMark Medication Statement Entered in Error
Mark an existing medication statement as entered in error, flagging it as recorded by mistake. Returns an empty body on success. Use it to retract a medication statement recorded in error; Canvas ignores every other change on update. Run canvasmedical_medication_statement_read first and pass the result unchanged.
- Idempotent
Inputs
medication_statement_idstringrequired- Canvas ID of the MedicationStatement to mark as entered in error, e.g. 12345.
resourceobjectrequired- The current MedicationStatement exactly as canvasmedical_medication_statement_read returned it. Canvas requires every required field on an update, so pass the whole record unchanged; the tool sets the id and status to entered-in-error for you.
canvasmedical_observation_createRecord one vital sign for a patient; Canvas files it in a Vitals command.WriteRecord Vital Sign
Record one vital sign for a patient; Canvas files it in a Vitals command. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it for blood pressure, weight, height, pulse, temperature, oxygen saturation, respiration rate, waist circumference, pulse rhythm or a vitals note. Canvas accepts only vital signs here, not lab results. Without panel_id Canvas creates a new vitals panel; find an existing panel with canvasmedical_observation_search (code 85353-1).
Inputs
patient_idstringrequired- Canvas ID of the patient the vital sign is for, e.g. 12345.
vital_codestringrequired- LOINC code of the vital sign: 85354-9 blood pressure, 29463-7 weight, 8302-2 height, 8867-4 pulse rate, 8310-5 body temperature, 59408-5 oxygen saturation, 2708-6 arterial oxygen saturation, 9279-1 respiration rate, 56086-2 waist circumference, 8884-9 pulse rhythm, 80339-5 vitals note.one of
85354-929463-78302-28867-48310-52708-659408-59279-156086-280339-58884-9 diastolicnumber- Diastolic blood pressure in mmHg, for blood pressure (85354-9) only, e.g. 80.
effective_date_timestring- When the vital sign was taken, ISO 8601, e.g. 2024-06-01T10:30:00Z. Defaults to now.
panel_idstring- Canvas ID of an existing vital signs panel observation to add this reading to, e.g. 12345. Each panel holds one reading per vital type.
performer_idstring- Canvas ID of the practitioner who took the measurement, e.g. 67890.
systolicnumber- Systolic blood pressure in mmHg, for blood pressure (85354-9) only, e.g. 120.
unitstring- Unit for value. Defaults: weight oz (also lb, kg), height in (also cm), pulse and respiration bpm, temperature °F, oxygen %, waist cm (also in). Other units return 422, e.g. lb.
valuenumber- Numeric value for weight, height, pulse rate, temperature, oxygen saturation, respiration rate or waist circumference, e.g. 160.
value_stringstring- Text value for pulse rhythm (Regular, Irregularly Irregular, Regulary Irregular) or a vitals note. For blood pressure use systolic and diastolic instead.
canvasmedical_patient_createRegister a new patient in the Canvas instance with name, birth date, sex at birth, gender and optional contact details.WriteCreate Patient
Register a new patient in the Canvas instance with name, birth date, sex at birth, gender and optional contact details. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to add a patient who isn't in Canvas yet. Run canvasmedical_patient_search first to avoid duplicates. Canvas issues the MRN.
Inputs
birth_datestringrequired- Date of birth, YYYY-MM-DD, e.g. 1980-01-01.
birth_sexstringrequired- Sex assigned at birth, required by Canvas: M, F, OTH or UNK.one of
MFOTHUNK family_namestringrequired- Patient's last name, e.g. Sample.
genderstringrequired- Administrative gender: male, female, other or unknown (shown as choose not to disclose).one of
malefemaleotherunknown given_namestringrequired- Patient's first name, e.g. Alex.
address_line1string- Street address line 1, e.g. 100 Example St.
address_line2string- Street address line 2, e.g. Apt 4.
citystring- City, e.g. Springfield.
emailstring- Email address, e.g. patient@example.com.
external_id_systemstring- Namespace of an external identifier to store, e.g. MyApp. Use with external_id_value.
external_id_valuestring- External identifier value to store on the patient, e.g. abc123. Use with external_id_system.
middle_namestring- Patient's middle name, e.g. Jordan.
phonestring- Phone number, e.g. 5550100123.
phone_usestring- Phone type: home, work, mobile, temp or old. Defaults to home.one of
homeworkmobiletempold postal_codestring- Five-digit postal code, e.g. 01234.
preferred_namestring- Preferred name (nickname) shown in Canvas, e.g. Lex.
statestring- Two-letter state code, e.g. MA.
canvasmedical_patient_updateReplace a patient's demographic record with an edited copy of it.WriteUpdate Patient
Replace a patient's demographic record with an edited copy of it. Returns an empty body on success. Use it to change a patient's name, contact details, address or other demographics. Run canvasmedical_patient_read first, edit that record, and send all of it back: Canvas deletes any telecom, address, contact, preferred pharmacy, default provider or default location entry you leave out.
- Idempotent
Inputs
patientobjectrequired- The full Patient resource from canvasmedical_patient_read with your changes applied. Keep each existing telecom, address and contact entry's id to update it in place; an entry without an id is added, and an existing entry you leave out is deleted. The us-core-birthsex extension, official name, gender and birthDate are required. The tool sets resourceType and id for you.
patient_idstringrequired- Canvas ID of the patient to update, e.g. 12345.
canvasmedical_task_createCreate a staff task, optionally about a patient and assigned to a practitioner or team.WriteCreate Task
Create a staff task, optionally about a patient and assigned to a practitioner or team. Returns an empty body on success; Canvas puts the new resource's ID only in the Location response header. Use it to add work to the task panel. Use canvasmedical_task_update to close or reassign an existing task.
Inputs
descriptionstringrequired- What needs to be done, e.g. Call patient about lab results.
requester_idstringrequired- Canvas ID of the practitioner asking for the task, e.g. 67890.
statusstringrequired- Task status: requested (open), completed, or cancelled (closed).one of
requestedcompletedcancelled authored_onstring- When the task was created, ISO 8601, e.g. 2024-06-01T09:00:00Z. Defaults to now.
commentstring- A comment to add to the task, authored by the requester, e.g. Patient prefers morning calls.
due_datestring- Due date and time, ISO 8601, e.g. 2024-06-10T17:00:00Z.
labelsarray- Label names to put on the task, e.g. ["Billing", "Follow-up"]. Canvas creates labels that don't exist yet.
owner_idstring- Canvas ID of the practitioner assigned to the task, e.g. 67890.
patient_idstring- Canvas ID of the patient the task is about, e.g. 12345. The task then shows on the patient's chart.
prioritystring- Task priority: stat, urgent or routine.one of
staturgentroutine team_idstring- Canvas ID of the team (FHIR Group) to assign the task to, e.g. 13579.
canvasmedical_task_updateUpdate a task: change its status (complete or cancel), assignee, priority, due date, labels or description.WriteUpdate Task
Update a task: change its status (complete or cancel), assignee, priority, due date, labels or description. Returns an empty body on success. Use it to change an existing task; use canvasmedical_task_create for a new one. Canvas clears any description, assignee, due date or labels you leave out, so run canvasmedical_task_read first and resend the values you keep. A comment you pass is added to the task.
- Idempotent
Inputs
descriptionstringrequired- What needs to be done, e.g. Call patient about lab results.
requester_idstringrequired- Canvas ID of the practitioner asking for the task, e.g. 67890.
statusstringrequired- Task status: requested (open), completed, or cancelled (closed).one of
requestedcompletedcancelled task_idstringrequired- Canvas ID of the task to update, e.g. 12345.
authored_onstring- When the task was created, ISO 8601, e.g. 2024-06-01T09:00:00Z. Defaults to now.
commentstring- A comment to add to the task, authored by the requester, e.g. Patient prefers morning calls.
due_datestring- Due date and time, ISO 8601, e.g. 2024-06-10T17:00:00Z. Omitting it on update clears it.
labelsarray- Label names to put on the task, e.g. ["Billing", "Follow-up"]. Canvas creates labels that don't exist yet. Omitting it on update clears it.
owner_idstring- Canvas ID of the practitioner assigned to the task, e.g. 67890. Omitting it on update clears it.
patient_idstring- Canvas ID of the patient the task is about, e.g. 12345. The task then shows on the patient's chart.
prioritystring- Task priority: stat, urgent or routine.one of
staturgentroutine team_idstring- Canvas ID of the team (FHIR Group) to assign the task to, e.g. 13579.
No tools match.