Medication Related Resources

So Bob has anemia. Dr. Alice has diagnosed him based on his lab results. But what happens next?

Well, Bob needs treatment! In this case, Dr. Alice thinks Bob should take some iron tablets to help his body make more healthy red blood cells. This is where FHIR’s medication resources come into play.

When we talk about medications in FHIR, we’re actually dealing with three different but connected resources:

  1. Medication - What is the drug?
  2. MedicationRequest - Can you please take this drug?
  3. MedicationAdministration - Yes, the drug was actually taken

Think of it like ordering food: the menu item (Medication), your order (MedicationRequest), and the confirmation that you ate it (MedicationAdministration).

What Is a Medication Resource?

The Medication resource is like a dictionary entry for a drug. It describes what the medication is, but it doesn’t say anything about who should take it or when.

For Bob’s anemia treatment, here’s what the medication looks like:

{
  "resourceType": "Medication",
  "id": "med-iron-1",
  "code": {
    "text": "Ferrous sulfate 325 mg tablet"
  },
  "form": { "text": "tablet" }
}

Pretty simple, right? This just says “Hey, there’s a medication called ferrous sulfate, it’s 325 mg, and it comes as a tablet.”

Breaking Down the Medication Resource

Let’s look at what’s in here:

  • resourceType: This tells us it’s a Medication resource
  • id: A unique identifier (med-iron-1) that other resources can reference
  • code: The name and strength of the medication
  • form: What form it comes in (tablet, capsule, liquid, etc.)

The Medication resource can get much more complex. According to the FHIR specification, it can include:

  • Ingredients and their strengths
  • Manufacturer information
  • Package details (like how many tablets per bottle)
  • Batch information (lot numbers, expiration dates)

But for Bob’s case, we’re keeping it simple.

What Is a MedicationRequest?

Now here’s where things get interesting. The MedicationRequest resource is like a prescription. It’s Dr. Alice saying “Bob, please take this medication.”

{
  "resourceType": "MedicationRequest",
  "id": "medreq-iron-1",
  "status": "active",
  "intent": "order",
  "medicationReference": { "reference": "Medication/med-iron-1" },
  "subject": { "reference": "Patient/bob-patient" },
  "encounter": { "reference": "Encounter/enc-1" },
  "authoredOn": "2025-08-08",
  "requester": { "reference": "Practitioner/prac-1" },
  "reasonReference": [ { "reference": "Condition/cond-1" } ],
  "dosageInstruction": [
    {
      "text": "Take one tablet by mouth daily",
      "timing": { "repeat": { "frequency": 1, "period": 1, "periodUnit": "d" } },
      "route": { "text": "oral" }
    }
  ]
}

Breaking Down the MedicationRequest

This is where the rubber meets the road:

  • status: “active” means this prescription is current
  • intent: “order” means this is an actual prescription (not just a plan)
  • medicationReference: Points to our Medication resource - the ferrous sulfate tablets
  • subject: Who is this for? Bob
  • encounter: Which visit is this from? Bob’s appointment with Dr. Alice
  • requester: Who wrote this prescription? Dr. Alice
  • reasonReference: Why are we prescribing this? Because of Bob’s anemia condition
  • dosageInstruction: The important part - how to take it!

The dosage instruction tells us:

  • text: “Take one tablet by mouth daily” (human-readable)
  • timing: Once per day (structured data)
  • route: “oral” (by mouth)

Two Ways to Reference Medications

Here’s something cool. In the video transcript, we learned there are actually two ways to specify what medication you’re prescribing:

  1. medicationReference: Point to a separate Medication resource (like we did above)
  2. medicationCodeableConcept: Include the medication details directly in the request

The first approach is what we used for Bob’s oral tablets. But later in the video, when Dr. Alice gives Bob an intramuscular injection, she uses the second approach.

What Is MedicationAdministration?

The MedicationAdministration resource is the proof that a medication was actually given. It’s like a receipt.

{
  "resourceType": "MedicationAdministration",
  "id": "medadmin-iron-1",
  "status": "completed",
  "medicationReference": { "reference": "Medication/med-iron-1" },
  "subject": { "reference": "Patient/bob-patient" },
  "encounter": { "reference": "Encounter/enc-1" },
  "effectiveDateTime": "2025-08-08T11:15:00-05:00",
  "performer": [ { "actor": { "reference": "Practitioner/prac-1" } } ],
  "request": { "reference": "MedicationRequest/medreq-iron-1" },
  "dosage": {
    "text": "325 mg oral",
    "dose": { "value": 325, "unit": "mg", "system": "http://unitsofmeasure.org", "code": "mg" },
    "route": { "text": "oral" }
  }
}

Breaking Down the MedicationAdministration

