Stream: argonaut
Topic: Active Medications
Michelle (Moseman) Miller (Jun 05 2019 at 18:44):
Objective
Document guidance in IG on how to retrieve active medications.
History
In US-Meds IG (STU3), the active medication list was retrieved by querying MedicationStatement exclusively where status = active.
In STU3, MedicationStatement had two elements for taken (Boolean) and status.
• Taken was used to represent the medication usage (in the past)
• Status was used to infer whether the medication should be on the “active meds list” (i.e. whether the patient should be taking the medication going forward)
In R4, MedicationStatement added not-taken into the status value set (and removed the taken Boolean).
In R4, MedicationRequest was enhanced to add a new reported[x] element that indicates whether the MedicationRequest was reported (insert definition).
The Problem
Using MedicationStatement exclusively in R4 doesn’t work since we lost the ability to use MedicationStatement.status to convey whether a not-taken medication is on the active med list (i.e. should be taken). Some not-taken medications are associated with active orders/prescriptions while other not-taken statements are associated with old orders/prescriptions that have since been completed or stopped.
Using MedicationRequest exclusively in R4 raises some questions about whether it is scoped to handle patient statements about their over-the-counter (OTC) medication usage since there often isn’t an underlying prescription or request.
Using both MedicationStatement and MedicationRequest introduces patient safety risk if an application made a false assumption that all active medications were returned from a single resource.
Furthermore, the boundaries between MedicationStatement and a reported MedicationRequest present a challenge for systems that don’t make that fine distinction. For example, the following use cases are often handled in the same way:
- Patient conveys to provider A that another provider B prescribed a given medication
- Patient conveys they took an OTC medication
- The system programmatically learns of an existing medication and makes a non-authoritative copy
By contrast, systems can differentiate between:
- What the patient said about their medication usage (taken vs not taken)
- Whether the provider wants to keep the recorded MedicationRequest or MedicationStatement on the active medication list
In sum, we have a bit of a catch 22 where:
- We can’t use MedicationStatement exclusively (when status = not-taken), nor can we use MedicationStatement to convey status of what was ordered (when usage differs order/request status)
- We can’t use MedicationRequest exclusively (when scoped to exclude patient statements about OTC medications)
- Systems often don’t differentiate between reported MedicationRequests vs MedicationStatements, so the boundaries are challenging to honor.
Proposal
Argonaut / US-Core IGs propose using MedicationRequest exclusively to get all active meds
Any concerns with the Argonaut proposal to use MedicationRequest exclusively (which includes OTC medications)? @Grahame Grieve @Lloyd McKenzie @David Hay @Melva Peters
Josh Mandel (Jun 05 2019 at 18:57):
Just to check whether I understand the background: we're saying that a record of the fact that a medication wasn't taken (say, like one skipped dose?) is (sometimes) a fact that belongs on a patient's "active medication list"?
Eric Haas (Jun 05 2019 at 19:12):
We have to be clear about what we mean when we say active med list here: it means meds prescribed and self-prescribed and not a statement of patient compliance.
Josh Mandel (Jun 05 2019 at 19:13):
In that case, why would a "not taken" statement ever appears on this list?
Eric Haas (Jun 05 2019 at 19:15):
before with med statement we had an 'active' list of all med prescribed and self-prescribed AND compliance status. This is a change in expectations and definition.
Lloyd McKenzie (Jun 05 2019 at 19:28):
Yes I have concerns. A MedicationRequst is not an appropriate resource for non- ordered meds. To get a complete meds list, you need to look at both MedicationRequest and MedicationStatement. To be safe, taking a look at MedicationDispense too. If that's a safety issue, it needs to be resolved through education - or better yet, moving to use List. Cramming stuff into a single resource is not an appropriate solution.
Josh Mandel (Jun 05 2019 at 20:31):
/poll I'm still unclear about whether a "not taken" statement would ever appear as an entry on an "active medication list". Who thinks it can or can't?
Lloyd McKenzie (Jun 05 2019 at 20:49):
It could if the patient is supposed to be but isn't (because there's at least a chance they could change their mind - also you wouldn't want it Re- prescribed)
Josh Mandel (Jun 05 2019 at 20:52):
Okay, so the fact is that this med belongs on their active medication list. There may also (distinct from this) be a recording of the fact that the patient isn't taking the medication. And presumably there's some clinical process to detect and respond to the gap (talk to the patient; remove the med if they don't want it, etc).
David Hay (Jun 05 2019 at 21:21):
Though there are PRN (as required - eg for a migraine) meds on the active list...
Michelle (Moseman) Miller (Jun 06 2019 at 14:25):
Yes, "not taken" medications can appear on the active medication list for many reasons. As David said, PRN is one specific reason, but it really applies to any and all active orders. The underlying active order means that the provider is still telling the patient to take the medication (regardless of the patient being non-compliant with those instructions). We keep those active orders on the active meds list (regardless of compliance) due to clinical decision support (e.g. interaction checking) since the patient could start conforming with the provider's instructions. When medication reconciliation is done, the patient is asked about ALL "home medications" -- that includes OTC (self-prescribed), prescriptions that this provider wrote, as well as any other medications prescribed from other (external) providers.
Michelle (Moseman) Miller (Jun 06 2019 at 14:53):
Lloyd said
A MedicationRequst is not an appropriate resource for non- ordered meds
Not sure what the definition of "non-ordered meds" is, but I will just add that MedicationRequest does support MedicationRequest.requester = Patient and MedicationRequest.reportedReference =Patient. Why isn't OTC considered in scope as a self-prescribed / patient-initiated medication?
Lloyd McKenzie (Jun 06 2019 at 17:08):
MedicationRequest is about an authorization to dispense/administer. MedicationStatement is a summary view of "what is that patient taking" (or occasionally, "not taking"). In an OTC, there is no authorization (or alternatively there's an implicit authorization for "everything", which would be equally meaningless). What you're tracking there is "what is the patient taking" - which is the purpose of MedicationStatement. You can use MedicationStatement exclusively to represent "what is the patient taking" - whether prescribed or not. But as soon as you want to get into authorizations or the notion of compliance, you'll need to add MedicationRequest into the mix.
Michelle (Moseman) Miller (Jun 06 2019 at 19:23):
Doesn't this boil down to whether systems actually implement these boundaries? At least in our system, the following "reported" medications are undifferentiated:
- OTC "reported" by the patient (no order)
- OTC "reported" by the patient that was prescribed by another (external) provider, perhaps for insurance or reimbursement purposes
- Any external order "reported" by the patient - prescribed by another (external) provider
The last two bullets above are included in the scope of MedicationRequest, so we're only debating the first bullet above. However, we can't honor those boundaries if the system doesn't make that differentiation.
This resource covers all type of orders for medications for a patient. This includes inpatient medication orders as well as community orders (whether filled by the prescriber or by a pharmacy). It also includes orders for over-the-counter medications (e.g. Aspirin), total parenteral nutrition and diet/ vitamin supplements. It may be used to support the order of medication-related devices. It is not intended for use in prescribing particular diets, or for ordering non-medication-related items (eyeglasses, supplies, etc.). In addition, the MedicationRequest may be used to report orders/request from external systems that have been reported for informational purposes and are not authoritative and are not expected to be acted upon (e.g. dispensed or administered).
Josh Mandel (Jun 06 2019 at 21:01):
Yes, "not taken" medications can appear on the active medication list for many reasons. As David said, PRN is one specific reason, but it really applies to any and all active orders.
I understand the use case of PRN meds, and of documenting non-compliance. I'm just struggling to understand what might be an implicit approach to modeling these things -- normally, I'd think a PRN med would be documented on the active list, with a dosage indicating Dosage.asNeeded; and a medication that the patient misses sometimes/often/always would be documented on their active list, with additional resources to capture information about the fact that they sometimes/often/always/just-on-tuesdays skip a dose.
Josh Mandel (Jun 06 2019 at 21:01):
I understand that this information about missed doses, or general non-compliance is important, and needs to be documented and saved. What I'm unclear about is why this latter information would be part of the "active medication list".
Lloyd McKenzie (Jun 06 2019 at 22:23):
If you don't differentiate these different OTC records and don't have anything that would differentiate and say "hey, I'm actually an order" (such as a prescriber, prescription number, dispense authorization information, dispense records, etc.) that you want to expose, then all of that information can show up in MedicationStatement. But the full-blown non-OTC orders you have would still need to show up as MedicationRequest rather than MedicaitonStatement because you're going to need to expose things like prescribers, authorized quantity, etc. I.e. you're going to have two separate resources.
Michelle (Moseman) Miller (Jun 06 2019 at 22:47):
On the last Argonaut call, a couple vendors said that implementing MedStatement is a lower priority if we can use MedRequest exclusively to get active meds. We need MedRequest to convey "active medication orders" that have a MedStatement.status = not-taken. To Josh's point, most use cases just want the active meds list and don't care about the MedStatement.status (of not-taken), which is why some of the Argonaut vendors are prioritizing MedRequest above MedStatement.
Lloyd McKenzie (Jun 07 2019 at 00:16):
You can get active meds with just MedicationStatement - but you can't get any prescription details. You can't get all active meds with MedicationRequest because not all meds will be prescriptions.
Josh Mandel (Jun 07 2019 at 02:01):
I'm fundamentally confused about
We need MedRequest to convey "active medication orders" that have a MedStatement.status = not-taken.
That doesn't sound like the only way to model (partial) non-adherence. There are a lot of nuanced things we might want to say about adherence, none of which detract from the fact that a medication belongs on someone's active list with the status of active.
Grahame Grieve (Jun 07 2019 at 05:10):
Catching up on this:
Using both MedicationStatement and MedicationRequest introduces patient safety risk if an application made a false assumption that all active medications were returned from a single resource.
Applications can make false assumptions in sorts of directions in this area. I think that we should not make false assumptions more likely in other regards in order to minimise this one - and this is clearly an area where we have real potential for confusion, from reading the thread.
I'm concerned that no one from the pharmacy committee are part of this discussion. @Melva Peters @John Hatem @Jean Duteau @Scott Robertson ?
Note that we can, if it helps, define a single query that returns all the appropriate medication request and statements - defining that in the argonaut spec could be very clarifying - and since it's signature is quite distinct, you could automatically check that an app was using the combined query or not
Richard Townley-O'Neill (Jun 07 2019 at 05:16):
MedicationRequest does not have a way to say "not taken". (Nor should it.) So the Argonaut proposal leaves no way to record "not taken".
If Argonaut has no requirement to record "not take", just exclude "not taken" from the Argonaut-permitted values for MedicationStatement.status and keep using MedicationStatement.
Eric Haas (Jun 07 2019 at 05:54):
We had several sessions with Pharmacy. I sat in on the Montreal session. Brett on several before then. We have to rewrite the guide to reflect the real world decisions by US Vendor community to implement meds in R4 FHIR. I don't see or hear any realistic alternatives that have not already been discussed. Michelle is providing a CYA service here so that there is less of a din when its published.
Richard Townley-O'Neill (Jun 07 2019 at 06:48):
This thread makes it seem like Argonaut want to avoid using MedicationStatement and are using the "not taken" element as an excuse.
Jenni Syed (Jun 07 2019 at 13:12):
If you as an app sees MedStatement with "notTaken" - how do you know if they are going to continue taking it? It's active? It's suspended?
Jenni Syed (Jun 07 2019 at 13:13):
there's no way to represent all of that in MedStatement anymore (there use to be, before notTaken became a status and not its own field in MedStatement)
Lloyd McKenzie (Jun 07 2019 at 14:47):
If you see a MedStatement with "not taken", then it's a med that they're not taking at all (and have no known intention of ever starting). It would generally be record of a med that decision support or good practice would suggest they should be taking but, for whatever reason, they're not. MedicationStatement doesn't imply anything at all about what's prescribed/authorized. The problem is that there are two distinct concepts in EMRs - proper prescriptions and "other meds" and argonaut is trying to cram them into a single resource. That's not going to work well because they have very different purposes.
Jenni Syed (Jun 07 2019 at 15:06):
That wasn't the representation of the previous not taken - Med Statement represents a single moment in time. IE: at the time they spoke to the doc, they weren't taking it
Jenni Syed (Jun 07 2019 at 15:07):
Med statement cannot currently represent the granularity that compliance needs to represent the difference between that and "never taking/no intent"
Jenni Syed (Jun 07 2019 at 15:07):
EG: if they've temporarily suspended it for some reason (and might start taking, or may decide the cost is no longer as much of a barrier due to new insurance... etc), there is no way to say that vs. never
Jenni Syed (Jun 07 2019 at 15:08):
@Lloyd McKenzie I think one of the things being missed or ignored is that many systems do NOT make the differentiation b/t meds you are taking OTC b/c you decided you needed it vs a doctor telling you or formally prescribing it but in another system/country/etc
Jenni Syed (Jun 07 2019 at 15:08):
IE: the distinction you're trying to make isn't one a system may be capable of making
Lloyd McKenzie (Jun 07 2019 at 15:11):
It's totally fine to capture meds a doctor outside the system has prescribed as MedicationStatement - so long as you're willing to toss information related to the authorization. In fact, if you're willing to toss information about authorization, you can even expose information about your own prescriptions via MedicationStatement. However, you can't talk about compliance if you're not dealing with MedicationRequest because there's no expectation/authorization to be compliant 'to'. One MedicationStatement could cover a period of 10+ years over which there could have been 20 prescriptions. Or none.
Lloyd McKenzie (Jun 07 2019 at 15:12):
The problem that we hit with MedicationStatement was that there was a desire to capture order/authorization type information in it. Once you're in that space you need to supplement (not replace) with MedicationRequest.
Josh Mandel (Jun 07 2019 at 15:13):
It's concerning to me that even among the very-well-informed crowd here, there's really not a consistent understanding of the semantics of these resources, statuses, elements, etc. We have quite a lot of resources in this space, which means a lot of expressive capability (likely too much for us to arrive at a common understanding).
Josh Mandel (Jun 07 2019 at 15:14):
So I do think whatever simplifications / consistency Argonaut can agree to here would be a big help.
Josh Mandel (Jun 07 2019 at 15:18):
Things I'd like to see addressed, if it's not too late:
1) Can we establish that "sometimes I don't take X" is a statement that's important, but the statement itself is not part of a patient's "active medication list" (though X may be a part of the patient's active list).
2) Can we clarify that "one API call" vs "2+ API calls" is not a requirement for safe application behavior? (Or if a single API call is seen as a requirement, let's just define a custom operation with all the semantics we can agree to baked in -- like, /Patient/:id/$argonaut-active-med-details
: "return a Bundle with all statements and requests that are considered relevant for understanding the patient's active meds")
Jenni Syed (Jun 07 2019 at 15:38):
Josh - for #1 there's a tracker for R5 that is adding a more "compliance-like" field to Med statement
eg: taking as prescribe, not currently taking, no plans etc
Lloyd McKenzie (Jun 07 2019 at 15:39):
Would compliance not be tracked against something that's actually ordered?
Jenni Syed (Jun 07 2019 at 15:40):
for #2, so far in argonaut, I'm not sure if there are systems that can make the differentiation that Lloyd is calling out as necessary in med req (and it's not clear from the definition that was the intent, which will be another hole we need to close).
Jenni Syed (Jun 07 2019 at 15:41):
@Lloyd McKenzie yes, it would be called out against an order placed and authorized in the existing system but not requests we know about for meds outside the system that may have been rx/ordered/not OTC
Jenni Syed (Jun 07 2019 at 15:41):
in our system :)
Jenni Syed (Jun 07 2019 at 15:43):
@Michelle (Moseman) Miller or @Andrew Torres correct me if I'm wrong... I'm trying to remember how the historical/patient reported workflows work
Lloyd McKenzie (Jun 07 2019 at 15:43):
Ok. But if you're capturing compliance information, that implies that you know: a) that it was ordered; b) enough information about the expected dosing to be able to assess compliance. Is that information captured in discrete form (so that you could differentiate and say 'this is definitely an order') as opposed to a record that someone takes garlic twice a day for which no conformance statement is appropriate/relevant (because no one told them to take it at all, let alone how much)?
Jenni Syed (Jun 07 2019 at 15:43):
I thought they just modified the patient reported orders (also, a lot of this depends a great deal on how much info the patient gives you)
Jenni Syed (Jun 07 2019 at 15:44):
We can differentiate between things physicians ordered or prescribed in our system vs. things patients told us were prescribed or they decided they took
Jenni Syed (Jun 07 2019 at 15:44):
we cannot differentiate reliably between things a patient told me they were prescribed by physician X that are prescriptions vs things that they took
Lloyd McKenzie (Jun 07 2019 at 15:45):
Ok - then why are you capturing compliance information about those things?
Jenni Syed (Jun 07 2019 at 15:45):
b/c someone randomly told them it was a good idea (eg: my physician saying, find a good Vitamin D supplement vs them writing an rx for that)
Jenni Syed (Jun 07 2019 at 15:45):
I'm not
Jenni Syed (Jun 07 2019 at 15:46):
I'm capturing compliance about the things ordered and prescribed in my system, and then the list of meds the patient is taking from outside (either another doc or their own choice) so that I can safely determine "active meds" and do clinical checking against that list
Lloyd McKenzie (Jun 07 2019 at 15:46):
Ok. I'm not hearing an issue with "things ordered in my system = MedicationRequest", "things not ordered in my system (possibly ordered elsewhere, possibly not ordered at all) = MedicationStatement"
Lloyd McKenzie (Jun 07 2019 at 15:47):
Is there an issue with that division?
Jenni Syed (Jun 07 2019 at 15:47):
I'm now looking to pharmacy to clarify, but I thought that the whole reason we added patient reported to med req was to capture those other things in there
Jenni Syed (Jun 07 2019 at 15:47):
Otherwise I have no idea why the idea of "reported" and "patient source" exists in that resource
Jenni Syed (Jun 07 2019 at 15:48):
and all of this was partially driven by the long and fun conversations around the "not taken" status on med statement, so this was the recommendation that I thought we were given to resolve that issue
Lloyd McKenzie (Jun 07 2019 at 15:49):
Ok, lets chat about "not-taken" wrt medications "from outside" - We have a MedicationStatement.status of "notTaken". Is that insufficient? (And if so, how?)
Jenni Syed (Jun 07 2019 at 15:49):
(we in that case being pharmacy and argonaut stake holders)
Jenni Syed (Jun 07 2019 at 15:50):
I think Michelle's summary at the top calls this challenge out
Jenni Syed (Jun 07 2019 at 15:50):
Med statement is a single instance in time
Jenni Syed (Jun 07 2019 at 15:50):
Just because you're "not taking" something currently does not mean it's not active
Jenni Syed (Jun 07 2019 at 15:51):
in prior versions of med statement, you could say notTaken = y/n/unknown
Jenni Syed (Jun 07 2019 at 15:51):
and also have a status of "active" "completed" "stopped" etc
Jenni Syed (Jun 07 2019 at 15:51):
So active and "not taking" means I'm not currently taking it (but could in the future, might have recently)
Lloyd McKenzie (Jun 07 2019 at 15:52):
Right. So the issue is that you want to say "They're not taking this external medication, but I still want it in the active list" - but you don't want a List resource that lets you maintain which non-taken stuff should appear in the active list and which shouldn't.
Jenni Syed (Jun 07 2019 at 15:52):
that is no longer possible to represent after pharm was told to move not taken to status
Jenni Syed (Jun 07 2019 at 15:52):
How about this:
Jenni Syed (Jun 07 2019 at 15:52):
What is "reported" and the patient source intended to represent in med req?
Jenni Syed (Jun 07 2019 at 15:52):
let's ignore active med list for now
Jenni Syed (Jun 07 2019 at 15:53):
When am I as a system expected to use that?
Lloyd McKenzie (Jun 07 2019 at 15:54):
It's intended to represent "this is an actual order created somewhere and I've received enough information about the 'order' aspect (e.g. how much was authorized, where it's to be dispensed, etc.) that I actually want to track that capturing it just as a statement isn't sufficient. (E.g. I want to record compliance information against an order that isn't 'mine' because I'm helping to manage the patient's care and their compliance with their psychiatrist-prescribed meds is still a concern for me as their GP.)
Lloyd McKenzie (Jun 07 2019 at 15:56):
Your system might have received that information by querying or receiving a push from another system or through a patient's PHR. In some cases, the patient might have brought in a copy of the prescription or their pill bottles which provide enough information (e.g. dispenses remaining).
Jenni Syed (Jun 07 2019 at 16:00):
Our system doesn't currently make that distinction - ie, if the nurse looked at a pill bottle and has enough to be confident
Jenni Syed (Jun 07 2019 at 16:00):
I'm curious if there are systems out there that do
Jenni Syed (Jun 07 2019 at 16:00):
And that wasn't really the usage as described by the pharmacy WG
Jenni Syed (Jun 07 2019 at 16:01):
Our system may not capture compliance of another systems orders (still looking for some other confirmation that I'm not nuts there) but it does use those for clinical/interaction checking logic
Jenni Syed (Jun 07 2019 at 16:01):
So we do assume it's relatively accurate. IE: that the patient is a pretty good and reliable source of information
Lloyd McKenzie (Jun 07 2019 at 16:10):
If you're not capturing authorization-type information (remaining dispenses, days supply, compliance) with external meds, then there's no real reason to use MedicationRequest.
Lloyd McKenzie (Jun 07 2019 at 16:13):
From an "in the active list or not", what should show up in the active list is going to be business-rule driven. Some not-taken meds (whether local or external) meds should be in the active list for some period of time - possibly a long period of time. Others, not. Neither MedicationRequest nor MedicationStatement have any flags about whether they should appear in the (an?) Active Medication List because the expectation was that if you're getting to the point of actively managing what should appear on the list vs. not, that the List resource would be used.
Michelle (Moseman) Miller (Jun 07 2019 at 16:43):
For external meds (including OTC), we are capturing a request status of sorts (separate from the compliance status of taken or not) -- We determine the active meds list based on request status -- not compliance status. That is what pushed us to use MedicationRequest following the breakfast in Cologne with Melva, Lloyd, and I, which is when we learned we shouldn't be using an event status (i.e. MedicationStatement.status) to convey the request status. Request status is what drives it being on the active meds list. Would it be possible to meetup at FHIR DevDays to discuss in person? It might be more efficient than Zulip.
John Hatem (Jun 07 2019 at 19:02):
Well I won't be at FHIR Dev Days, and not sure about other Pharmacy Co-Chairs, so keep us informed. I have read the entire Active Medications chat. To me there are several questions we need clear answers for: How to differentiate/represent Medication orders that are authorized ( use Medication Request); How to capture Medication orders that come from outside of my control ( I didn't authorize them, but I know about them) (I thought this was Medication Statement but after the above discussion I don't know); How to represent patient or other persons statements about my taking or not taking a medication ( I believe this is a Medication Statement); How to query for the Active Medications for a patient, where Active Medications has meaning that can be described by the Argonaut folks? ( I thought this was a combined query for both Med Requests and Med Statements); How to query for Active Medications for a patient, where the Active Medication has meaning different than what Argonaut uses e.g. what are the active meds for the patient as reported by the patient ( I believe this is a list of Medication Statements); you will notice I have not used the word "compliance" I think this is the area where we have the most difficulty and warrant further discussion. I need a clear definition of compliance.
Josh Mandel (Jun 10 2019 at 15:25):
@Michelle (Moseman) Miller is doing an active medications pop-up session today at 4:40p at DevDays
Michelle (Moseman) Miller (Jun 11 2019 at 03:06):
By way of an update following the pop-up session today at DevDays, we covered much of what was already discussed above. Our primary conclusion was that Argonaut / US Core IGs should add a disclaimer to indicate that the discussions are still occurring, such that the decisions for the R4 IG are subject to change in subsequent releases (e.g. R5).
Brett Marquard (Jun 12 2019 at 19:03):
Fun. Did the outcome of the pop-up match your proposal 75+ zulips ago :sunglasses:
Last updated: Apr 12 2022 at 19:14 UTC