Stream: implementers
Topic: Antithrombotic Therapy Not Given
Bryn Rhodes (Oct 22 2021 at 20:50):
We have a need to represent Antithrombotic Therapy Not Given at Discharge, among other negative statements, in two different ways:
1) A specific drug was not prescribed
2) None of the drugs from a given value set were prescribed
For the first case, it's straightforward to represent as a particular Coding, but for the second case, we're not sure. We initially used the valueset-reference
extension, but that's not quite right, so we are now proposing to do something like this:
{
"doNotPerform": true,
"medicationCodeableConcept": {
"coding": [
{
"system": "urn:ietf:rfc:3986",
"code": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201",
"display": "Antithrombotic Therapy value set"
}
]
}
}
Any thoughts on whether that's a reasonable approach? Other suggestions on how best to model this?
@Grahame Grieve @Robert McClure
Gay Dolin (Oct 22 2021 at 21:27):
Isn't this saying "Don't give any med on this value set"?
Jean Duteau (Oct 22 2021 at 21:29):
Yes, Gay is right - doNotPerform says that this order is saying not to give the medicationCode. That's different than saying that this drug wasn't prescribed.
Gay Dolin (Oct 22 2021 at 21:31):
Is there a way to say, "this drug (or no drugs in this set) wasn't/were not prescribed?
Bryn Rhodes (Oct 22 2021 at 21:35):
Yes, prospectively that's what it says, but if you're looking at the record after the fact, it's documentation that the drug was not prescribed for a particular reason (I didn't include the status reason in the snippet, but it's typically because of a contraindication or a patient refusal or something like that).
Jean Duteau (Oct 22 2021 at 21:40):
i'm not sure I agree - the semantics are close but different:
I am ordering you not to take this because of this reason
vs
I did not order you to take this because of this reason
Jean Duteau (Oct 22 2021 at 21:41):
in any case, back to your original question - that's a novel way of using the value set as a code for a set of medications. But I'm not sure that it will be understood by many receivers.
Lloyd McKenzie (Oct 22 2021 at 22:25):
The existence of an order to not do something in no way guarantees that it wasn't done anyhow...
This smells to me like Observation. "As of this date, I declare that (to the best of my knowledge) the following actions did not happen during period of time X". 5 minutes later, you might not be able to make that same statement.
Jose Costa Teixeira (Oct 23 2021 at 03:31):
I think I remember being advised that MedicationUsage would cover this
Jean Duteau (Oct 23 2021 at 03:40):
no, MedUsage can say that you didn't take something, but not that it wasn't ordered for you
Grahame Grieve (Oct 23 2021 at 10:51):
so there's two different issues here - one is the way to capture the negation correctly, and the other is about using Coding in this way. No one else has taken this up, so I'm going to comment about this part.
Grahame Grieve (Oct 23 2021 at 10:57):
My first reaction was pretty negative because it's just so left field. I don't believe I've ever heard anything like this proposed in any other context in the time I've been in HL7. So:
- it's technically permissable - all value sets are a concept in the space of 'things identified by URLs' so there's no question that this is a valid coding.
- It's totally surprising to anyone used to any kind of HL7 content. Doing subsumption testing with the kind of codes you might be interested in will totally fail
- given that US core has an extensible binding to RxNorm, and this value set is a set of RxNorm codes, I'm finding it head bending to try and figure out whether this Coding shown above is "If there is no applicable concept in value set, an alternate concept may be used instead". Perhaps we can at least say, "a set of RxNorm codes is not in the set of RxNorm codes" - I think?
- for sure this will catch the validator out - it won't know what to do with that. I think. Did you test that?
- I'm supposing that this is an underlying pattern that will happen with negation - to modulate the meaning of the code, but I don't believe I've heard discussion about this before? This should be referred to MnM (I think) but we don't want to hold up this publication for that discussion, of course.
Jose Costa Teixeira (Oct 24 2021 at 22:10):
Lloyd McKenzie said:
The existence of an order to not do something in no way guarantees that it wasn't done anyhow...
This smells to me like Observation. "As of this date, I declare that (to the best of my knowledge) the following actions did not happen during period of time X". 5 minutes later, you might not be able to make that same statement.
What you are calling an observation seems similar to the scenario I asked @Melva Peters at the time: Patient declares that they were prescribed drug X, and declares that they were dispensed drug X, and they swear they didn't take drug X.
Jose Costa Teixeira (Oct 24 2021 at 22:12):
I don't know if I got the indication right, but IIRC we discussed (in a chat, not sure if it was in a WG meeting) the idea was to use MedStatement.
Jose Costa Teixeira (Oct 24 2021 at 22:14):
The negation can apply to "didn't take the drug" but it can also be used for "wasn't ordered to do that".
Jose Costa Teixeira (Oct 24 2021 at 22:18):
In my view, there are 3 things that seem orthogonal:
- the workflow steps (what we're talking about - whether it was ordered? or it's about whether it was taken)
- a statement vs the actual document (i.e. "I took the drug" vs an actual MedAdmin)
- the negation ("I affirm that I took the drug" or "I don't confirm (or I deny) that I took the drug")
Jose Costa Teixeira (Oct 24 2021 at 22:20):
The first bullet point is well handled in FHIR Medication. For the other 2, I don't think the separation is that clear.
I think this should be handled in a simple way to give the 20% a decent chance.
Bryn Rhodes (Oct 25 2021 at 17:44):
On using Coding in this way, if we created a different extension, say a "notDoneValueSet" that was applicable on a CodeableConcept and allowed us to say what value set of things weren't done, is that the right way to model this? Would the tooling and/or implementers be able to deal with that more easily?
Grahame Grieve (Oct 25 2021 at 18:42):
the tooling yes, but the implementers are more important. Would it be better for them? Probably?
Bryn Rhodes (Oct 25 2021 at 23:14):
We will be meeting with USCore editors on a call on Thursday morning (10:00 ET) to discuss this along with the USCore variances we've requested, call details here: https://www.hl7.org/concalls/CallDetails.cfm?concall=58560
Robert McClure (Oct 25 2021 at 23:23):
It will be an interesting discussion, the advantage of the approach where a value set url is the code in a coding is that this is essentially exactly what was done in QDM-based QRDA so the ability to align here in FHIR would be nice. I understand it looks odd to many of you but it is essentially what we have already done in valueset.compose if we claim conformance with "All things in a value set are codes from a code system" as long as that requirement extends to the compose part versus only the expand part.
Lloyd McKenzie (Oct 25 2021 at 23:47):
Looking at this differently, let's say your activity definition said not only "do one of the procedures from valueset X", but also said "do it to this body part and do it in this time range". When you're wanting to say "I did not do", are you wanting to only assert the bit about the value set, or do you really just want to say "I did not do this definitional thingy"? My suspicion is the latter.
Lloyd McKenzie (Oct 25 2021 at 23:48):
If you want to say "I didn't do this definitional thingy", then I think you omit the code entirely and just point to the definition.
Robert McClure (Oct 25 2021 at 23:52):
I think another aspect of this needs to be clarified. This use of the value set url as a code is meant to be just like the use of a code from a code system - as the representation of the idea that value set represents, not the expansion of codes you could get. Yes they are related and that is important but the use means I have not done any of the alternatives described by the meaning of the value set. In that way this functions very much like a code. But I also understand that the system of URI's is a big messy thing that no tool could ever conformance test, but I think that could be acceptable; the only tooling that needs to understand the instance with one of these will know to be looking for specific uri's and ignore the system anyway.
Eric Haas (Oct 26 2021 at 00:22):
Bryn Rhodes said:
We will be meeting with USCore editors on a call on Thursday morning (10:00 ET) to discuss this along with the USCore variances we've requested, call details here: https://www.hl7.org/concalls/CallDetails.cfm?concall=58560
this bit is not in question for the US Core variance as it "in addition to" We are interested in the use case and whether the "NotDone"s can be extended direactly from USCore/QICore
Lloyd McKenzie (Oct 26 2021 at 01:21):
I'm uncomfortable with the idea that a 'valueset' represents a 'concept'.
Robert McClure (Oct 26 2021 at 13:21):
@Lloyd McKenzie What is the negative consequences of representing a valuesset scope as a concept? Seems all the push back is simply because this is a new way for some of you to think about it. While not the same, we did this for years as concept domains, (which is a different discussion than this, but one we should have!)
Bryn Rhodes (Oct 26 2021 at 13:34):
On the question of whether we want to say "I didn't do this thingy" or "I didn't do any of these", we have both use cases. Whether other additional information about the activity is relevant depends on the clinical intent (i.e. if the body site is an important part of the activity, then it will be part of the negative statement as well)
Lloyd McKenzie (Oct 26 2021 at 13:42):
We haven't defined ValueSet as having a conceptual meaning, so treating it as though it does is problematic. Also, the terminology machinery isn't going to work - can't query the display name or definition (and no 'definition text can ever exist even if you could query it), can't do subsumption testing. Also the 'system' of "any URI" would be an exceedingly ill-behaved codesystem where meaning is not consistent and there is no 'versioning' of the system.
Gay Dolin (Oct 26 2021 at 14:49):
The terminology machinery worked back when this same method was used in HQMF and QDM based HQMF
Grahame Grieve (Oct 26 2021 at 18:22):
@Gay Dolin not sure we can say much about the terminology machinery back then, when everything was hand written.
@Robert McClure the concern for me is that it's not clear how this relates to the definition of the element, or the definition of extensible value sets. It's fine for a concept to refer to a value set, but it needs to do so in a way that meets the applicable definitions
Last updated: Apr 12 2022 at 19:14 UTC