This resource tells us what actually happened:

  • status: “completed” means the medication was successfully given
  • medicationReference: Same medication as the request
  • effectiveDateTime: Exactly when it was given (11:15 AM)
  • performer: Who gave it? Dr. Alice
  • request: Links back to the original MedicationRequest
  • dosage: What was actually administered (325 mg by mouth)

The Key Difference: Request vs Administration

This is super important to understand:

  • MedicationRequest = “Please take this medication” (prescription)
  • MedicationAdministration = “This medication was actually taken” (proof)

In the video, the narrator explains it perfectly:

“The difference between request and administration is that in request, you’re just asking the patient or someone to take it like maybe here, this is a prescription, please take it. Whereas in an administration, you’re confirming that it has been taken or you have given this in the clinic or in the hospital.”

Real-World Example: Two Different Scenarios

The video shows us two scenarios:

Scenario 1: Take-Home Prescription

Bob gets a prescription for ferrous sulfate tablets to take at home. This creates:

  • A MedicationRequest (the prescription)
  • Later, MedicationAdministration records when Bob actually takes the pills

Scenario 2: In-Clinic Treatment

Dr. Alice decides Bob needs a jumpstart, so she gives him an intramuscular injection of iron dextran right there in the clinic. This creates:

  • A MedicationRequest (the order to give the injection)
  • A MedicationAdministration (proof that Dr. Alice gave it)

Using medicationCodeableConcept

In the injection example, instead of creating a separate Medication resource, the medication details are included directly in the request using medicationCodeableConcept. This is perfectly valid and sometimes more practical.

Here’s what that might look like:

{
  "resourceType": "MedicationAdministration",
  "medicationCodeableConcept": {
    "text": "Iron dextran 100mg IM via Z-track technique"
  },
  "dosage": {
    "text": "100 mg IM via Z-track technique",
    "dose": { "value": 100, "unit": "mg" },
    "route": { "text": "intramuscular" }
  }
}

As the video mentions, “It’s the same meaning” - just a different way of representing the medication information.

The Beautiful Chain of References

Look at how these resources connect:

  1. Patient (Bob) has a Condition (anemia)
  2. Condition leads to MedicationRequest (prescription for iron)
  3. MedicationRequest references Medication (ferrous sulfate tablets)
  4. MedicationAdministration confirms the MedicationRequest was fulfilled

It’s like a complete story of Bob’s treatment, told through connected FHIR resources.

Different Settings, Same Pattern

Whether it’s:

  • Outpatient: Patient gets prescription, takes medication at home
  • Inpatient: Nurse gives medication in hospital
  • Emergency: Doctor administers medication immediately

The pattern is always the same: Request → Administration.

Status Fields Matter

Both MedicationRequest and MedicationAdministration have status fields that track the lifecycle:

MedicationRequest Status:

  • draft: Still being written
  • active: Ready to be filled/administered
  • completed: Successfully administered
  • cancelled: No longer needed

MedicationAdministration Status:

  • in-progress: Currently being given
  • completed: Successfully administered
  • stopped: Interrupted before completion

FHIR Versions: Things Are Changing

The video mentions something important: “This has changed a little bit in the R5 and it will change in the R6 versions. But for R4, you still have two ways of doing this.”

This is a good reminder that FHIR is evolving. The medication resources are being refined to make them even more useful and standardized.

Common Beginner Mistakes

  1. Don’t confuse the three resources: Medication is the drug definition, MedicationRequest is the order, MedicationAdministration is the proof
  2. References must be valid: If you use medicationReference, that Medication resource must exist
  3. Timing matters: effectiveDateTime in MedicationAdministration should be when it was actually given
  4. Status tracking: Always update status fields appropriately

Key Takeaways

  • Medication = What is the drug?
  • MedicationRequest = Please take/give this drug
  • MedicationAdministration = The drug was actually taken/given
  • You can reference medications two ways: separate resource or inline concept
  • These resources create a complete audit trail of medication therapy
  • The same pattern works for outpatient prescriptions and inpatient administration

The Bigger Picture

Bob’s journey from fatigue to treatment shows how FHIR resources work together:

SymptomLab TestDiagnosisTreatment PlanMedication Administration

Each step is captured in structured, interoperable FHIR resources that tell the complete story of Bob’s care.

What’s Next?

After Bob gets his iron treatment, there’s one more important part of his healthcare journey: the financial side. How does the healthcare organization get paid for all these services?

That’s where we’ll explore FHIR’s financial resources in the next post, covering everything from insurance coverage to payment reconciliation.

Want to Learn More?

Check out the official FHIR specifications:

These resources are fundamental to any healthcare system dealing with medications - which is pretty much all of them! Understanding how they work together gives you a solid foundation for building medication management systems with FHIR.

Remember: medications save lives, but only if they’re prescribed correctly, dispensed safely, and administered properly. FHIR’s medication resources help ensure that happens by providing a clear, structured way to track every step of the process.

Comments (0)

No comments yet. Be the first to comment!