Skip To Main Content
All modules

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. The same operations reach its adherence log: each dose taken, skipped, or missed (type 'dose').

medications_findFindthrough vritto_find

Read Medications: with no filter the dashboard (counts, lean medication rows with schedule, refills and runs-out, the newest dose logs); one medication by id, or medications by text or status; type 'dose' reads the dose log by dates and medication. Compact rows unless detail is 'full'.

Note: type 'dose' with from/to (and medicationId) reads the dose log.

FieldTypeDescription
typeone of medication, dose'medication' (default) or 'dose', one entry of the adherence log (taken, skipped or missed).
idstringReturn just this medication (or dose log).
subjectPersonIdstringOne 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.
querystringText to match: a medication's name, generic or brand name, or reason.
statusone of active, as_needed, paused, discontinued, taken, skipped, missedA medication's status, or with type 'dose' a dose's (taken, skipped, missed).
medicationIdstringDoses of this medication (type 'dose').
fromstringDoses on or after this day (type 'dose').
tostringDoses on or before this day. ALWAYS pass from/to when the question concerns a period.
limitintegerRows to return, default 20 (doses 50).
detailone of summary, fullResponse shape: "summary" (default, counts + capped lean rows) or "full" (every record incl. dosage instructions, prescriber/pharmacy, and notes).
Example input
{}
medications_addCreate or Updatethrough vritto_create or vritto_update

Add one medication (record.name, plus strength, dosageAmount and schedule as the person said them; record.rxcui from medications_searchDrugs links reference data), or with type 'dose' record a dose taken, skipped or missed for medicationId.

Note: type 'dose' with medicationId logs a dose taken, skipped, or missed.

FieldTypeDescription
typeone of medication, dose'medication' (default) or 'dose', one entry of the adherence log (taken, skipped or missed).
recordobjectThe medication's fields; name is required.
record.idstringLeave out when adding; to change a medication use medications_change.
record.rxcuistringRxNorm concept id from medications_searchDrugs. Pass it to link the medication to reference/label data.
record.namestringMedication name as the user refers to it. Required when creating.
record.genericNamestringGeneric/active-ingredient name.
record.brandNamestringBrand name, if any.
record.kindone of prescription, otc, supplementDefaults to 'prescription'.
record.statusone of active, as_needed, paused, discontinuedDefaults to 'active'.
record.formone of tablet, capsule, liquid, injection, topical, drops, inhaler, patch, spray, suppository, otherDose form.
record.routeone of oral, topical, injection, inhalation, nasal, ophthalmic, otic, rectal, sublingual, otherRoute of administration.
record.strengthstringStrength, e.g. '500 mg'.
record.dosageAmountstringAmount taken each time, e.g. '1 tablet', '2 puffs'.
record.dosageInstructionsstringExtra directions, e.g. 'Take with food'.
record.reasonstringCondition or purpose, e.g. 'Blood pressure'.
record.prescriberstringPrescribing clinician (free-text name).
record.prescriberProviderIdstringID of a saved Appointments provider to link as the prescriber, from appointments_find type 'provider', never invented.
record.pharmacystringDispensing pharmacy (free-text name).
record.pharmacyPlaceKeystringPlace key ('google:<id>' or 'manual:<uuid>') of the pharmacy, from a Places tool result, never invented.
record.frequencyone of once_daily, twice_daily, three_times_daily, four_times_daily, every_morning, every_night, weekly, monthly, as_needed, customDefaults to 'once_daily'.
record.timeslist of stringClock times for daily doses.
record.daysOfWeeklist of integer0=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.dayOfMonthintegerDay 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.withFoodbooleanWhether to take with food.
record.startedOnstringDate started.
record.endsOnstringPlanned end date, if any.
record.quantityPerFillintegerUnits per fill.
record.refillsRemainingintegerRefills left.
record.daysSupplyintegerDays a fill lasts, drives the runs-out estimate.
record.lastFilledOnstringDate of the most recent fill.
record.refillReminderDaysintegerDays before running out to remind (default 7).
record.notesstring
record.tagslist of string
record.favoriteboolean
record.subjectPersonIdstringWhose medication: a People person id (find with people_find). Omit for the account owner's own.
record.providerRefobjectOptional reference-link details supplementing rxcui.
medicationIdstringThe medication a dose belongs to (type 'dose').
statusone of taken, skipped, missedA dose's status (type 'dose'); defaults to 'taken'.
takenAtstringISO timestamp of the dose; defaults to now.
scheduledForstringISO timestamp of the schedule slot a dose belongs to (e.g. the 08:00 dose), so adherence attributes it correctly. Omit for unscheduled/as-needed doses.
notesstringA dose's note.
idstringOlder form: an existing dose log to correct (use medications_change).
Example input
{
  "record": {
    "name": "Vitamin D3",
    "kind": "supplement",
    "strength": "2000 IU",
    "frequency": "every_morning",
    "times": [
      "08:00"
    ],
    "withFood": true
  }
}
medications_changeUpdatethrough vritto_update

