Medicationadministration - the administrated drugs vs full list

Hi All,

It would be really helpful if you could share your thoughts. A small web application, which pulls the medication details from the Medication system (ePMA) using the (MedicationRequest or MedicationStatement being discussed in a separate thread) Patient has been prescribed 5 drugs to take and each drugs have different dosage.

What should be included in the Medicationadministration to POST/PUT to the eMPA when 1 drug out of 5 is given to patient.

  1. should it be the only given drug & dosage
    “dose”: {
    “value”: 4.5,
    “unit”: “g”,
    “system”: “”,
    “code”: “g”

  2. What should be the operation, should it be POST or PUT called on ePMA?

thanks in advance

hi Tharma

I’m not sure what eMPA is, or if it it’s a general term or a specific system. If the latter you should be sure to consult any specific documentation for that system.

Q1 “should it be the only given drug & dosage”
You need to create a full resource, which includes as much detail as you can give, and can “stand alone”, as much as possible. Of course you need things like the patient and the time. So it is not “only” drug and dosage.

Q2 POST creates a new resource, PUT updates an existing one. You want a new resource here I expect.

For questions these, I think you may benefit from some training or background reading of these classes and FHIR in general. It may not be easy to get the “big picture” by asking individual questions on here :slight_smile:

Also I would recommend for general FHIR implementation questions, that are not specific to the UK. I am not sure if your context is UK.


1 Like

Hi Rik,

Completely agree with your suggestions here.

This will ultimately require a code and detailed discussion with the ePMA vendor as this is a seriously safety-critical area but in general you probably require POST and I would want the administration record to , at the very least carry the medication name and any other critical information from the original request that allows the administration record to be ‘standalone’ as you put it. Ultimately, though this will depend on the policies of the system under the FHIR hood.


Hi Rik,

Thank you for the answers, regarding the question 1, Yes it would be a full resource always, what I meant in the question was, all 5 drugs or only the drug it was administrated ? say if the patient was given only Paracetamol, the MedicationAdministration resource would have all other information with only one dosage element instead fine dosages ?

thank you

I think you are saying if a was prescribed a drug for 5 days (single MedicationRequest) or 5 phials, dose one per day

Would I get 5 or 1 MedicationAdministration.?
A. You get MedicationAdministration each time the drug is taken (e.g. 1 phial). So a total of 5.

1 Like

Hi, if only one drug was administered, then only one MedicationAdministration, and only that one drug in it.

Other drugs administered would normally be other MedicationAdministrations.
MedicationAdministration.medication is 1…1 anyway, so it couldn’t be otherwise.

It would be incorrect to put a medication in any MedicationAdministration, if it had not actually been administered.

Or are you talking about other planned/future administrations of the same drug?

Anyway, you don’t put those in either, whether for the same drug or others.

MedicationAdministration should not re-state what has been requested in all the planned administrations, only the actual one that has happened this time. Not others before or after.


1 Like

Agree with both Rik and Kevin.


Thank you Rik, Kevin and Ian ,

I got it, I understand now, the only administered drug(s) would be in the MedicationAdministration.

I really appreciate your response.

thank you


I see all the Medication related resources are having medication element with cardinality 1…1 ? are there any particular reasons why we don’t have a Resource Type to pull all the ongoing medication with dosage for a patient ?

thanks in advance

Sorry I’ve not got a good link for this but the Medication (code) changes as it goes through the process.

(This is one for @ian to describe in detail).
The code prescribed will be different to the one dispensed (e.g. one is the code for aspirin and the other will be the code of the aspirin product dispensed)

I think the question here might not be to do with changing codes, but rather “why isn’t there a resource that gives me all the medications”.

The answer to that one is that that’s not the way resources typically work in a RESTful interface. But there is still a way to get what you want.

A single resource instance - with a URL ending in "/id" - represents one concept, e.g. one medication, with that id.

GET [base]/someresource/id

You can use the resource endpoint with no id to get all resources.

GET [base]/someresource

That will get all resources of type "someresource" - but it is not bound to one patient.

What you want is a resource that has all the medication for one patient. That is not a standard CRUD action on a single resource type.

There are other concepts such as the List resource which is a container for other resources. That is closer to what you are looking for.

And in fact if you want current medication, the correct way to implement this is to use one of the predefined list "operations":

The $current-medications operation gets all the medication resources that the system (by its own rules), considers "current", for a given patient.

An operation is an endpoint that is somewhat like a resource (a “pseudo-resource” perhaps), but actually does some extra processing beyond simple CRUD, and can return a set of resources.

Not all systems will implement this, but it might be a good idea if GP systems did.


Yes I misread that.

I agree $current-medications seems more appropriate. Is that a candidate for Care Connect API?

1 Like


Any public fhir server I can play around with Medication Related resources.

thanks in advance

1 Like

hi Kevin,

Yes I think it should be


For Care-connect the decision is that for most consumers “Give me all medications” should be satisfied by a GET MedicationStatement call not MedicationOrder.

That allows any consumer to easily find the list of current medications whether or not these are actually represented internally by an ePrescibing system (which uses MedicationOrder internally). The other reason is that MedicaitonStatment carries additional infortmation about the status of the overall process including potentially key items like first dispensed , last dispensed, first prescribed, last prescribed without having to understand and parse out the complexities of how this information is captured internally in a set of linked medicationAdmin and dispense resources. O course if you happen to be part of some sort of distributed medication system, you absolutely have to access these original resources but using MedicaitonStatement allows us to present a much simpler, consistent interface for all potential consumers of “Give me current medications” the vasty majority of whom will not be interacting with a prescribing system (which may not actually exist under the hood).

With regard to the medication code changing- I understand that at least in one EMPA system it will depend on the hospital.

Typically an order would have a dm+d VTM code, and the corresponding dispense would have a VMP/AMP code.

Where the hospital uses bar coded administrations the VMP/AMP ( product) code would be recorded, otherwise the VTM would be used (which mimics current manual practice, as the nurse just ticks that the original order has been fulfilled and would normally not record the actual product administered.

Hi Ian

I think that is a different issue to what we are now asking about.

Whichever resources are used - and it seems perfectly fine to use the resources as you say - a useful and recommended method is to wrap these resources up in a single $current-medication operation.

This way you will always get the right set of resources, both in terms of statement vs order, and what is defined as “current” vs “expired” etc.

This would work transparently whether it is a prescribing oriented system or not (which is something that the client may not easily be able to determine).

It is current medication, as opposed to all medication, but that is probably what is most often wanted.

This doesn’t go against the decision to use MedicationStatement, but complements it.



If you look at this patient
This is Micheal from INTEROPen Micheal’s storey, if you click on the medication tab it is showing medications issued, dispensed and administered during several encounters.

It has some issues like the prescribed medication for apidra is pointing to the wrong Medication (Code) (it shouldn’t be the same Medication the dispense and administer use).

I’ll look into correcting that and also fixing the GP Connect link which will show MedicationStatement together with MedicationIssues. (I think some examples would show the differences between Riks and Ians comments - I’m having a few difficulties with the intended use of MedicationStatement in the UK but need examples to illustrate).

1 Like

GP link is working again and you can see MedicationStatements and MedicationRequests

another mike has a GP records:

On the main page you should find example MedicationStatements

If you select the medication option you should get this screen:

Clicking on the syringe should show Medication resource and finally clicking on the angular brackets <> should show the actual resource:

Note: this patient doesn’t have any medication issue/dispense/administer from an acute setting, it only has MedicationStatements - its acting as a ‘warehouse’ or secondary source of medication information where as the other patient example is going direct to the (primary) source.

1 Like

I have been reading this thread with some interest as we write an electronic MAR system for social care providers and the structures (and even the medication codes) are identical.

Unfortunately our customers currently get the medicationStatements data verbally from the customer/patient (or a relative / advocate). Can someone in the know confirm that we are still aeons away from private / third sector care providers getting direct access to this data? (Which from their point of view is incomplete anyway, since many/ most customers also use various OTC products that need to be administered). If not could anyone let me have a link?