---
title: "Get a medication"
method: GET
path: "/api/2026-01-01/medical-record/medications/{medication_id}"
tags: ["Medications"]
---

# Get a medication

`GET /api/2026-01-01/medical-record/medications/{medication_id}`

Get a medication by its ID

## Path parameters

- `medication_id` string, uuid, required

## Response `200`

The medication

- Medication
  - `id` string, uuid, required — UUIDv7 identifier for the medication
  - `patient_id` string, uuid, required — Reference to the patient
  - `practitioner_id` string, uuid, required — Reference to the practitioner
  - `encounter_id` string, uuid, nullable — Reference to the encounter where medication was prescribed (optional)
  - `medication_code` MedicationCode, required
    - `coding` object[], nullable — Array of coded values for the medication (optional — manually added meds won't have formal codes)
      - `display` string, required — Human-readable display name
      - `code` string, required — The medication code
      - `system` string, required — The coding system (e.g., 'http://snomed.info/sct')
    - `text` string, required — Plain text representation of the medication name
  - `ingredients` Ingredient[], nullable — Array of ingredient objects (optional — not all medications have detailed ingredient info)
    - `name` string, nullable — Name of the ingredient
    - `strength` union — Strength or amount of the ingredient
      - string
      - number
    - `strength_unit` string, nullable — Unit of measurement for the strength (e.g., mg, mL, %)
  - `dose_form` string, nullable — Pharmaceutical form (tablet, capsule, suspension, etc.) (optional)
  - `route` string, nullable — Route of administration (oral, IV, topical, etc.) (optional)
  - `frequency` string, nullable — Textual frequency (daily, bid, etc.) (optional)
  - `quantity` integer, nullable — Number of units (e.g., tablets, capsules) dispensed
  - `period_start` string, date, nullable — When the medication course starts (optional)
  - `period_end` string, date, nullable — Planned end date (if any) (optional)
  - `instructions` string, nullable — Free-text administration instructions for the patient (optional)
  - `status` 'active' | 'inactive', required — Lifecycle state of the medication
  - `source` 'prescribed' | 'patient_reported', required — Origin of record – prescribed (from practitioner) or reported (self-reported)
  - `change_reason` string, nullable — Selected reason for status change (e.g., adverse_reaction, completed, patient_request)
  - `prescription_valid_until` string, date, nullable — Expiry date after which repeats aren't valid (optional)
  - `prescription_refills` integer, nullable — Allowed refill count (optional)
  - `prescription_days_supply` integer, nullable — Number of days that the dispensed medication is intended to last (optional)
  - `prescription_reason` string, nullable — Clinical indication or problem being treated (optional)
  - `created_at` string, date-time, required — When the medication record was created

## Other responses

- `401` — Unauthorized
- `403` — Forbidden - insufficient permissions
- `404` — The medication was not found

---

[API](https://skmtc.net/jane/apis/jdp-api.md) · [All operations](https://skmtc.net/jane/apis/jdp-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jane/jdp-api/revisions/119f3c4ad601/schema)
