FHIR Chat · Medications - no Patient Reference? · implementers

Stream: implementers

Topic: Medications - no Patient Reference?


view this post on Zulip John Silva (Jun 26 2018 at 23:56):

The Medication resource doesn't have a reference to a Patient. With this in mind, how is a FHIR-based system supposed to deal with a MedicationRequest or MedicationAdminstration reference to the Medication when the Medication is updated separately from the MedReq or MedAdmin? If we assume the Medication resources represents orderable drugs in the Pharmacy (Formulary) and then the hospital pharmacy changes something about the Medication (e.g. a different supplier but same code) what happens to those orders and admins that reference it? If a drug has already been administered to a particular patient, but the Medication resource is changed, how is that dealt with? Another 'use case' is that there may be individual tracking numbers for the drug lot (or for controlled substances some other unique id). Is the expectation that the Medication resource in this case would have a unique code and then it would only be used for one patient's order and administration? It seems without a Patient reference it is hard to 'back trace' which meds were given to which patients, e.g. if there was a drug lot recall or some newly discovered side effect that needed to be communicated to specific patients.

view this post on Zulip Grahame Grieve (Jun 27 2018 at 04:14):

you would trace that back through the patient connected resources that link to the medication

view this post on Zulip Lloyd McKenzie (Jun 27 2018 at 05:25):

On the MedicationAdministration side (and possibly MedicationDispense), you might be more likely to point to a specific Medication instance that has a particular lot number. It would have the same code but a different id - one Medication resource for each "lot" the system had to deal with. But you'd still trace to patient through the MedicationAdministration.

view this post on Zulip John Silva (Jun 27 2018 at 10:36):

Yes, I understand that you'd have to 'back trace' the Medication through the resources that reference it; but that's not the real issue I'm trying to raise. The problem I'm trying to ask about is because the Medication does NOT have a unique "instance identifier" (identifier property) but a "class identifier", it has a code property which could be something like an NDC or RxNorm code; this does not uniquely identify the specific drug (lot/instance of the drug) that was given to the patient. If the pharmacy changes the lot or even vendor (for a generic) for a Medication and updates the resource in the FHIR server, these would (could) be using the same NDC or RxNorm code but the resources that reference it would no longer have traceability to what they gave at the time of order or administration. (I'm assuming the Medication resource is maintained by the Pharmacy as their 'current formulary' and can be updated separately from the MedReqs and MedAdmins which reference them.)

view this post on Zulip Grahame Grieve (Jun 27 2018 at 19:59):

It sounds to me like there's a chicken and egg problem here - if the institution wants to track these kind of changes, it shouldn't make those kind of changes?

view this post on Zulip Lloyd McKenzie (Jun 27 2018 at 20:18):

The resource will always have a resource id - which should be good enough

view this post on Zulip Jose Costa Teixeira (Jun 27 2018 at 22:14):

since the medication resource contains both "kind" (catalog-like information) and "instance" (lot, serial), then if the hospital has 1000 boxes of a medication each with a serial number, then the hospital my end up with 1001 resources - one is the medication for the "formulary", but each of the physical boxes will have its own resource on the server.

view this post on Zulip Jose Costa Teixeira (Jun 27 2018 at 22:15):

the drug codes are not what distinguishes two boxes given to different patients - it is the resourceID (or other attributes)

view this post on Zulip John Silva (Jun 28 2018 at 09:17):

@Jose Costa Teixeira - thanks, this brings up the core of the question/issue I'm trying to raise. So, each of those 1001 resources would all have the same code, e.g .the NDC code for that drug (by a specific manufacturer) but each would have a different serial number; this serial number is an example of the 'instance identifier' I'm referring to. So where would this serial number be in the Medication resource? I don't see a property in the resource that allows you to have/put this 'instance identifier'? (most other resources have an identifier property which allows the unique 'business identifier' (what the clinical systems use to refer to something, not the 'internal id' (resource id) that FHIR uses.) With your example, unless I'm missing something, there doesn't seem to be a way to query for a specific instance of a drug (by serial number) only maybe by code (drug code, i.e. a 'class identifier') or lot number, but neither of these are unique -- they would return the 1001 Medication resources from the server! Also, in my other recent thread about Medications and their therapeutic category @Robert McClure also raises a question about a related problem with the Medication resource 'not being an instance'. The problem here as it relates to not having a unique "business identifier" is that when a drug is ordered for a specific patient at a specific time, the ordering physician is using it at that moment for a specific purpose, therefore, if you will, from a specific therapeutic category. (Today I'm using drug X as a weight loss drug, tomorrow I'm using the same drug as a anti-depressant).

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 09:18):

