POST /v1/logs/batch or the Python SDK; see How logs work for submission fields and the difference between lifecycle-tracked and point-in-time log types.
Medication adherence
Type:medication_adherence · Source: Python SDK / REST · Extensible
Reserved for recording dose outcomes (taken or skipped): medication_adherence[] with status (taken/skipped) per medication; rxnorm_cui or medication_name; scheduled_time optional.
Payload
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Related types: Use
medication_list_update for adding, changing, or removing a medication from the list, medication_adverse_event for adverse reaction to a medication.Medication list update
Type:medication_list_update · Source: Python SDK / REST, Integration · Extensible
Reserved for adding, updating, or removing medications from the patient’s list: medications[] with action (add/update/delete) per item; add/update carry dose, frequency, route, etc.; delete needs identifier only.
Payload
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Related types: Use
medication_adherence for dose taken or skipped, medication_adverse_event for adverse event. Not intended for standing medication instructions in plan (clinical_plan_item is also wrong — use medication_list_update for regimen).Medication adverse event
Type:medication_adverse_event · Source: Python SDK / REST, Integration · Extensible
Reserved for medication-related adverse events (side effects, reactions): events[] with medication_identifier and description (severity, onset_date optional).
Payload
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Related types: Use
medication_adherence for dose taken/skipped, medication_list_update for add/change/stop medication.
