Medications
Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.
MedicationmedicationHealth, off until allowed
A medication, supplement, or vitamin with dose and schedule.
medications_queryMedicationDashboardFindthrough vritto_findList all non-archived medications plus recent dose logs. Use for schedule/refill questions and to resolve a medication ID before any write. Defaults to a compact summary: counts plus capped lean rows (name, strength, schedule, refills, runs-out, status; recent dose logs).
| Field | Type | Description |
|---|---|---|
| detail | one of summary, full | Response shape: "summary" (default, counts + capped lean medication/dose-log rows) or "full" (every record incl. dosage instructions, prescriber/pharmacy, and notes). |
| subjectPersonId | string | Filter to one person's medications: a People person id, or 'me' for the account owner's own. ALWAYS pass this when the question names a family member. Omit for everyone's. |
medications_upsertMedicationCreate or Updatethrough vritto_create or vritto_updateCreate or update one medication. Omit record.id to create (name required); include a real record.id from medications_queryMedicationDashboard to update, sent fields merge over the existing record. Pass record.rxcui from medications_searchDrugs to link reference data.
| Field | Type | Description |
|---|---|---|
| record* | object | Medication fields; name is required when creating. |
| record.id | string | Existing medication ID to update, from medications_queryMedicationDashboard. Omit to create a new medication. |
| record.rxcui | string | RxNorm concept id from medications_searchDrugs. Pass it to link the medication to reference/label data. |
| record.name | string | Medication name as the user refers to it. Required when creating. |
| record.genericName | string | Generic/active-ingredient name. |
| record.brandName | string | Brand name, if any. |
| record.kind | one of prescription, otc, supplement | Defaults to 'prescription'. |
| record.status | one of active, as_needed, paused, discontinued | Defaults to 'active'. |
| record.form | one of tablet, capsule, liquid, injection, topical, drops, inhaler, patch, spray, suppository, other | Dose form. |
| record.route | one of oral, topical, injection, inhalation, nasal, ophthalmic, otic, rectal, sublingual, other | Route of administration. |
| record.strength | string | Strength, e.g. '500 mg'. |
| record.dosageAmount | string | Amount taken each time, e.g. '1 tablet', '2 puffs'. |
| record.dosageInstructions | string | Extra directions, e.g. 'Take with food'. |
| record.reason | string | Condition or purpose, e.g. 'Blood pressure'. |
| record.prescriber | string | Prescribing clinician (free-text name). |
| record.prescriberProviderId | string | ID of a saved Appointments provider to link as the prescriber, from appointments_queryAppointmentDashboard, never invented. |
| record.pharmacy | string | Dispensing pharmacy (free-text name). |
| record.pharmacyPlaceKey | string | Place key ('google:<id>' or 'manual:<uuid>') of the pharmacy, from a Places tool result, never invented. |
| record.frequency | one of once_daily, twice_daily, three_times_daily, four_times_daily, every_morning, every_night, weekly, monthly, as_needed, custom | Defaults to 'once_daily'. |
| record.times | list of string | Clock times for daily doses. |
| record.daysOfWeek | list of integer | 0=Sunday … 6=Saturday; omit or empty means every day. REQUIRED when frequency is 'weekly', a weekly drug with no day is rejected, never defaulted to daily. |
| record.dayOfMonth | integer | Day of the month a monthly medication is taken, clamped into short months. REQUIRED when frequency is 'monthly', a monthly drug with no day is rejected, never defaulted to daily. |
| record.withFood | boolean | Whether to take with food. |
| record.startedOn | string | Date started. |
| record.endsOn | string | Planned end date, if any. |
| record.quantityPerFill | integer | Units per fill. |
| record.refillsRemaining | integer | Refills left. |
| record.daysSupply | integer | Days a fill lasts, drives the runs-out estimate. |
| record.lastFilledOn | string | Date of the most recent fill. |
| record.refillReminderDays | integer | Days before running out to remind (default 7). |
| record.notes | string | |
| record.tags | list of string | |
| record.favorite | boolean | |
| record.subjectPersonId | string | Whose medication: a People person id (resolve with people_resolvePerson). Omit for the account owner's own. |
| record.providerRef | object | Optional reference-link details supplementing rxcui. |
Example input
{
"record": {
"name": "Vitamin D3",
"kind": "supplement",
"strength": "2000 IU",
"frequency": "every_morning",
"times": [
"08:00"
],
"withFood": true
}
}medications_deleteMedicationDeletethrough vritto_deleteDelete (archive) one medication. Only for explicit removal requests, to stop a medication while keeping the record, use medications_upsertMedication with status 'discontinued'. Resolve the ID with medications_queryMedicationDashboard first.
| Field | Type | Description |
|---|---|---|
| medicationId* | string | Medication ID from a prior medications_queryMedicationDashboard result, never invented. |
Dose Logdose_logHealth, off until allowed
A dose taken, skipped, or missed.
medications_logDoseCreate or Updatethrough vritto_create or vritto_updateRecord that a dose was taken, skipped, or missed for one medication, building the adherence history. Resolve the medicationId with medications_queryMedicationDashboard first. Include id to correct an existing dose log instead of creating a new one.
| Field | Type | Description |
|---|---|---|
| medicationId* | string | Medication ID from a prior medications_queryMedicationDashboard result, never invented. |
| id | string | Existing dose-log ID to update (from the dashboard's recent dose logs). Omit to create a new log entry. |
| status | one of taken, skipped, missed | Defaults to 'taken'. |
| takenAt | string | ISO timestamp of the dose; defaults to now. |
| scheduledFor | string | ISO timestamp of the schedule slot this dose belongs to (e.g. the 08:00 dose), so adherence attributes it correctly. Omit for unscheduled/as-needed doses. |
| notes | string |
Example input
{
"medicationId": "med_vitd",
"status": "taken",
"takenAt": "2026-09-26T13:05:00Z"
}medications_deleteDoseLogDeletethrough vritto_deleteDelete one adherence-log entry. Only for explicit removals or corrections.
| Field | Type | Description |
|---|---|---|
| doseLogId* | string | Dose log id to delete. |
Drug Referencedrug_catalogHealth, off until allowed
RxNorm and FDA drug reference data.
medications_getDrugInfoLook Upthrough vritto_lookupFetch reference/label information for a drug by rxcui: FDA label uses, dosage, warnings, and side effects, plus a MedlinePlus patient summary. Reference content only, not medical advice.
| Field | Type | Description |
|---|---|---|
| rxcui* | string | RxNorm concept id from medications_searchDrugs. |
medications_searchDrugsLook Upthrough vritto_lookupSearch the U.S. RxNorm drug vocabulary by name (typeahead). Returns candidate drugs with an rxcui to link a medication or fetch reference data. This is the catalog, not the user's saved medications: use medications_queryMedicationDashboard for those.
| Field | Type | Description |
|---|---|---|
| query* | string | Drug name or partial name. |
| limit | integer | Max results (default 12). |