.id

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 09:21):

the medication resourcs IS kind and instance at the same time - we my want to review that to align with Device,

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 09:22):

in my example, all these medication resources would be the same, except the resource .id would be different for each one of them

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 09:24):

here is a draft analysis of the "product" resources and how they convey "kind" or "instance" data
pasted image

view this post on Zulip Lloyd McKenzie (Jun 28 2018 at 09:47):

Medications (generally) don't have serial numbers. So all you have is the Resource.id - but that should be sufficient.

view this post on Zulip John Silva (Jun 28 2018 at 10:06):

What about 'custom-mixed' drugs, i.e. something that the Pharmacy 'mixes up' (not correct Pharmacy term) for a specific patient? Those would have a unique identifier (and bar code) to ensure the 5-rights! It seems to me that there needs to be a 'business identifier' for Medications not just relying on the 'resource id'. Have these types of use cases been discussed in the Pharmacy committee? (Related: how would do 5-rights bar-code checking before giving the patient the specific, custom-mixed drug without a 'business identifier' related to the bar code? The Pharmacy isn't going to create the bar code to be the FHIR resource id.)

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 10:07):

yes, they have

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 10:08):

but if you mix two items to create a new one, you can have another resource id

view this post on Zulip Lloyd McKenzie (Jun 28 2018 at 10:11):

The question is whether you're going to have the same medication "instance" on multiple servers and need to be able to trace that it's exactly the same instance. If we have a use-case for that, then that would justify having Medication.identifier

view this post on Zulip John Silva (Jun 28 2018 at 10:13):

Even if there aren't multiple FHIR servers involved there seems to be a need to have a "business identifier" that is separate from the internal resource id. The Pharm system knows it's assigned (business) identifiers not the internal FHIR resource id. (Also, if we're getting this 'business identifier" from an HL7 V2.x message ...)

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 10:14):

If we do need that identifier, we'd rather use serial number, right? I don't see why having an .identifier

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 10:15):

so, external systems can refer to serial number if they are existing.

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 10:16):

inside the server, each resource with a unique serial number will be a different instance, so that the server stores those separately

view this post on Zulip Andrew Gledhill (Jun 28 2018 at 11:11):

Hello John. Can 'MedicationRequest.subject' not be used to identify the patient for each Medication Request? This can be linked to 'MedicationRequest.identifier' which gives each medication/prescription order a unique ID.

HL7-FHIR-descriptions-for-Medication-Request-HL7V2-mapings.xlsx

view this post on Zulip John Silva (Jun 28 2018 at 12:56):

@Jose Costa Teixeira Is there an existing property for storing the 'serial number' or would you expect to use a repeat of the code? I didn't see one; I only saw something related to the batch.lotNumber (which is not unique, in your example it refers to 'all tablets' in the same box/lot)

