Patient Medication Adherence Logs

This dataset provides detailed, timestamped logs of patient adherence to prescribed medication regimens, capturing scheduled and actual intake times, adherence status, and reasons for nonadherence. It enables healthcare providers to monitor compliance, identify patterns of missed doses, and design targeted interventions to improve patient outcomes and reduce hospital readmissions.

  • opened 16 times
  • last updated 22 Jul 2025
  • by GoMask
The brief that made it

Monitoring and analyzing patient medication adherence for chronic disease management

Sample rows

preview · 8 of 200 rows · all 21 columns
adherence_log_idstringadherence_statusstringtakenbooleanfrequencystringpatient_idstringpatient_first_namestringpatient_last_namestringdate_of_birthdategenderstringmedication_idstringmedication_namestringdosagestringroutestringprescription_start_datedateprescription_end_datedateadherence_datedateadherence_timestringtaken_datetimedatetimereason_for_nonadherencestringreported_bystringnotesstring
ALOG0001on_timetrueonce dailyPAT001MariaLopez1996-07-22femaleMED101Lisinopril20mgoral2023-04-012024-04-012024-05-1708:002024-05-17T08:02:00blankpatientNo issues reported.
ALOG0002missedfalseonce dailyPAT002JohnSmith1952-10-11maleMED102Amlodipine5mgoral2022-12-152024-12-152024-05-1707:30blankForgot to take dose in the morning.caregiverCaregiver reminded patient.
ALOG0003on_timetrueonce nightlyPAT003blankblank2012-03-03unknownMED103Insulin Glargine30 unitssubcutaneous2023-01-10blank2024-05-1720:302024-05-17T20:31:00blankcaregiverAdministered by mother.
ALOG0004latetruetwice dailyPAT004DavidNguyen1988-04-15maleMED104Metformin500mgoral2024-02-10blank2024-05-1619:002024-05-16T19:23:00Stuck in traffic, took dose late.patientSet new reminder.
ALOG0005missedfalseonce dailyPAT005AliceO'Connell1941-02-18femaleMED105Furosemide40mgoral2021-09-282024-09-282024-05-1608:30blankOverslept, missed morning dose.caregiverTravel disrupted routine.
ALOG0006on_timetrueonce dailyPAT006EmilyChen2000-01-30femaleMED106Sertraline100mgoral2022-05-01blank2024-05-1807:452024-05-18T07:47:00blankpatientblank
ALOG0007on_timetrueonce dailyPAT007blankblank2015-09-13maleMED107Methylphenidate10mgoral2023-03-12blank2024-05-1807:102024-05-18T07:12:00blankcaregiverCaregiver assisted.
ALOG0008on_timetrueonce dailyPAT008SørenNielsen1973-03-22otherMED108Hydrochlorothiazide25mgoral2024-01-01blank2024-05-1708:202024-05-17T08:22:00blankpatientblank

What the 200 rows show

from the 200-row sample

On_time (adherence status) stands out: 109 of its 109 rows have taken = true, against 34 of 91 for the rest.

  • 72%taken = true
  • 4genders
  • 4reported_by values
  • 5routes
  • 43dosages
  • 52adherence times
Taken rate by adherence_statustaken = true
0%50%100%100%on_time109 of 109100%late34 of 340%missed0 of 550%unknown0 of 2
frequency200 rows · 6 values
  1. once daily120
  2. twice daily34
  3. as needed29
  4. once nightly11
  5. once weekly5
  6. every other day1
21 columns by typefrom the column list below
  • string 15
  • date 4
  • datetime 1
  • boolean 1

Columns