Change one medication by record.id; sent fields merge (stopped taking it is status 'discontinued', never a removal). With type 'dose', correct one dose log by id: status, takenAt or notes. Resolve the id with medications_find first.

Note: A medication the user stopped is status 'discontinued', never a removal. type 'dose' with id corrects a dose log.

FieldTypeDescription
typeone of medication, dose'medication' (default) or 'dose', one entry of the adherence log (taken, skipped or missed).
recordobjectThe medication's id plus the fields to change.
record.id*stringMedication ID from a prior medications_find result, never invented.
record.rxcuistringRxNorm concept id from medications_searchDrugs. Pass it to link the medication to reference/label data.
record.namestringMedication name as the user refers to it. Required when creating.
record.genericNamestringGeneric/active-ingredient name.
record.brandNamestringBrand name, if any.
record.kindone of prescription, otc, supplementDefaults to 'prescription'.
record.statusone of active, as_needed, paused, discontinued'discontinued' when the user stopped taking it (the record is kept); 'paused', or back to 'active'.
record.formone of tablet, capsule, liquid, injection, topical, drops, inhaler, patch, spray, suppository, otherDose form.
record.routeone of oral, topical, injection, inhalation, nasal, ophthalmic, otic, rectal, sublingual, otherRoute of administration.
record.strengthstringStrength, e.g. '500 mg'.
record.dosageAmountstringAmount taken each time, e.g. '1 tablet', '2 puffs'.
record.dosageInstructionsstringExtra directions, e.g. 'Take with food'.
record.reasonstringCondition or purpose, e.g. 'Blood pressure'.
record.prescriberstringPrescribing clinician (free-text name).
record.prescriberProviderIdstringID of a saved Appointments provider to link as the prescriber, from appointments_find type 'provider', never invented.
record.pharmacystringDispensing pharmacy (free-text name).
record.pharmacyPlaceKeystringPlace key ('google:<id>' or 'manual:<uuid>') of the pharmacy, from a Places tool result, never invented.
record.frequencyone of once_daily, twice_daily, three_times_daily, four_times_daily, every_morning, every_night, weekly, monthly, as_needed, customDefaults to 'once_daily'.
record.timeslist of stringClock times for daily doses.
record.daysOfWeeklist of integer0=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.dayOfMonthintegerDay 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.withFoodbooleanWhether to take with food.
record.startedOnstringDate started.
record.endsOnstringPlanned end date, if any.
record.quantityPerFillintegerUnits per fill.
record.refillsRemainingintegerRefills left.
record.daysSupplyintegerDays a fill lasts, drives the runs-out estimate.
record.lastFilledOnstringDate of the most recent fill.
record.refillReminderDaysintegerDays before running out to remind (default 7).
record.notesstring
record.tagslist of string
record.favoriteboolean
record.subjectPersonIdstringWhose medication: a People person id (find with people_find). Omit for the account owner's own.
record.providerRefobjectOptional reference-link details supplementing rxcui.
idstringThe dose log to correct (type 'dose').
medicationIdstringThe medication a dose belongs to (type 'dose').
statusone of taken, skipped, missedA dose's status (type 'dose'); defaults to 'taken'.
takenAtstringISO timestamp of the dose; defaults to now.
scheduledForstringISO timestamp of the schedule slot a dose belongs to (e.g. the 08:00 dose), so adherence attributes it correctly. Omit for unscheduled/as-needed doses.
notesstringA dose's note.
Example input
{
  "record": {
    "id": "med_vitd",
    "status": "discontinued"
  }
}
medications_removeDeletethrough vritto_delete

Remove (archive) one medication, or with type 'dose' delete one dose log entry. Only for explicit removals; to stop a medication while keeping it, use medications_change with status 'discontinued'.

Note: type 'dose' deletes one dose log entry.

FieldTypeDescription
typeone of medication, dose'medication' (default) or 'dose', one entry of the adherence log (taken, skipped or missed).
idstringThe medication (or dose log) to remove.
medicationIdstringOlder name for a medication's id.
doseLogIdstringOlder name for a dose log's id.

Drug Referencedrug_catalogHealth, off until allowed

RxNorm and FDA drug reference data.

medications_getDrugInfoLook Upthrough vritto_lookup

Fetch 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.

FieldTypeDescription
rxcui*stringRxNorm concept id from medications_searchDrugs.
medications_searchDrugsLook Upthrough vritto_lookup

Search 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_find for those.

FieldTypeDescription
query*stringDrug name or partial name.
limitintegerMax results (default 12).