Medications - JSON Export Format
Documentation for medications structure in JSON exports
Last updated: February 6, 2026
On this page
Medications
Medication data includes all medications you've added to Apple Health, including scheduled medications, dosages, adherence information, and medication details. In JSON exports, medications are stored in the medications array.
Availability
Medication export is available on iOS 26.0 and later. If you're using an older iOS version, this data type will not be available in your exports.
Structure
Each medication entry includes comprehensive information about the medication, its schedule, and adherence:
{
"displayText": "Aspirin",
"nickname": "Daily Aspirin",
"start": "2024-01-01 08:00:00 -0800",
"end": null,
"scheduledDate": "2024-02-06 08:00:00 -0800",
"form": "Tablet",
"status": "Taken",
"isArchived": false,
"dosage": 81,
"codings": [
{
"code": "1191",
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"version": null
}
]
}
Fields
Basic Information
displayText(String): The display name of the medication (e.g., "Aspirin", "Lisinopril")nickname(String | undefined): Optional nickname you've assigned to the medicationform(String): Physical form of the medication. Possible values:"Capsule""Cream""Device""Drops""Foam""Gel""Inhaler""Injection""Liquid""Lotion""Ointment""Patch""Powder""Spray""Suppository""Tablet""Topical""Unknown"
Dates
start(Date): Date and time when you started taking this medication in formatyyyy-MM-dd HH:mm:ss Zend(Date | undefined): Date and time when you stopped taking this medication (null if still active)scheduledDate(Date | undefined): Date and time when the medication is scheduled to be taken
Status and Adherence
status(String): Current status of the medication entry. Possible values:"Not Interacted"- No interaction recorded"Notification Not Sent"- Notification was not sent"Snoozed"- Medication reminder was snoozed"Taken"- Medication was taken"Skipped"- Medication was skipped"Not Logged"- No logging action taken"Unspecified"- Status is unspecified
Additional Information
isArchived(Boolean): Whether the medication has been archived (no longer actively tracked)dosage(Number | undefined): Dosage amount (units depend on the medication)codings(Array): Array of medication coding information for standardized identification
Medication Codings
The codings array contains standardized medication identifiers:
{
"codings": [
{
"code": "1191",
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"version": null
}
]
}
Coding Fields:
code(String): The medication code identifiersystem(String): The coding system used (e.g., RxNorm, NDC)version(String | undefined): Optional version of the coding system
Example Entries
Active Medication
{
"displayText": "Lisinopril",
"nickname": "Blood Pressure Med",
"start": "2023-06-01 08:00:00 -0800",
"end": null,
"scheduledDate": "2024-02-06 08:00:00 -0800",
"form": "Tablet",
"status": "Taken",
"isArchived": false,
"dosage": 10,
"codings": [
{
"code": "29046",
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"version": null
}
]
}
Discontinued Medication
{
"displayText": "Antibiotic",
"nickname": null,
"start": "2024-01-15 12:00:00 -0800",
"end": "2024-01-22 12:00:00 -0800",
"scheduledDate": "2024-01-22 12:00:00 -0800",
"form": "Capsule",
"status": "Taken",
"isArchived": true,
"dosage": 500,
"codings": []
}
Scheduled Medication Entry
{
"displayText": "Multivitamin",
"nickname": null,
"start": "2024-01-01 07:00:00 -0800",
"end": null,
"scheduledDate": "2024-02-06 07:00:00 -0800",
"form": "Tablet",
"status": "Not Logged",
"isArchived": false,
"dosage": 1,
"codings": []
}
Understanding Status Values
The status field helps track medication adherence:
"Taken": Medication was successfully taken"Skipped": Medication was intentionally skipped"Snoozed": Reminder was snoozed (may indicate delayed intake)"Not Logged": No action was recorded (may indicate missed dose)"Not Interacted": No interaction with the reminder
Use Cases
Medication data can be useful for:
- Adherence tracking: Monitor how consistently medications are taken
- Medical records: Maintain comprehensive medication history
- Healthcare provider sharing: Share medication lists with doctors
- Drug interaction analysis: Cross-reference with other health data
- Compliance reporting: Generate reports on medication adherence