@Andrew Gledhill - yes, the linkage using the MedicationRequest.subject.reference (and MedAdm subject.reference) can be used to link back to the Medication, but the problem is that the Medication is a 'class of medications' not a specific instance of a Medication given to a specific patient. For example, at the time of the MedicationRequest (ordering) the doctor requests a specific type of drug, e.g. Acetaminophen, but at the time the pharmacist gets it (in HL7 V2 speak - the difference between the OMP and the RDE message) they choose a specific drug that is stocked in the pharmacy, e.g. Tylenol (by Bayer) with a specific NDC or RxNorm code. So now we have the situation that the reference to the Med in the MedReq is or can be different from the drug actually in the 'encoded order' and then later on when the Med is actually administered, there might be a specific lotNumber and serialNumber in the case of a 'controlled substance' or specially 'mixed' drug. How are we supposed to keep track of this? The ordering system (e.g. CPOE) and the pharmacy system (PIS) and the administration system (EHR ?) are not going to know about the FHIR internal resource Id (nor should they); they need their own business identifier it seems.

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 12:57):

@John Silva http://build.fhir.org/medication-definitions.html#Medication.batch.serialNumber

view this post on Zulip John Silva (Jun 28 2018 at 12:58):

Ah, thanks! I was looking at the STU3 resource, which doesn't have this!

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 12:58):

the problem is that the Medication is a 'class of medications' not a specific instance of a Medication given to a specific patient.

Medication currently has the double role of referring to Kind and Instance

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 12:59):

in Device we are actually clearing that up, and it is possible that if that works well, we would check with(in) Pharmacy if Medication should do something similar.

view this post on Zulip John Silva (Jun 28 2018 at 13:02):

@Jose Costa Teixeira -- thanks! Now I see it in R4 -- this seems like it would address the use cases I mentioned (of course Pharmacy folks have been thinking of this longer than me!) Yes, the Medication is both a Kind (class) and an Instance! (In the Formulary it's a Kind/class, once administered to an individual patient it's an instance -- I'm not sure about when it's in the (non-encoded, OMP) order; is that a Kind or an Instance?

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:02):

when the Med is actually administered, there might be a specific lotNumber and serialNumber in the case of a 'controlled substance' or specially 'mixed' drug. How are we supposed to keep track of this?

easy:
say you have these resources:
medication001: The "kind" (no lot number or serial)
medication002: instance 1 (same as medication001, but with serial number 00A)
medication003: instance 2 (same as medication001, but with serial number 00B)

view this post on Zulip John Silva (Jun 28 2018 at 13:04):

Yep, makes sense -- but what about the unencoded order? I suppose that uses the Kind (i.e NDC code but does not yet have a unique lotNumber or serialNumber) It still seems strange though that the ordering system doesn't have a unique business identifier to refer to it. The problem here is that if the order (OMP and RDE) creates a reference to a Medication Kind but then the administration (RAS) now refers to a different instance of the Medication with the only traceability via the code (e.g. NDC code).

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:04):

Prescription mentions medication001 (they don't need/care about a specific kind in most cases)
when administering in themorning, the system registers medication002
when administering in the afternoon, the resource used is medication003

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:05):

medication001, medication002 and medication003 are the medication.id attributes

view this post on Zulip John Silva (Jun 28 2018 at 13:07):

Yes, but the order and administration systems do not get to assign these medication.id properties; those are assigned internally by the FHIR server. There doesn't seem to be a good way for the ordering and admin systems to be able to refer back to these drugs in a consistent way; that's why it 'feels' like a business identifier is needed.

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:07):

yep

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:08):

and you are correct,
if the order (OMP and RDE) creates a reference to a Medication Kind but then the administration (RAS) now refers to a different instance of the Medication with the only traceability via the code (e.g. NDC code).
This is a known challenge in Kind/Instance. In Device we are resolving it by stating "this thing is a device instance, and here is a link to the kind that this thing is an instance of"

view this post on Zulip John Silva (Jun 28 2018 at 13:10):

So in the Device use case is there a unique "business identifier" that can be used to refer to the specific instance of the device, e.g. a module with a unique serial number?

view this post on Zulip Jose Costa Teixeira (Jun 28 2018 at 13:10):

so IMO the link between kind and instance must not be the NDC code

view this post on Zulip John Silva (Jun 28 2018 at 13:11):

agree, but this still leaves us with the problem of how can we do this (w/o an identifier assigned by the business system)?


Last updated: Apr 12 2022 at 19:14 UTC