21 columns in three groups
blueprint · 21 columns
columntypedescriptionexample
Text 15 columns
adherence_log_idstringUnique identifier for each medication adherence log entryuniqueALOG0001
patient_idstringUnique identifier for the patientPAT001
patient_first_namestringPatient's first nameoptionalMaria
patient_last_namestringPatient's last nameoptionalLopez
genderstringPatient's gendermale · female · other · unknown · optionalfemale
medication_idstringUnique identifier for the prescribed medicationMED101
medication_namestringName of the prescribed medicationLisinopril
dosagestringDosage of the medication as prescribed (e.g., '500mg')20mg
routestringRoute of administration (e.g., oral, intravenous, topical)6 values · optionaloral
frequencystringFrequency of medication intake as prescribed (e.g., 'twice daily')6 frequencies · optionalonce daily
adherence_timestringTime when the medication dose was scheduled (24-hour format, e.g., '08:00')optional08:00
adherence_statusstringStatus of adherence for this dose (e.g., on_time, late, missed)on_time · late · missed · unknownon_time
reason_for_nonadherencestringReason provided by the patient for missing or delaying the doseoptionalPatient unconscious.
reported_bystringWho reported the adherence (e.g., patient, caregiver, provider, device)patient · caregiver · provider · device · other · optionalpatient
notesstringAdditional notes or comments related to the adherence logoptionalNo issues reported.
Dates and times 5 columns
date_of_birthdatePatient's date of birthoptional1996-07-22
prescription_start_datedateDate when the medication regimen startedoptional2023-04-01
prescription_end_datedateDate when the medication regimen ended or is scheduled to endoptional2024-04-01
adherence_datedateDate when the medication dose was scheduled2024-05-17
taken_datetimedatetimeActual date and time when the medication was taken (if applicable)optional2024-05-17T08:02:00
True or false 1 column
takenbooleanIndicates whether the patient took the medication as scheduledtrue

15 SQL practice questions for the Patient Medication Adherence Logs

Written for this data and checked against it: 12 SQL and 3 Power BI exercises from beginner to advanced. Try the first three free; the practice kit has all 15, a starter .sql file and an answer key with every expected result.

  1. 01BeginnerFreeSELECT · WHERE · ORDER BY

    Missed doses list

    Return adherence_log_id, patient_id, medication_name and adherence_date for every log whose adherence_status is 'missed'. Order the results by adherence_date ascending, then by adherence_log_id ascending.

    Tables: patient_medication_adherence_logs · your result: 4 columns, 55 rows
  2. 02BeginnerFreeDISTINCT · ORDER BY

    Distinct routes of administration

    Return each distinct value of route once, in a single column named route, ordered alphabetically.

    Tables: patient_medication_adherence_logs · your result: 1 columns, 5 rows
  3. 03BeginnerFreeGROUP BY · COUNT

    Logs per adherence status

    For each adherence_status, return adherence_status and the number of logs as log_count. Order by log_count descending, then by adherence_status ascending.

    Tables: patient_medication_adherence_logs · your result: 2 columns, 4 rows
  1. 04Taken rate by frequencyBeginner
  2. 05Doses taken by reporterPower BI
  3. 06Medications with many missed dosesIntermediate
  4. 07Age group adherenceIntermediate
  5. 08Routes below overall taken rateIntermediate
  6. 09Monthly late dose countsIntermediate
  7. 10Missed rate by genderPower BI
  8. 11Rank medications by missed dosesAdvanced
  9. 12Days between logs per patientAdvanced
  10. 13Running total of missed doses by dateAdvanced
  11. 14Share of nonadherence reasonsAdvanced
  12. 15Top 5 medications by late dosesPower BI

Get the practice kit: the full dataset, all 15 exercises, a starter .sql and the answer key. One-time $3.99.

Get the practice kit · $3.99

Use it for

  • taken72%143 of 200 rowstaken by adherence st…100%on_t…100%late0%miss…0%unkn…

    A healthcare dashboard

    The taken rate, taken by adherence_status and a breakdown of frequency. Excel, Power BI or Tableau.

  • Why do 143 of 200 rows have taken = true?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable adherence logs with patient_id, patient_first_name and patient_last_name to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 21 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset200 rows21 columns
Yours1,000 rows21 columns

blueprint · patient-medication-adherence-logs

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 21 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Each patient record includes medication, dosage, and scheduled time.
  • Adherence events marked as 'taken,' 'missed,' or 'delayed.'
  • Patients assigned unique IDs; demographics included.
  • Includes physician, pharmacy, and medication refill details.
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
patient-medication-adherence-logs

What should your data show?

Preview 20 rows free
No signup. No card.