If you want to access a patient’s prescribed medications—as documented by a specific organization—you can use this API action to retrieve a list. Typically, you can use this for:
To use this API action, you must know the patient identifier. If you don’t, you must locate the appropriate identifier first. Learn how to search for a patient with demographics.
With this API action, you can retrieve information like medication type, dose, status, timing, frequency, quantity, and more.
You can use this API action with the Redox FHIR® API.
Your connection's system can return results with their own FHIR® or query-based API.
You can only search and receive data from one organization for one patient. If you want a comprehensive list for a patient from multiple organizations, you must perform this API action for every organization you’re interested in receiving data from.
The MedicationRequest resource is useful if you want a list of all current prescribed medications, along with any over-the-counter medications a patient reports that they're taking at home. The over-the-counter medications have a different status than prescribed medications. What this doesn’t contain: any details about how much a patient has taken of what they were prescribed.
The MedicationAdministration resource contains what medications were given and details about how it was administered to a patient during an inpatient stay.
The MedicationStatement resource is an older resource that may not be supported with newer versions of FHIR®. But if an EHR system does still support it, you can use this to get a list of over-the-counter medications that the patient reports that they're taking at home. The data may not be accurate or comprehensive since it depends on what the patient self-reports.
Real talk for a minute: More than any other data type, medication data tends to vary quite a bit across healthcare organizations. We do what we can to normalize these differences for you, but you may see that one healthcare organization provides more or less details than another.
Our recommendation: Plan to be flexible with these differences and do extensive testing during implementation to verify that you don't have any issues with the varying levels of medication data. This applies whether you're using MedicationRequest or MedicationAdministration.
Medications are typically represented in SNOMED or RxNorm codes.
Providers often leave detailed comments in addition to the medication data points. This commentary may provide useful context about how the patient should take the medication or similar instructions.
EHR systems may handle these free-text comments differently, so we recommend working with your connection to understand the location and availability of these comments.
Does this API action seem like a good fit for your unique workflow? If so, let your Redox rep know! You can begin development by downloading the relevant resource schema (which is noted in the relevant action step below), and deciding which data elements you need. Then head over to our Quickstart guide to dive right in.
If you're not engaged with our sales team yet, talk to a Redoxer to get started.
The following actions must be completed before attempting the steps below.
This table has notes about how to use parameters for this action step specifically, but it's not exhaustive. Refer to the MedicationRequest schema for more details:
Parameter | Required | Notes |
---|---|---|
patient.identifier | Y | You must include at least one identifier for the patient that's used by the EHR system you're querying. If you don't have a patient identifier, you can find one by searching for a patient with demographics. |
intent | N | When using MedicationRequest, you can use both patient identifier and intent to refine your search. If using intent , you can search with any of these values: proposal , plan , order , original-order , reflex-order , filler-order , instance-order , option . |
The response contains one or more medications for an individual patient. In FHIR® responses, you can find the total number of included medications in the total
array.
curl ---location --request POST 'https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/MedicationRequest/_search' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: Bearer ${API_TOKEN}' \--data-urlencode 'patient=Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7' \--data-urlencode 'intent=order'
{"id": "e23a63fb-f611-4492-88c5-8b293b2fa1b5","type": "searchset","entry": [{"search": {"mode": "match","score": 1},"resource": {"id": "9d1810d9-64c8-45ea-8443-e73a3681eb32","meta": {"lastUpdated": "2022-10-06T18:58:36.668Z"},"intent": "order","status": "active","subject": {"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"},"recorder": {"reference": "Practitioner/dbed0f85-e3cd-47ac-9305-3f629e138832"},"contained": [{"id": "364afc13-9969-491d-8d42-6bfebbb35429","name": "Fake Pharmacy","type": [{"text": "Pharmacy","coding": [{"code": "PHARM","system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode","display": "Pharmacy"}]}],"active": true,"address": [{"city": "Madison","line": ["123 Fake Street"],"state": "WI","postalCode": 53703}],"identifier": [{"value": "1234567","system": "urn:redox:redox-fhir-sandbox:NCPDP"}],"resourceType": "Organization"}],"encounter": {"reference": "Encounter/f221f862-7a5a-499c-bc1c-d3028b9acb5a"},"requester": {"reference": "Practitioner/dbed0f85-e3cd-47ac-9305-3f629e138832"},"identifier": [{"value": "30c6f13a-01f0-4012-b913-2572ccfc02e4","system": "urn:redox:redox-fhir-sandbox:MedOrderID","extension": [{"url": "https://fhir.redoxengine.com/StructureDefinition/identifier-origin","valueString": "RedoxAPI"}]}],"resourceType": "MedicationRequest","dispenseRequest": {"performer": {"reference": "#364afc13-9969-491d-8d42-6bfebbb35429"}},"dosageInstruction": [{"route": {"text": "Oral","coding": [{"code": "C38288","system": "urn:oid:2.16.840.1.113883.3.26.1.1"}]},"timing": {"repeat": {"period": 8,"frequency": 1,"periodUnit": "h","boundsPeriod": {"start": "2022-09-12T16:10:35.874Z"}}},"doseAndRate": [{"doseQuantity": {"unit": "mg","value": 4}}]}],"medicationCodeableConcept": {"text": "Ondansetron 4 Mg Po Tbdp","coding": [{"code": "104894","system": "http://www.nlm.nih.gov/research/umls/rxnorm"}]}}}],"total": 1,"resourceType": "Bundle"}
This table has notes about how to use parameters for this action step specifically, but it's not exhaustive. Refer to the MedicationAdministration schema for more details.
Parameter | Required | Notes |
---|---|---|
patient.identifier | Y | You must include at least one identifier for the patient that's used by the EHR system you're querying. If you don't have a patient identifier, you can find one by searching for a patient with demographics. |
The response contains one or more medications for an individual patient. In FHIR® responses, you can find the total number of included medications in the total
array.
curl ---location --request POST 'https://api.redoxengine.com/fhir/R4/redox-fhir-sandbox/Development/MedicationAdministration/_search' \--header 'Content-Type: application/x-www-form-urlencoded' \--header 'Authorization: Bearer ${API_TOKEN}' \--data-urlencode 'patient=Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7'
{"id": "7dd5520f-a778-4aea-aafb-91b0f4eab868","resourceType": "Bundle","type": "searchset","entry": [{"resource": {"resourceType": "MedicationAdministration","id": "4eccd037-4f1e-408d-a29b-e722f31608de","subject": {"reference": "Patient/81c2f5eb-f99f-40c4-b504-59483e6148d7"},"identifier": [{"value": "83927393","system": "urn:oid:1.2.840.114350.1.13.12345.1.7.2.798268","extension": [{"url": "https://fhir.redoxengine.com/StructureDefinition/identifier-origin","valueString": "RedoxAPI"}]}],"status": "completed","medicationCodeableConcept": {"coding": [{"code": "573621","system": "http://www.nlm.nih.gov/research/umls/rxnorm","display": "Albuterol 0.09 MG/ACTUAT inhalant solution"}]},"context": {"reference": "Encounter/e222f44d-428f-446f-8481-e8aeae326ab7"},"effectiveDateTime": "2022-08-10T04:00:00.000Z","dosage": {"dose": {"unit": "mg/actuat","value": 0.09},"route": {"text": "RESPIRATORY (INHALATION)","coding": [{"code": "C38216","system": "urn:oid:2.16.840.1.113883.3.26.1.1"}]},"rateQuantity": {"unit": "ml/min","value": 90}},"meta": {"lastUpdated": "2022-12-01T22:03:47.989Z"}},"search": {"mode": "match","score": 1}}],"total": 1}